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', | 
