summaryrefslogtreecommitdiff
path: root/ishtar/ishtar_base
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/ishtar_base')
-rw-r--r--ishtar/ishtar_base/forms.py52
-rw-r--r--ishtar/ishtar_base/forms_operations.py6
-rw-r--r--ishtar/ishtar_base/models.py6
3 files changed, 26 insertions, 38 deletions
diff --git a/ishtar/ishtar_base/forms.py b/ishtar/ishtar_base/forms.py
index 01b1b9dfd..608e54739 100644
--- a/ishtar/ishtar_base/forms.py
+++ b/ishtar/ishtar_base/forms.py
@@ -108,9 +108,7 @@ class Wizard(NamedUrlSessionFormWizard):
modification = None # True when the wizard modify an item
def get_wizard_name(self):
- """
- As the class name can interfere when reused, use the url_name
- """
+ """As the class name can interfere when reused, use the url_name"""
return self.url_name
def get_template(self, request, storage):
@@ -122,9 +120,7 @@ class Wizard(NamedUrlSessionFormWizard):
return templates
def get_template_context(self, request, storage, form=None):
- """
- Add previous, next and current steps to manage the wizard path
- """
+ """Add previous, next and current steps to manage the wizard path"""
context = super(Wizard, self).get_template_context(request, storage,
form)
step = self.get_first_step(request, storage)
@@ -184,9 +180,7 @@ class Wizard(NamedUrlSessionFormWizard):
return context
def get_formated_datas(self, forms):
- """
- Get the data to present in the last page
- """
+ """Get the data to present in the last page"""
datas = []
for form in forms:
form_datas = []
@@ -255,9 +249,7 @@ class Wizard(NamedUrlSessionFormWizard):
return dct
def done(self, request, storage, form_list, return_object=False, **kwargs):
- """
- Save to the model
- """
+ """Save to the model"""
dct, m2m, whole_associated_models = {}, [], []
for form in form_list:
if not form.is_valid():
@@ -326,15 +318,11 @@ class Wizard(NamedUrlSessionFormWizard):
storage, form_list, return_object)
def get_saved_model(self):
- """
- Permit a distinguo when saved model is not the base selected model
- """
+ """Permit a distinguo when saved model is not the base selected model"""
return self.model
def get_current_saved_object(self, request, storage):
- """
- Permit a distinguo when saved model is not the base selected model
- """
+ """Permit a distinguo when saved model is not the base selected model"""
return self.get_current_object(request, storage)
def save_model(self, dct, m2m, whole_associated_models, request, storage,
@@ -439,9 +427,7 @@ class Wizard(NamedUrlSessionFormWizard):
return return_object and (obj, res) or res
def get_deleted(self, keys):
- """
- Get the deleted and non-deleted items in formsets
- """
+ """Get the deleted and non-deleted items in formsets"""
not_to_delete, to_delete = set(), set()
for key in keys:
items = key.split('-')
@@ -461,9 +447,7 @@ class Wizard(NamedUrlSessionFormWizard):
return (to_delete, not_to_delete)
def get_form(self, request, storage, step=None, data=None, files=None):
- """
- Manage formset
- """
+ """Manage formset"""
if data:
data = data.copy()
if not step:
@@ -527,9 +511,7 @@ class Wizard(NamedUrlSessionFormWizard):
**kwargs)
def process_post_request(self, request, storage, *args, **kwargs):
- """
- Convert numerical step number to step name
- """
+ """Convert numerical step number to step name"""
post_data = request.POST.copy()
if request.POST.has_key('form_prev_step'):
try:
@@ -541,10 +523,10 @@ class Wizard(NamedUrlSessionFormWizard):
request.POST = post_data
return super(Wizard, self).process_post_request(request, storage, *args,
**kwargs)
+
@classmethod
def session_has_key(cls, request, storage, form_key, key=None, multi=None):
- """
- Check if the session has value of a specific form and (if provided)
+ """Check if the session has value of a specific form and (if provided)
of a key
"""
test = storage.prefix in request.session \
@@ -559,9 +541,7 @@ class Wizard(NamedUrlSessionFormWizard):
@classmethod
def session_get_value(cls, request, storage, form_key, key, multi=False):
- """
- Get the value of a specific form
- """
+ """Get the value of a specific form"""
if not cls.session_has_key(request, storage, form_key, key, multi):
return
if not multi:
@@ -576,9 +556,7 @@ class Wizard(NamedUrlSessionFormWizard):
return vals
def get_current_object(self, request, storage):
- """
- Get the current object for an instancied wizard
- """
+ """Get the current object for an instancied wizard"""
current_obj = None
main_form_key = 'selec-' + self.url_name
try:
@@ -619,9 +597,7 @@ class Wizard(NamedUrlSessionFormWizard):
return super(Wizard, self).get_form_initial(request, storage, step)
def get_instanced_init(self, obj, request, storage, step=None):
- """
- Get initial data from an init
- """
+ """Get initial data from an init"""
current_step = step or storage.get_current_step() \
or self.get_first_step(request, storage)
c_form = self.form_list[current_step]
diff --git a/ishtar/ishtar_base/forms_operations.py b/ishtar/ishtar_base/forms_operations.py
index 17df6ac4a..f5bad9b58 100644
--- a/ishtar/ishtar_base/forms_operations.py
+++ b/ishtar/ishtar_base/forms_operations.py
@@ -305,6 +305,12 @@ class OperationFormPreventive(forms.Form):
cost = forms.IntegerField(label=_(u"Cost (€)"), required=False)
operator_reference = forms.CharField(label=_(u"Operator reference"),
required=False, max_length=20)
+ scheduled_man_days = forms.IntegerField(label=_(u"Scheduled man-days"),
+ required=False)
+ optional_man_days = forms.IntegerField(label=_(u"Optional man-days"),
+ required=False)
+ effective_man_days = forms.IntegerField(label=_(u"Effective man-days"),
+ required=False)
if settings.COUNTRY == 'fr':
fnap_financing = forms.FloatField(required=False,
label=u"Pourcentage de financement FNAP",
diff --git a/ishtar/ishtar_base/models.py b/ishtar/ishtar_base/models.py
index 6921b3284..c8f088ab8 100644
--- a/ishtar/ishtar_base/models.py
+++ b/ishtar/ishtar_base/models.py
@@ -1357,6 +1357,12 @@ class Operation(BaseHistorizedItem, OwnPerms):
towns = models.ManyToManyField("Town", verbose_name=_(u"Towns"))
cost = models.IntegerField(_(u"Cost (€)"), blank=True, null=True)
periods = models.ManyToManyField('Period', verbose_name=_(u"Periods"))
+ scheduled_man_days = models.IntegerField(_(u"Scheduled man-days"),
+ blank=True, null=True)
+ optional_man_days = models.IntegerField(_(u"Optional man-days"),
+ blank=True, null=True)
+ effective_man_days = models.IntegerField(_(u"Effective man-days"),
+ blank=True, null=True)
if settings.COUNTRY == 'fr':
code_patriarche = models.IntegerField(u"Code PATRIARCHE", null=True,
blank=True)