1. 27 Aug, 2013 1 commit
  2. 26 Aug, 2013 9 commits
  3. 25 Aug, 2013 1 commit
  4. 23 Aug, 2013 4 commits
  5. 22 Aug, 2013 4 commits
  6. 20 Aug, 2013 2 commits
  7. 17 Aug, 2013 3 commits
  8. 16 Aug, 2013 1 commit
    • Florian Sachs's avatar
      Support Mass-delete with multiple pks · 1c7b8137
      Florian Sachs authored
      `contrib.sqla.view.ModelView.action_delete()` now is able to mass-delete models with multiple primary keys. Therefore, two new helper functions has been introduced in `contribg.sqla.tools`:
      
      * `tuple_operator_in()` that fakes the `sqlalchemy.tuple_` operator for engines, that do not support the `tuple_` operator. (like sqlite)
      * `get_query_for_ids()` that returns a query, object that contains all objects identified by the `ids`.
      
      Both functions have docstrings with more information.
      
      The logic of the `action_delete()` did not change, as for objects with a single primary key, the codepath did not change at all.
      1c7b8137
  9. 14 Aug, 2013 11 commits
  10. 13 Aug, 2013 4 commits
    • Florian Sachs's avatar
      Multiple Primary keys for sqla backend · 0ee9e4cb
      Florian Sachs authored
      Flask-Admin can now handle multiple primary keys to some extent. `get_primary_key()` and `get_pk_value()` where the simple, but important changes. When building the url in `list.html` via `url_for` a url with multiple `&id=x&id=y` is built. As the order as preserved and the request args are from type `werkzeug.datastructures.MultiDict`, the multiple PKs can be grabbed in the correct order an push into `get_one()` which actually has no problems with multiple keys, as sqlalchemy's `query.get()` works exactely in this way.
      
      * `contrib.sqla.tools.get_primary_key()` returns a tuple of all primary keys, if there are more than one PKs
      * `contrib.sqla.view.get_pk_value()` returns a tuple with the values of all primary keys, if there are more than one PKs
      * `model.helper.get_mdict_item_or_list()` return the single item of a given MultiDict for the given key or the whole list of items, if there are more than one.
      * `model.base.BaseModelView.[edit_view|delete_view]` can work with a single *id* or multiple ones, by using `get_mdict_item_or_list()`
      * New option `form_excluded_pk_columns_from_unique_validation` for `model.base.BaseModelView` including docstring.
      * Option is evaluated in `contrib.sqla.form.AdminModelConverter.()`
      
      Tests and documentation is included. An example file showing the feature is in `sqla/examples/multiplepk.py`
      
      The changes itself are very small, although it took me hours to go there - the MultiDict saved me! I will change my app I am currently working on to multiple primary keys this week and will push updates if necessary.
      0ee9e4cb
    • Serge S. Koval's avatar
      Merge pull request #282 from janxyz/docstring · f414e59a
      Serge S. Koval authored
      Fix example in column_type_formatters docstring
      f414e59a
    • Serge S. Koval's avatar
      Merge pull request #280 from sumpfgottheit/sqla_inheritance_primary_key · 6ddbfc79
      Serge S. Koval authored
      process inherited primary keys correctly
      6ddbfc79
    • Jan Runge's avatar
      2c1ec57d