This commit is contained in:
Ludovic Stephan 2017-02-05 03:42:02 -02:00
parent 1d5e693045
commit b404c989ff

View file

@ -1095,6 +1095,7 @@ def kpsul_perform_operations(request):
consumers.KPsul.group_send('kfet.kpsul', websocket_data)
return JsonResponse(data)
@teamkfet_required
def kpsul_cancel_operations(request):
# Pour la réponse
@ -1142,10 +1143,14 @@ def kpsul_cancel_operations(request):
required_perms = set()
stop_all = False
cancel_duration = Settings.CANCEL_DURATION()
to_accounts_balances = defaultdict(lambda:0) # Modifs à faire sur les balances des comptes
to_groups_amounts = defaultdict(lambda:0) # ------ sur les montants des groupes d'opé
to_checkouts_balances = defaultdict(lambda:0) # ------ sur les balances de caisses
to_articles_stocks = defaultdict(lambda:0) # ------ sur les stocks d'articles
# Modifs à faire sur les balances des comptes
to_accounts_balances = defaultdict(lambda: 0)
# ------ sur les montants des groupes d'opé
to_groups_amounts = defaultdict(lambda: 0)
# ------ sur les balances de caisses
to_checkouts_balances = defaultdict(lambda: 0)
# ------ sur les stocks d'articles
to_articles_stocks = defaultdict(lambda: 0)
for ope in opes_all:
if ope.canceled_at:
# Opération déjà annulée, va pour un warning en Response
@ -1176,7 +1181,8 @@ def kpsul_cancel_operations(request):
# par `.save()`, amount_error est recalculé automatiquement,
# ce qui n'est pas le cas en faisant un update sur queryset
# TODO ? : Maj les balance_old de relevés pour modifier l'erreur
last_statement = (CheckoutStatement.objects
last_statement = \
(CheckoutStatement.objects
.filter(checkout=ope.group.checkout)
.order_by('at')
.last())
@ -1321,6 +1327,7 @@ def kpsul_cancel_operations(request):
data['warnings']['already_canceled'] = already_canceled
return JsonResponse(data)
@login_required
def history_json(request):
# Récupération des paramètres
@ -1356,11 +1363,12 @@ def history_json(request):
queryset=transfer_queryset_prefetch,
to_attr='filtered_transfers')
# Construction de la requête principale
opegroups = (OperationGroup.objects
opegroups = (
OperationGroup.objects
.prefetch_related(ope_prefetch)
.select_related('on_acc__trigramme', 'valid_by__trigramme')
.select_related('on_acc__trigramme',
'valid_by__trigramme')
.order_by('at')
)
@ -1368,7 +1376,8 @@ def history_json(request):
TransferGroup.objects
.prefetch_related(transfer_prefetch)
.select_related('valid_by__trigramme')
.order_by('at'))
.order_by('at')
)
# Application des filtres
if from_date:
@ -1388,7 +1397,6 @@ def history_json(request):
if not request.user.has_perm('kfet.is_team'):
opegroups = opegroups.filter(on_acc=request.user.profile.account_kfet)
# Construction de la réponse
opegroups_list = []
for opegroup in opegroups:
@ -1437,9 +1445,9 @@ def history_json(request):
}
if request.user.has_perm('kfet.is_team'):
transfergroup_dict['valid_by__trigramme'] = (
transfergroup.valid_by
and transfergroup.valid_by.trigramme
or None)
transfergroup.valid_by and
transfergroup.valid_by.trigramme or
None)
for transfer in transfergroup.filtered_transfers:
transfer_dict = {
@ -1451,9 +1459,9 @@ def history_json(request):
}
if request.user.has_perm('kfet.is_team'):
transfer_dict['canceled_by__trigramme'] = (
transfer.canceled_by
and transfer.canceled_by.trigramme
or None)
transfer.canceled_by and
transfer.canceled_by.trigramme or
None)
transfergroup_dict['opes'].append(transfer_dict)
opegroups_list.append(transfergroup_dict)
@ -1527,6 +1535,7 @@ def transfers_create(request):
return render(request, 'kfet/transfers_create.html',
{ 'transfer_formset': transfer_formset })
@teamkfet_required
def perform_transfers(request):
data = {'errors': {}, 'transfers': [], 'transfergroup': 0}
@ -1534,13 +1543,16 @@ def perform_transfers(request):
# Checking transfer_formset
transfer_formset = TransferFormSet(request.POST)
if not transfer_formset.is_valid():
return JsonResponse({ 'errors': list(transfer_formset.errors)}, status=400)
return JsonResponse({'errors': list(transfer_formset.errors)},
status=400)
transfers = transfer_formset.save(commit=False)
# Initializing vars
required_perms = set(['kfet.add_transfer']) # Required perms to perform all transfers
to_accounts_balances = defaultdict(lambda:0) # For balances of accounts
# Required perms to perform all transfers
required_perms = set(['kfet.add_transfer'])
# For balances of accounts
to_accounts_balances = defaultdict(lambda: 0)
for transfer in transfers:
to_accounts_balances[transfer.from_acc] -= transfer.amount
@ -1589,8 +1601,8 @@ def perform_transfers(request):
negative = AccountNegative(
account=account, start=timezone.now())
negative.save()
elif (hasattr(account, 'negative')
and not account.negative.balance_offset):
elif (hasattr(account, 'negative') and
not account.negative.balance_offset):
account.negative.delete()
# Saving transfer group