diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-04-01 01:01:48 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-04-01 01:01:48 +0200 |
commit | 4f7f666a02de6612e04e5c5026d6b3724750d7dd (patch) | |
tree | 19b2b93f8897b10bbb3806e23763c2973ca00498 | |
parent | a45d0254f019892df95fe8b892cb57ff3eda057c (diff) | |
download | Ishtar-4f7f666a02de6612e04e5c5026d6b3724750d7dd.tar.bz2 Ishtar-4f7f666a02de6612e04e5c5026d6b3724750d7dd.zip |
Distinct administrative act for Operations and Files in session management (closes #209)
-rw-r--r-- | ishtar/furnitures/forms.py | 67 | ||||
-rw-r--r-- | ishtar/furnitures/menus.py | 12 | ||||
-rw-r--r-- | ishtar/furnitures/urls.py | 40 | ||||
-rw-r--r-- | ishtar/furnitures/views.py | 12 |
4 files changed, 72 insertions, 59 deletions
diff --git a/ishtar/furnitures/forms.py b/ishtar/furnitures/forms.py index b79142ea4..37d4d8af7 100644 --- a/ishtar/furnitures/forms.py +++ b/ishtar/furnitures/forms.py @@ -550,7 +550,12 @@ class Wizard(NamedUrlSessionFormWizard): request, storage) c_form = self.form_list[current_step] # make the current object the default item for the session - request.session[obj.__class__.__name__.lower()] = unicode(obj.pk) + obj_name = obj.__class__.__name__.lower() + # prefer a specialized name if available + prefixes = storage.prefix.split('_') + if len(prefixes) > 1 and prefixes[-2].startswith(obj_name): + obj_name = prefixes[-2] + request.session[obj_name] = unicode(obj.pk) initial = {} if hasattr(c_form, 'base_fields'): for base_field in c_form.base_fields.keys(): @@ -1289,7 +1294,7 @@ class AdministrativeActFileFormSelection(forms.Form): associated_models = {'pk':models.AdministrativeAct} currents = {'pk':models.AdministrativeAct} pk = forms.IntegerField(label="", required=False, - widget=widgets.JQueryJqGrid(reverse_lazy('get-administrativeact'), + widget=widgets.JQueryJqGrid(reverse_lazy('get-administrativeactfile'), AdministrativeActFileSelect(), models.AdministrativeAct, table_cols='TABLE_COLS_FILE'), validators=[models.valid_id(models.AdministrativeAct)]) @@ -1318,26 +1323,26 @@ class FinalAdministrativeActDeleteForm(FinalForm): confirm_msg = " " confirm_end_msg = _(u"Would you like to delete this administrative act?") -file_administrativeact_wizard = FileAdministrativeActWizard([ - ('selec-file_administrativeact', FileFormSelection), - ('administrativeact-file_administrativeact', AdministrativeActForm), - ('final-file_administrativeact', FinalForm)], - url_name='file_administrativeact',) +file_administrativeactfile_wizard = FileAdministrativeActWizard([ + ('selec-file_administrativeactfile', FileFormSelection), + ('administrativeact-file_administrativeactfile', AdministrativeActForm), + ('final-file_administrativeactfile', FinalForm)], + url_name='file_administrativeactfile',) -file_administrativeact_modification_wizard = FileEditAdministrativeActWizard([ - ('selec-file_administrativeact_modification', +file_administrativeactfile_modification_wizard = FileEditAdministrativeActWizard([ + ('selec-file_administrativeactfile_modification', AdministrativeActFileFormSelection), - ('administrativeact-file_administrativeact_modification', + ('administrativeact-file_administrativeactfile_modification', AdministrativeActForm), - ('final-file_administrativeact_modification', FinalForm)], - url_name='file_administrativeact_modification',) + ('final-file_administrativeactfile_modification', FinalForm)], + url_name='file_administrativeactfile_modification',) -file_administrativeact_deletion_wizard = AdministrativeActDeletionWizard([ - ('selec-file_administrativeact_deletion', +file_administrativeactfile_deletion_wizard = AdministrativeActDeletionWizard([ + ('selec-file_administrativeactfile_deletion', AdministrativeActFileFormSelection), - ('final-file_administrativeact_deletion', + ('final-file_administrativeactfile_deletion', FinalAdministrativeActDeleteForm)], - url_name='file_administrativeact_deletion',) + url_name='file_administrativeactfile_deletion',) class OperationWizard(FileWizard): model = models.Operation @@ -1748,7 +1753,7 @@ class AdministrativeActOpeSelect(forms.Form): class AdministrativeActOpeFormSelection(AdministrativeActFileFormSelection): pk = forms.IntegerField(label="", required=False, - widget=widgets.JQueryJqGrid(reverse_lazy('get-administrativeact'), + widget=widgets.JQueryJqGrid(reverse_lazy('get-administrativeactop'), AdministrativeActOpeSelect(), models.AdministrativeAct, table_cols='TABLE_COLS_OPE'), validators=[models.valid_id(models.AdministrativeAct)]) @@ -1758,27 +1763,27 @@ class AdministrativeActOpeForm(AdministrativeActForm): act_type = forms.ChoiceField(label=_("Act type"), choices=models.ActType.get_types(dct={'intented_to':'O'})) -operation_administrativeact_wizard = OperationAdministrativeActWizard([ - ('selec-operation_administrativeact', OperationFormSelection), - ('administrativeact-operation_administrativeact', AdministrativeActOpeForm), - ('final-operation_administrativeact', FinalForm)], - url_name='operation_administrativeact',) +operation_administrativeactop_wizard = OperationAdministrativeActWizard([ + ('selec-operation_administrativeactop', OperationFormSelection), + ('administrativeact-operation_administrativeactop', AdministrativeActOpeForm), + ('final-operation_administrativeactop', FinalForm)], + url_name='operation_administrativeactop',) -operation_administrativeact_modification_wizard = \ +operation_administrativeactop_modification_wizard = \ OperationEditAdministrativeActWizard([ - ('selec-operation_administrativeact_modification', + ('selec-operation_administrativeactop_modification', AdministrativeActOpeFormSelection), - ('administrativeact-operation_administrativeact_modification', + ('administrativeact-operation_administrativeactop_modification', AdministrativeActOpeForm), - ('final-operation_administrativeact_modification', FinalForm)], - url_name='operation_administrativeact_modification',) + ('final-operation_administrativeactop_modification', FinalForm)], + url_name='operation_administrativeactop_modification',) -operation_administrativeact_deletion_wizard = AdministrativeActDeletionWizard([ - ('selec-operation_administrativeact_deletion', +operation_administrativeactop_deletion_wizard = AdministrativeActDeletionWizard([ + ('selec-operation_administrativeactop_deletion', AdministrativeActOpeFormSelection), - ('final-operation_administrativeact_deletion', + ('final-operation_administrativeactop_deletion', FinalAdministrativeActDeleteForm)], - url_name='operation_administrativeact_deletion',) + url_name='operation_administrativeactop_deletion',) class RecordWizard(Wizard): model = models.Operation diff --git a/ishtar/furnitures/menus.py b/ishtar/furnitures/menus.py index bedcd2fb8..55c11a97c 100644 --- a/ishtar/furnitures/menus.py +++ b/ishtar/furnitures/menus.py @@ -115,15 +115,15 @@ class Menu: access_controls=['delete_file', 'delete_own_file']), SectionItem('admin_act_files', _(u"Administrative act"), childs=[ - MenuItem('file_administrativeact', + MenuItem('file_administrativeactfile', _(u"Add"), model=models.Operation, access_controls=['change_file', 'change_own_file']), - MenuItem('file_administrativeact_modification', + MenuItem('file_administrativeactfile_modification', _(u"Modification"), model=models.AdministrativeAct, access_controls=['change_file', 'change_own_file']), - MenuItem('file_administrativeact_deletion', + MenuItem('file_administrativeactfile_deletion', _(u"Deletion"), model=models.AdministrativeAct, access_controls=['delete_file', 'delete_own_file']), @@ -154,17 +154,17 @@ class Menu: SectionItem('admin_act_operations', _(u"Administrative act"), childs=[ - MenuItem('operation_administrativeact', + MenuItem('operation_administrativeactop', _(u"Add"), model=models.Operation, access_controls=['change_operation', 'change_own_operation']), - MenuItem('operation_administrativeact_modification', + MenuItem('operation_administrativeactop_modification', _(u"Modification"), model=models.AdministrativeAct, access_controls=['change_operation', 'change_own_operation']), - MenuItem('operation_administrativeact_deletion', + MenuItem('operation_administrativeactop_deletion', _(u"Deletion"), model=models.AdministrativeAct, access_controls=['operation_deletion', diff --git a/ishtar/furnitures/urls.py b/ishtar/furnitures/urls.py index 0cf3c5b9f..e0a12d365 100644 --- a/ishtar/furnitures/urls.py +++ b/ishtar/furnitures/urls.py @@ -40,14 +40,14 @@ urlpatterns = patterns('', ishtar_forms.file_modification_wizard, name='file_modification'), url(BASE_URL + r'file_deletion/(?P<step>.+)$', ishtar_forms.file_deletion_wizard, name='file_deletion'), - url(BASE_URL + r'file_administrativeact/(?P<step>.+)$', - ishtar_forms.file_administrativeact_wizard, name='file_administrativeact'), - url(BASE_URL + r'file_administrativeact_modification/(?P<step>.+)$', - ishtar_forms.file_administrativeact_modification_wizard, - name='file_administrativeact_modification'), - url(BASE_URL + r'file_administrativeact_deletion/(?P<step>.+)$', - ishtar_forms.file_administrativeact_deletion_wizard, - name='file_administrativeact_deletion'), + url(BASE_URL + r'file_administrativeactfile/(?P<step>.+)$', +ishtar_forms.file_administrativeactfile_wizard, name='file_administrativeactfile'), + url(BASE_URL + r'file_administrativeactfile_modification/(?P<step>.+)$', + ishtar_forms.file_administrativeactfile_modification_wizard, + name='file_administrativeactfile_modification'), + url(BASE_URL + r'file_administrativeactfile_deletion/(?P<step>.+)$', + ishtar_forms.file_administrativeactfile_deletion_wizard, + name='file_administrativeactfile_deletion'), url(BASE_URL + r'operation_search/(?P<step>.+)$', ishtar_forms.operation_search_wizard, name='operation_search'), url(BASE_URL + r'operation_creation/(?P<step>.+)$', @@ -58,15 +58,15 @@ urlpatterns = patterns('', ishtar_forms.operation_closing_wizard, name='operation_closing'), url(BASE_URL + r'operation_deletion/(?P<step>.+)$', ishtar_forms.operation_deletion_wizard, name='operation_deletion'), - url(BASE_URL + r'operation_administrativeact/(?P<step>.+)$', - ishtar_forms.operation_administrativeact_wizard, - name='operation_administrativeact'), - url(BASE_URL + r'operation_administrativeact_modification/(?P<step>.+)$', - ishtar_forms.operation_administrativeact_modification_wizard, - name='operation_administrativeact_modification'), - url(BASE_URL + r'operation_administrativeact_deletion/(?P<step>.+)$', - ishtar_forms.operation_administrativeact_deletion_wizard, - name='operation_administrativeact_deletion'), + url(BASE_URL + r'operation_administrativeactop/(?P<step>.+)$', + ishtar_forms.operation_administrativeactop_wizard, + name='operation_administrativeactop'), + url(BASE_URL + r'operation_administrativeactop_modification/(?P<step>.+)$', + ishtar_forms.operation_administrativeactop_modification_wizard, + name='operation_administrativeactop_modification'), + url(BASE_URL + r'operation_administrativeactop_deletion/(?P<step>.+)$', + ishtar_forms.operation_administrativeactop_deletion_wizard, + name='operation_administrativeactop_deletion'), url(BASE_URL + r'record_search/(?P<step>.+)$', ishtar_forms.record_search_wizard, name='record_search'), url(BASE_URL + r'record_creation/(?P<step>.+)$', @@ -123,8 +123,10 @@ urlpatterns += patterns('ishtar.furnitures.views', name='show-contextrecord'), url(BASE_URL + r'update-current-item/$', 'update_current_item', name='update-current-item'), - url(BASE_URL + r'get-administrativeact/(?P<type>.+)?$', - 'get_administrativeact', name='get-administrativeact'), + url(BASE_URL + r'get-administrativeactfile/(?P<type>.+)?$', + 'get_administrativeactfile', name='get-administrativeactfile'), + url(BASE_URL + r'get-administrativeactop/(?P<type>.+)?$', + 'get_administrativeactop', name='get-administrativeactop'), url(BASE_URL + r'get-contextrecord/(?P<type>.+)?$', 'get_contextrecord', name='get-contextrecord'), url(BASE_URL + r'get-item/(?P<type>.+)?$', 'get_archaeologicalitem', diff --git a/ishtar/furnitures/views.py b/ishtar/furnitures/views.py index 2ea508b29..c3b7f6f4e 100644 --- a/ishtar/furnitures/views.py +++ b/ishtar/furnitures/views.py @@ -375,10 +375,16 @@ def autocomplete_operation(request, non_closed=True): get_operation = get_item(models.Operation, 'get_operation', 'operation') show_operation = show_item(models.Operation, 'operation') -get_administrativeact = get_item(models.AdministrativeAct, - 'get_administrativeact', 'administrativeact', +get_administrativeactfile = get_item(models.AdministrativeAct, + 'get_administrativeactfile', 'administrativeactfile', extra_request_keys={'associated_file__towns':'associated_file__towns__pk', - 'operation__towns':'operation__towns__pk'}) + 'operation__towns':'operation__towns__pk', + 'act_type__intented_to':'act_type__intented_to'}) +get_administrativeactop = get_item(models.AdministrativeAct, + 'get_administrativeactop', 'administrativeactop', + extra_request_keys={'associated_file__towns':'associated_file__towns__pk', + 'operation__towns':'operation__towns__pk', + 'act_type__intented_to':'act_type__intented_to'}) def autocomplete_organization(request, orga_type=None): if not request.user.has_perm('furnitures.view_organization', |