summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit4f7f666a02de6612e04e5c5026d6b3724750d7dd (patch)
tree19b2b93f8897b10bbb3806e23763c2973ca00498
parenta45d0254f019892df95fe8b892cb57ff3eda057c (diff)
downloadIshtar-4f7f666a02de6612e04e5c5026d6b3724750d7dd.tar.bz2
Ishtar-4f7f666a02de6612e04e5c5026d6b3724750d7dd.zip
Distinct administrative act for Operations and Files in session management (closes #209)
-rw-r--r--ishtar/furnitures/forms.py67
-rw-r--r--ishtar/furnitures/menus.py12
-rw-r--r--ishtar/furnitures/urls.py40
-rw-r--r--ishtar/furnitures/views.py12
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',