diff options
-rw-r--r-- | archaeological_warehouse/forms.py | 5 | ||||
-rw-r--r-- | archaeological_warehouse/urls.py | 2 | ||||
-rw-r--r-- | ishtar_common/views_item.py | 4 | ||||
-rw-r--r-- | ishtar_common/widgets.py | 15 |
4 files changed, 15 insertions, 11 deletions
diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py index cadfaaee1..125adb2b5 100644 --- a/archaeological_warehouse/forms.py +++ b/archaeological_warehouse/forms.py @@ -278,9 +278,8 @@ class ContainerForm(CustomForm, ManageOldType, forms.Form): label=_("Parent container"), widget=widgets.JQueryAutoComplete( reverse_lazy('autocomplete-container'), - associated_model=models.Container, new=True, - tips="-" - ), + associated_model=models.Container, + dynamic_limit=['location']), validators=[valid_id(models.Container)], required=False ) diff --git a/archaeological_warehouse/urls.py b/archaeological_warehouse/urls.py index 0285d292f..14c957a26 100644 --- a/archaeological_warehouse/urls.py +++ b/archaeological_warehouse/urls.py @@ -51,7 +51,7 @@ urlpatterns = [ url(r'get-warehouse-shortcut/(?P<type>.+)?$', views.get_warehouse, name='get-warehouse-shortcut', kwargs={'full': 'shortcut'}), - url(r'autocomplete-container/(?P<warehouse_id>\d+)?$', + url(r'autocomplete-container/(?P<warehouse_id>\d+)?(?:/)?$', views.autocomplete_container, name='autocomplete-container'), url(r'^show-container(?:/(?P<pk>.+))?/(?P<type>.+)?$', views.show_container, name=models.Container.SHOW_URL), diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index 587c8e998..97745921d 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -141,9 +141,9 @@ def check_permission(request, action_slug, obj_id=None): request.user, session=request.session) -def new_qa_item(model, frm, many=False): +def new_qa_item(model, frm, many=False, + template="ishtar/forms/qa_new_item.html"): def func(request, parent_name, limits=''): - template = "ishtar/forms/qa_new_item.html" model_name = model._meta.object_name if not check_permission(request, 'add_' + model_name.lower()): not_permitted_msg = ugettext("Operation not permitted.") diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index df0d09764..9483f9719 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -645,11 +645,16 @@ class JQueryAutoComplete(forms.TextInput): source = "'" + str(self.source) + "'" except: raise ValueError('source type is not valid') - dynamic_limit = [ - 'id_' + lim.replace('_', '') + '-' + - '-'.join(field_id.split('-')[1:-1]) + '-' + lim - for lim in self.dynamic_limit - ] + dynamic_limit = [] + for lim in self.dynamic_limit: + field_ids = field_id.split('-') + if field_ids[1:-1]: + dynamic_limit.append( + 'id_' + lim.replace('_', '') + '-' + + '-'.join(field_ids[1:-1]) + '-' + lim) + else: + dynamic_limit.append('id_' + lim.replace('_', '')) + dct = {'source': mark_safe(source), 'field_id': field_id, 'safe_field_id': field_id.replace("-", "_"), |