class PosteForm(forms.ModelForm):
""" Formulaire des postes. """
+
+ responsable=AutoCompleteSelectField('responsables', required=True)
+ #responsable = forms.ModelChoiceField(
+ # queryset=rh.Poste.objects.select_related(depth=1))
+
+ # La liste des choix est laissée vide. Voir __init__ pour la raison.
+ poste = forms.ChoiceField(label="Nouveau poste ou évolution du poste",
+ choices=(), required=False)
+
+ valeur_point_min = forms.ModelChoiceField(queryset=rh.ValeurPoint.actuelles.all(), required=False)
+ valeur_point_max = forms.ModelChoiceField(queryset=rh.ValeurPoint.actuelles.all(), required=False)
class Meta:
#devise_max=forms.Select(attrs={'disabled':'disabled'}),
)
- responsable=AutoCompleteSelectField('responsables', required=True)
- #responsable = forms.ModelChoiceField(
- # queryset=rh.Poste.objects.select_related(depth=1))
-
- # La liste des choix est laissée vide. Voir __init__ pour la raison.
- poste = forms.ChoiceField(label="Nouveau poste ou évolution du poste",
- choices=(), required=False)
-
- valeur_point_min = forms.ModelChoiceField(queryset=rh.ValeurPoint.actuelles.all(), required=False)
- valeur_point_max = forms.ModelChoiceField(queryset=rh.ValeurPoint.actuelles.all(), required=False)
-
def __init__(self, *args, **kwargs):
""" Mise à jour dynamique du contenu du menu des postes.
try:
return rh.TauxChange.objects.filter(implantation=self.implantation, devise=self.devise_min)[0].taux
except:
- return 1
+ raise Exception('Taux indisponible pour la devise %s (%s)' % (self.devise_min, self.implantation))
def get_couts_minimum_euros(self):
return self.get_couts_minimum() * self.get_taux_minimum()
try:
return rh.TauxChange.objects.filter(implantation=self.implantation, devise=self.devise_max)[0].taux
except:
- return 1
+ raise Exception('Taux indisponible pour la devise %s (%s)' % (self.devise_max, self.implantation))
def get_couts_maximum_euros(self):
return self.get_couts_maximum() * self.get_taux_maximum()
+
+ def show_taux_minimum(self):
+ try:
+ return self.get_taux_minimum()
+ except Exception, e:
+ return e
+
+ def show_couts_minimum_euros(self):
+ try:
+ return self.get_couts_minimum_euros()
+ except Exception, e:
+ return e
+
+ def show_taux_maximum(self):
+ try:
+ return self.get_taux_maximum()
+ except Exception, e:
+ return e
+
+ def show_couts_maximum_euros(self):
+ try:
+ return self.get_couts_maximum_euros()
+ except Exception, e:
+ return e
+
+
######################
# Comparaison de poste
######################
{{ form.salaire_min.errors }}
</td>
<td><span class="devise_code">EUR</span></td>
- <td>{{ form.indemn_min }}</td>
+ <td>{{ form.indemn_min }} {{ form.indemn_min.errors }}</td>
<td><span class="devise_code">EUR</span></td>
- <td>{{ form.autre_min }}</td>
+ <td>{{ form.autre_min }} {{ form.autre_min.errors }}</td>
<td><span class="devise_code">EUR</span></td>
<td id="total_min" class="total-devise cell-nombre">0.00</td>
<td><span class="devise_code">EUR</span></td>
{{ form.salaire_max.errors }}
</td>
<td><span class="devise_code">EUR</span></td>
- <td>{{ form.indemn_max }}</td>
+ <td>{{ form.indemn_max }} {{ form.indemn_max.errors }}</td>
<td><span class="devise_code">EUR</span></td>
- <td>{{ form.autre_max }}</td>
+ <td>{{ form.autre_max }} {{ form.autre_max.errors }}</td>
<td><span class="devise_code">EUR</span></td>
<td id="total_max" class="total-devise cell-nombre">0.00</td>
<td><span class="devise_code">EUR</span></td>
<td class="montant">{{ poste.salaire_min|floatformat:0 }} {{ poste.devise_min.code }}</td>
<td class="montant">{{ poste.indemn_min|floatformat:0 }} {{ poste.devise_min.code }}</td>
<td class="montant">{{ poste.autre_min|floatformat:0 }} {{ poste.devise_min.code }}</td>
- <td class="montant">{{ poste.get_couts_minimum|floatformat:0 }} {{ poste.devise_min.code }}</td>
- <td>{{ poste.get_taux_minimum }}</td>
- <td class="montant">{{ poste.get_couts_minimum_euros|floatformat:0 }} EUR</td>
+ <td class="montant">{{ poste.show_couts_minimum|floatformat:0 }} {{ poste.devise_min.code }}</td>
+ <td>{{ poste.show_taux_minimum }}</td>
+ <td class="montant">{{ poste.show_couts_minimum_euros|floatformat:0 }} EUR</td>
</tr>
<tr>
<th>Maximum</th>
<td class="montant">{{ poste.salaire_max|floatformat:0 }} {{ poste.devise_max.code }}</td>
<td class="montant">{{ poste.indemn_max|floatformat:0 }} {{ poste.devise_max.code }}</td>
<td class="montant">{{ poste.autre_max|floatformat:0 }} {{ poste.devise_max.code }}</td>
- <td class="montant">{{ poste.get_couts_maximum|floatformat:0 }} {{ poste.devise_max.code }}</td>
- <td>{{ poste.get_taux_maximum }}</td>
- <td class="montant">{{ poste.get_couts_maximum_euros|floatformat:0 }} EUR</td>
+ <td class="montant">{{ poste.show_couts_maximum|floatformat:0 }} {{ poste.devise_max.code }}</td>
+ <td>{{ poste.show_taux_maximum }}</td>
+ <td class="montant">{{ poste.show_couts_maximum_euros|floatformat:0 }} EUR</td>
</tr>
</tbody>
</table>