Ajout des majorations (type concert)

- Ajout des paramètres (modèle Settings) "ADDCOST_AMOUNT" et
  "ADDCOST_FOR" indiquant respectivement le montant et le compte sur lequel
  compter la majoration. Définir l'un de ces paramètres à NULL indique
  qu'il n'y a pas de majoration en cours
- Prise en compte de ces 2 paramètres lors de la validation et
  l'enregistrement d'opérations d'achat (Operation.PURCHASE) dans K-Psul
- Modification du champ "addcost_amount" de Operation. S'il n'y a pas de
  majoration, celui-ci est NULL.
- Correction sur l'enregistrement de "valid_by" dans K-Psul. Celui-ci
  était systématiquement rempli par l'utilisateur connecté ce qui
  n'était pas le comportement souhaité. Il est maintenant rempli
  seulement si une permission autre que kfet.is_team était nécessaire
  pour valider la commande.
- Suppression d'une exception non utilisée dans le modèle Settings
This commit is contained in:
Aurélien Delobelle 2016-08-08 02:50:04 +02:00
parent 03aa26e34f
commit 11452d7633
4 changed files with 87 additions and 12 deletions

View file

@ -415,7 +415,7 @@ class Operation(models.Model):
blank = True, null = True, default = None)
addcost_amount = models.DecimalField(
max_digits = 6, decimal_places = 2,
default = 0)
blank = True, null = True, default = None)
class GlobalPermissions(models.Model):
class Meta:
@ -434,6 +434,9 @@ class Settings(models.Model):
value_decimal = models.DecimalField(
max_digits = 6, decimal_places = 2,
blank = True, null = True, default = None)
value_account = models.ForeignKey(
Account, on_delete = models.PROTECT,
blank = True, null = True, default = None)
@staticmethod
def setting_inst(name):
@ -446,6 +449,16 @@ class Settings(models.Model):
except Settings.DoesNotExist:
return 0
class SettingsError(Exception):
def __init__(self, msg):
self.msg = msg
@staticmethod
def ADDCOST_AMOUNT():
try:
return Settings.setting_inst("ADDCOST_AMOUNT").value_decimal
except Settings.DoesNotExist:
return 0
@staticmethod
def ADDCOST_FOR():
try:
return Settings.setting_inst("ADDCOST_FOR").value_account
except Settings.DoesNotExist:
return None;