diff options
Diffstat (limited to 'ishtar_common/views.py')
| -rw-r--r-- | ishtar_common/views.py | 9 | 
1 files changed, 8 insertions, 1 deletions
| diff --git a/ishtar_common/views.py b/ishtar_common/views.py index c03870935..961ff680c 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -188,7 +188,7 @@ HIERARCHIC_FIELDS = ['periods', 'period', 'unit', 'material_type',  PRIVATE_FIELDS = ('id', 'history_modifier', 'order')  def get_item(model, func_name, default_name, extra_request_keys=[],              base_request={}, bool_fields=[], reversed_bool_fields=[], -            dated_fields=[]): +            dated_fields=[], associated_models=[]):      """      Generic treatment of tables      """ @@ -202,6 +202,13 @@ def get_item(model, func_name, default_name, extra_request_keys=[],          request_keys = dict([(field.name,              field.name + (hasattr(field, 'rel') and field.rel and '__pk' or ''))                                  for field in fields]) +        for associated_model, key in associated_models: +            associated_fields = [associated_model._meta.get_field_by_name(k)[0] +                          for k in associated_model._meta.get_all_field_names()] +            request_keys.update(dict([(key + "__" + field.name, +                key + "__" + field.name + (hasattr(field, 'rel') and +                                           field.rel and '__pk' or '')) +                                            for field in associated_fields]))          request_keys.update(extra_request_keys)          request_items = request.method == 'POST' and request.POST or request.GET          dct = base_request.copy() | 
