diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-06-11 11:59:00 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-28 12:15:20 +0100 |
commit | 4ea9e96c0644b0986b1cf9d6b833f5bc3a175e94 (patch) | |
tree | 1e11e1946254e74e7c30140368c1736e3668c282 | |
parent | ff317a39a65ccd2c919ece5f0923d04712f4a3c4 (diff) | |
download | Ishtar-4ea9e96c0644b0986b1cf9d6b833f5bc3a175e94.tar.bz2 Ishtar-4ea9e96c0644b0986b1cf9d6b833f5bc3a175e94.zip |
New container: parent container search dependency (refs #4936) - remove + button for parent (refs #4937)
-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("-", "_"), |