Candidate_update

This commit is contained in:
alazo 2017-10-16 11:56:28 +02:00
commit 3340fa2368
7 changed files with 21 additions and 14 deletions

2
.gitignore vendored
View file

@ -2,4 +2,4 @@
database.db
common/local_settings.py
scripts/epcstages.json
.idea/*
.idea/*.*

View file

@ -14,6 +14,7 @@ urlpatterns = [
url(r'^attribution/$', views.AttributionView.as_view(), name='attribution'),
url(r'^stages/export/(?P<scope>all)?/?$', views.stages_export, name='stages_export'),
url(r'^imputations/export/$', views.imputations_export, name='imputations_export'),
url(r'^institutions/$', views.CorporationListView.as_view(), name='corporations'),
url(r'^institutions/(?P<pk>\d+)/$', views.CorporationView.as_view(), name='corporation'),

BIN
media/img/header.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View file

@ -352,6 +352,7 @@ class CandidateAdmin(admin.ModelAdmin):
}),
)
admin.site.register(Section)
admin.site.register(Level)
admin.site.register(Klass, KlassAdmin)

View file

@ -5,7 +5,7 @@ from datetime import date, timedelta
from django.conf import settings
from django.db import models
from collections import OrderedDict
from . import utils
@ -408,9 +408,10 @@ class Course(models.Model):
public = models.CharField("Classe(s)", max_length=200, default='')
subject = models.CharField("Sujet", max_length=100, default='')
period = models.IntegerField("Nb de périodes", default=0)
# Imputation comptable: compte dans lequel les frais du cours seront imputés
imputation = models.CharField("Imputation", max_length=10, choices=IMPUTATION_CHOICES)
imputation = models.CharField("Imputation", max_length=10, default='', blank=True)
class Meta:
verbose_name = 'Cours'

View file

@ -186,3 +186,4 @@ class UpdateDataFormPDF(SimpleDocTemplate):
def is_instr_required(self, klass_name):
return any(el in klass_name for el in ['FE', 'EDS'])

View file

@ -399,6 +399,7 @@ class HPImportView(ImportViewBase):
'NOMPERSO_DIP': 'public',
'TOTAL': 'period',
}
# Mapping between klass field and imputation
account_categories = {
'ASAFE': 'ASAFE',
@ -438,14 +439,15 @@ class HPImportView(ImportViewBase):
}
obj, created = Course.objects.get_or_create(
teacher=defaults['teacher'],
subject=defaults['subject'],
public=defaults['public'])
teacher = defaults['teacher'],
subject = defaults['subject'],
public = defaults['public'])
period = int(float(line['TOTAL']))
if created:
obj.period = period
obj_created += 1
for k, v in self.account_categories.items():
if k in obj.public:
obj.imputation = v
@ -553,6 +555,12 @@ EXPORT_FIELDS = [
('Courriel contact - copie', None),
]
IMPUTATIONS_EXPORT_FIELDS = [
'Nom', 'Prénom', 'Report passé', 'Ens', 'Discipline', \
'Accomp.', 'Discipline', 'Total payé', 'Indice', 'Taux', 'Report futur', \
'ASA', 'ASSC', 'ASE', 'MP', 'EDEpe', 'EDEps', 'EDS', 'CAS-FPP', 'Direction'
]
NON_ATTR_EXPORT_FIELDS = [
('Filière', 'period__section__name'),
@ -660,13 +668,6 @@ def stages_export(request, scope=None):
return response
IMPUTATIONS_EXPORT_FIELDS = [
'Nom', 'Prénom', 'Report passé', 'Ens', 'Discipline',
'Accomp.', 'Discipline', 'Total payé', 'Indice', 'Taux', 'Report futur',
'ASA', 'ASSC', 'ASE', 'MP', 'EDEpe', 'EDEps', 'EDS', 'CAS_FPP', 'Direction'
]
def imputations_export(request):
wb = Workbook()
ws = wb.active
@ -690,6 +691,7 @@ def imputations_export(request):
ws.cell(row=row_idx, column=9).value = 'Charge globale'
ws.cell(row=row_idx, column=10).value = '{0:.2f}'.format(activities['tot_paye']/21.50)
ws.cell(row=row_idx, column=11).value = teacher.next_report
col_idx = 12
for k, v in imputations.items():
ws.cell(row=row_idx, column=col_idx).value = v
@ -860,4 +862,5 @@ def ortra_export(request):
response = HttpResponse(save_virtual_workbook(wb), content_type=openxml_contenttype)
response['Content-Disposition'] = 'attachment; filename=%s%s.xlsx' % (
'ortra_export_', date.strftime(date.today(), '%Y-%m-%d'))
return response
return response