summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ishtar/furnitures/forms.py39
-rw-r--r--ishtar/furnitures/menus.py8
-rw-r--r--ishtar/furnitures/urls.py6
3 files changed, 46 insertions, 7 deletions
diff --git a/ishtar/furnitures/forms.py b/ishtar/furnitures/forms.py
index 57f1c2d05..447b79694 100644
--- a/ishtar/furnitures/forms.py
+++ b/ishtar/furnitures/forms.py
@@ -975,6 +975,8 @@ class FileClosingWizard(Wizard):
else:
value = unicode(value)
res[field.name] = (field.verbose_name, value, '')
+ if not datas and self.fields:
+ datas = [['', []]]
for field in self.fields:
if field in res:
datas[0][1].append(res[field])
@@ -1107,6 +1109,22 @@ class AdministrativeActFileFormSelection(forms.Form):
" act."))
return cleaned_data
+class AdministrativeActDeletionWizard(FileClosingWizard):
+ model = models.AdministrativeAct
+ fields = ['act_type', 'in_charge', 'operator', 'scientific', 'signatory',
+ 'operation', 'associated_file', 'signature_date', 'act_object',]
+ if settings.COUNTRY == 'fr':
+ fields += ['ref_sra']
+
+ def done(self, request, storage, form_list, **kwargs):
+ obj = self.get_current_object(request, storage)
+ obj.delete()
+ return render_to_response('wizard_done.html', {},
+ context_instance=RequestContext(request))
+
+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),
@@ -1122,6 +1140,13 @@ file_administrativeact_modification_wizard = FileEditAdministrativeActWizard([
('final-file_administrativeact_modification', FinalForm)],
url_name='file_administrativeact_modification',)
+file_administrativeact_deletion_wizard = AdministrativeActDeletionWizard([
+ ('selec-file_administrativeact_deletion',
+ AdministrativeActFileFormSelection),
+ ('final-file_administrativeact_deletion',
+ FinalAdministrativeActDeleteForm)],
+ url_name='file_administrativeact_deletion',)
+
class OperationWizard(Wizard):
model = models.Operation
@@ -1267,13 +1292,6 @@ class OperationFormSelection(forms.Form):
raise forms.ValidationError(_(u"You should select an operation."))
return cleaned_data
- """
- pk = forms.IntegerField(label=_("Operation"),
- widget=widgets.JQueryAutoComplete(reverse_lazy('autocomplete-operation'),
- associated_model=models.Operation),
- validators=[models.valid_id(models.Operation)])
-"""
-
class OperationFormGeneral(forms.Form):
form_label = _("General")
associated_models = {'in_charge':models.Person,
@@ -1554,3 +1572,10 @@ operation_administrativeact_modification_wizard = \
AdministrativeActOpeForm),
('final-operation_administrativeact_modification', FinalForm)],
url_name='operation_administrativeact_modification',)
+
+operation_administrativeact_deletion_wizard = AdministrativeActDeletionWizard([
+ ('selec-operation_administrativeact_deletion',
+ AdministrativeActOpeFormSelection),
+ ('final-operation_administrativeact_deletion',
+ FinalAdministrativeActDeleteForm)],
+ url_name='operation_administrativeact_deletion',)
diff --git a/ishtar/furnitures/menus.py b/ishtar/furnitures/menus.py
index 26028db8a..ab7715903 100644
--- a/ishtar/furnitures/menus.py
+++ b/ishtar/furnitures/menus.py
@@ -92,6 +92,10 @@ class Menu:
_(u"Modify an administrative act"),
model=models.AdministrativeAct,
access_controls=['change_file', 'change_own_file']),
+ MenuItem('file_administrativeact_deletion',
+ _(u"Delete an administrative act"),
+ model=models.AdministrativeAct,
+ access_controls=['delete_file', 'delete_own_file']),
]),
SectionItem('operation_management', _(u"Operation management"),
childs=[
@@ -115,6 +119,10 @@ class Menu:
_(u"Modify an administrative act"),
model=models.AdministrativeAct,
access_controls=['change_operation', 'change_own_operation']),
+ MenuItem('operation_administrativeact_deletion',
+ _(u"Delete an administrative act"),
+ model=models.AdministrativeAct,
+ access_controls=['operation_deletion', 'delete_own_operation']),
]),
]
self.items = {}
diff --git a/ishtar/furnitures/urls.py b/ishtar/furnitures/urls.py
index de3a24799..09ff7efa2 100644
--- a/ishtar/furnitures/urls.py
+++ b/ishtar/furnitures/urls.py
@@ -43,6 +43,9 @@ urlpatterns = patterns('',
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'operation_creation/(?P<step>.+)$',
ishtar_forms.operation_creation_wizard, name='operation_creation'),
url(BASE_URL + r'operation_modification/(?P<step>.+)$',
@@ -57,6 +60,9 @@ urlpatterns = patterns('',
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'),
)
for section in menu.childs:
for menu_item in section.childs: