From 888ba56c5a5d689e4fa1084538c0c3d47594c4c3 Mon Sep 17 00:00:00 2001 From: Yoan Le Clanche Date: Thu, 25 Feb 2021 14:28:05 +0100 Subject: [PATCH] WIP --- teleforma/admin.py | 11 +- teleforma/forms.py | 411 ++-- teleforma/last_stable.txt | 1 - teleforma/locale/en/LC_MESSAGES/django.mo | Bin 13187 -> 13040 bytes teleforma/locale/en/LC_MESSAGES/django.po | 1787 ++++++++++------- teleforma/locale/fr/LC_MESSAGES/django.mo | Bin 15134 -> 14883 bytes teleforma/locale/fr/LC_MESSAGES/django.po | 1756 +++++++++------- ...speciality__del_field_course_synthesis_.py | 861 ++++++++ teleforma/models/core.py | 20 +- teleforma/models/crfpa.py | 58 +- .../teleforma/inc/newsitems_portlet.html | 2 +- teleforma/templates/telemeta/base.html | 6 +- .../templates/telemeta/inc/user_list.html | 36 +- .../templates/telemeta/profile_detail.html | 7 - teleforma/urls.py | 3 +- teleforma/views/ae.py | 4 - teleforma/views/core.py | 48 +- 17 files changed, 3368 insertions(+), 1643 deletions(-) delete mode 100644 teleforma/last_stable.txt create mode 100644 teleforma/migrations/0132_auto__del_field_course_written_speciality__del_field_course_synthesis_.py diff --git a/teleforma/admin.py b/teleforma/admin.py index 62ca43ea..aa26ce32 100644 --- a/teleforma/admin.py +++ b/teleforma/admin.py @@ -238,15 +238,18 @@ class ProfileInline(admin.StackedInline): class UserProfileAdmin(UserAdmin): - inlines = [ProfileInline, StudentInline] + inlines = [ProfileInline, StudentInline, ProfessorProfileInline] search_fields = ['username', 'email'] class TrainingAdmin(admin.ModelAdmin): model = Training - filter_horizontal = ['synthesis_note', 'obligation', 'procedure', 'oral_speciality', - 'written_speciality', 'oral_1', 'oral_2','magistral'] - exclude = ['options'] + + if settings.TELEFORMA_E_LEARNING_TYPE != 'AE': + filter_horizontal = ['synthesis_note', 'obligation', 'procedure', 'oral_speciality', + 'written_speciality', 'oral_1', 'oral_2','magistral'] + else: + filter_horizontal = [] class CourseAdmin(admin.ModelAdmin): diff --git a/teleforma/forms.py b/teleforma/forms.py index b8cf9b02..6b1161e2 100644 --- a/teleforma/forms.py +++ b/teleforma/forms.py @@ -50,153 +50,278 @@ class ConferenceForm(ModelForm): class Meta: model = Conference - -# -# class RegistrationForm(ModelForm): -# captcha = CaptchaField() -# accept = BooleanField() -# -# -# class Meta: -# model = User -# fields = ['first_name', 'last_name', 'email', 'accept'] - - -class UserForm(ModelForm): - # profile - address = CharField(label=_('Address'), max_length=255) - address_detail = CharField(label=_('Address detail'), max_length=255, required=False) - postal_code = CharField(label=_('Postal code'), max_length=255) - city = CharField(label=_('City'), max_length=255) - country = CharField(label=_('Country'), max_length=255) - telephone = CharField(label=_('Telephone'), max_length=255) - birthday = DateField(label=_('Birthday'), help_text="Au format jj/mm/aaaa") - # student - portrait = ImageField(widget=FileInput(attrs={'accept': "image/*;capture=camera"}), required=True, - help_text="Veuillez utiliser une photo au format d'identité.") - level = ChoiceField(label=_('Studying level'), choices=LEVEL_CHOICES) - iej = ModelChoiceField(label='IEJ', - queryset=IEJ.objects.all()) - platform_only = forms.ChoiceField(choices = TRUE_FALSE_CHOICES, - label='E-learning uniquement', - widget=forms.Select()) - period = ModelChoiceField(label='Période', - queryset=Period.objects.filter(is_open=True, - date_inscription_start__lte=datetime.datetime.now(), - date_inscription_end__gte=datetime.datetime.now())) - training = ModelChoiceField(label='Formation', - queryset=Training.objects.filter(available=True)) - procedure = ModelChoiceField(label=_('Procedure'), - help_text="Matière de procédure", - queryset=Course.objects.filter(procedure=True)) - written_speciality = ModelChoiceField(label='Specialité écrite', - queryset=Course.objects.filter(written_speciality=True), - help_text="Matière juridique de spécialité") - oral_1 = ModelChoiceField(label=_('Oral de langue (option)'), - help_text="Matière d’oral de langue (en option)", - queryset=Course.objects.filter(oral_1=True)) - promo_code = CharField(label=_('Code promo'), max_length=100, required=False) - - payment_schedule = ChoiceField(label=_(u'Échéancier de paiement'), - choices=payment_schedule_choices, - required=True) - - fascicule = forms.ChoiceField(choices = TRUE_FALSE_CHOICES, - label='Envoi postal des fascicules', - required=False, - widget=forms.Select()) - - # no model - captcha = CaptchaField() - accept = BooleanField() - +class BBBConferenceForm(ModelForm): class Meta: - model = User - fields = ['first_name', 'last_name', 'email'] - - - def __init__(self, *args, **kwargs): - super(UserForm, self).__init__(*args, **kwargs) - self.fields['first_name'].required = True - self.fields['last_name'].required = True - self.fields['email'].required = True - self.user_fields = ['first_name', 'last_name', 'email', 'address', 'address_detail', 'postal_code', 'city', 'country', 'telephone', 'birthday', 'portrait'] - self.training_fields = ['level', 'iej', 'platform_only', 'fascicule', 'period', 'training', 'procedure', 'written_speciality', 'oral_1'] - - def clean_portrait(self): - image = self.cleaned_data['portrait'] - if not image: - return image - #width, height = get_image_dimensions(image) - #ratio = float(height) / float(width) - #if ratio > 2.5 or ratio < 1: - # raise ValidationError({'portrait': "L'image n'est pas au format portrait."}) - NEW_HEIGHT = 230 - NEW_WIDTH = 180 - #if width < NEW_WIDTH or height < NEW_HEIGHT: - # raise ValidationError({'portrait': "L'image est trop petite. Elle doit faire au moins %spx de large et %spx de hauteur." % (NEW_WIDTH, NEW_HEIGHT)}) - - # resize image - img = Image.open(image.file) - new_image = img.resize((NEW_WIDTH, NEW_HEIGHT), Image.ANTIALIAS) - - temp = StringIO() - new_image.save(temp, 'jpeg') - temp.seek(0) - return SimpleUploadedFile('temp', temp.read()) + model = Conference - def save(self, commit=True): - data = self.cleaned_data - user = super(UserForm, self).save(commit=False) - username = get_unique_username(data['first_name'], data['last_name']) - self.username = username - user.username = username - user.last_name = data['last_name'].upper() - user.first_name = data['first_name'].capitalize() - user.is_active = False - if commit: - user.save() - profile = Profile(user=user, - address=data['address'], - address_detail=data.get('address_detail'), - postal_code=data['postal_code'], - city=data['city'], - country=data['country'], - telephone=data['telephone'], - birthday=data['birthday'] - ) - if commit: - profile.save() - platform_only = data.get('platform_only') == 'True' and True or False - fascicule = data.get('fascicule') == 'True' and True or False - training = data.get('training') - subscription_fees = 0 - if platform_only: - if fascicule: - subscription_fees = training.cost_elearning_fascicle +if settings.TELEFORMA_E_LEARNING_TYPE != 'AE': + class UserForm(ModelForm): + # profile + address = CharField(label=_('Address'), max_length=255) + address_detail = CharField(label=_('Address detail'), max_length=255, required=False) + postal_code = CharField(label=_('Postal code'), max_length=255) + city = CharField(label=_('City'), max_length=255) + country = CharField(label=_('Country'), max_length=255) + telephone = CharField(label=_('Telephone'), max_length=255) + birthday = DateField(label=_('Birthday'), help_text="Au format jj/mm/aaaa") + # student + portrait = ImageField(widget=FileInput(attrs={'accept': "image/*;capture=camera"}), required=True, + help_text="Veuillez utiliser une photo au format d'identité.") + level = ChoiceField(label=_('Studying level'), choices=LEVEL_CHOICES) + iej = ModelChoiceField(label='IEJ', + queryset=IEJ.objects.all()) + platform_only = forms.ChoiceField(choices = TRUE_FALSE_CHOICES, + label='E-learning uniquement', + widget=forms.Select()) + period = ModelChoiceField(label='Période', + queryset=Period.objects.filter(is_open=True, + date_inscription_start__lte=datetime.datetime.now(), + date_inscription_end__gte=datetime.datetime.now())) + training = ModelChoiceField(label='Formation', + queryset=Training.objects.filter(available=True)) + + + procedure = ModelChoiceField(label=_('Procedure'), + help_text="Matière de procédure", + queryset=Course.objects.filter(procedure=True)) + written_speciality = ModelChoiceField(label='Specialité écrite', + queryset=Course.objects.filter(written_speciality=True), + help_text="Matière juridique de spécialité") + oral_1 = ModelChoiceField(label=_('Oral de langue (option)'), + help_text="Matière d’oral de langue (en option)", + queryset=Course.objects.filter(oral_1=True)) + promo_code = CharField(label=_('Code promo'), max_length=100, required=False) + + payment_schedule = ChoiceField(label=_(u'Échéancier de paiement'), + choices=payment_schedule_choices, + required=True) + + fascicule = forms.ChoiceField(choices = TRUE_FALSE_CHOICES, + label='Envoi postal des fascicules', + required=False, + widget=forms.Select()) + + # no model + captcha = CaptchaField() + accept = BooleanField() + + class Meta: + model = User + fields = ['first_name', 'last_name', 'email'] + + + def __init__(self, *args, **kwargs): + super(UserForm, self).__init__(*args, **kwargs) + self.fields['first_name'].required = True + self.fields['last_name'].required = True + self.fields['email'].required = True + self.user_fields = ['first_name', 'last_name', 'email', 'address', 'address_detail', 'postal_code', 'city', 'country', 'telephone', 'birthday', 'portrait'] + self.training_fields = ['level', 'iej', 'platform_only', 'fascicule', 'period', 'training', 'procedure', 'written_speciality', 'oral_1'] + + def clean_portrait(self): + image = self.cleaned_data['portrait'] + if not image: + return image + #width, height = get_image_dimensions(image) + #ratio = float(height) / float(width) + #if ratio > 2.5 or ratio < 1: + # raise ValidationError({'portrait': "L'image n'est pas au format portrait."}) + NEW_HEIGHT = 230 + NEW_WIDTH = 180 + #if width < NEW_WIDTH or height < NEW_HEIGHT: + # raise ValidationError({'portrait': "L'image est trop petite. Elle doit faire au moins %spx de large et %spx de hauteur." % (NEW_WIDTH, NEW_HEIGHT)}) + + # resize image + img = Image.open(image.file) + new_image = img.resize((NEW_WIDTH, NEW_HEIGHT), Image.ANTIALIAS) + + temp = StringIO() + new_image.save(temp, 'jpeg') + temp.seek(0) + return SimpleUploadedFile('temp', temp.read()) + + def save(self, commit=True): + + data = self.cleaned_data + user = super(UserForm, self).save(commit=False) + username = get_unique_username(data['first_name'], data['last_name']) + self.username = username + user.username = username + user.last_name = data['last_name'].upper() + user.first_name = data['first_name'].capitalize() + user.is_active = False + if commit: + user.save() + profile = Profile(user=user, + address=data['address'], + address_detail=data.get('address_detail'), + postal_code=data['postal_code'], + city=data['city'], + country=data['country'], + telephone=data['telephone'], + birthday=data['birthday'] + ) + if commit: + profile.save() + platform_only = data.get('platform_only') == 'True' and True or False + fascicule = data.get('fascicule') == 'True' and True or False + training = data.get('training') + subscription_fees = 0 + if platform_only: + if fascicule: + subscription_fees = training.cost_elearning_fascicle + else: + subscription_fees = training.cost_elearning_nofascicle else: - subscription_fees = training.cost_elearning_nofascicle - else: - subscription_fees = training.cost - student = Student(user=user, - portrait=data['portrait'], - level=data.get('level'), - iej=data.get('iej'), - period=data.get('period'), - platform_only=platform_only, - procedure=data.get('procedure'), - written_speciality=data.get('written_speciality'), - oral_1=data.get('oral_1'), - promo_code=data.get('promo_code'), - training=training, - payment_schedule=data.get('payment_schedule'), - fascicule=fascicule, - subscription_fees=subscription_fees - ) - student.save() - student.trainings.add(data.get('training', None)) - return user + subscription_fees = training.cost + student = Student(user=user, + portrait=data['portrait'], + level=data.get('level'), + iej=data.get('iej'), + period=data.get('period'), + platform_only=platform_only, + procedure=data.get('procedure'), + written_speciality=data.get('written_speciality'), + oral_1=data.get('oral_1'), + promo_code=data.get('promo_code'), + training=training, + payment_schedule=data.get('payment_schedule'), + fascicule=fascicule, + subscription_fees=subscription_fees + ) + student.save() + student.trainings.add(data.get('training', None)) + return user + + +else: + class UserForm(ModelForm): + # profile + address = CharField(label=_('Address'), max_length=255) + address_detail = CharField(label=_('Address detail'), max_length=255, required=False) + postal_code = CharField(label=_('Postal code'), max_length=255) + city = CharField(label=_('City'), max_length=255) + country = CharField(label=_('Country'), max_length=255) + telephone = CharField(label=_('Telephone'), max_length=255) + birthday = DateField(label=_('Birthday'), help_text="Au format jj/mm/aaaa") + # student + portrait = ImageField(widget=FileInput(attrs={'accept': "image/*;capture=camera"}), required=True, + help_text="Veuillez utiliser une photo au format d'identité.") + level = ChoiceField(label=_('Studying level'), choices=LEVEL_CHOICES) + platform_only = forms.ChoiceField(choices = TRUE_FALSE_CHOICES, + label='E-learning uniquement', + widget=forms.Select()) + period = ModelChoiceField(label='Période', + queryset=Period.objects.filter(is_open=True, + date_inscription_start__lte=datetime.datetime.now(), + date_inscription_end__gte=datetime.datetime.now())) + training = ModelChoiceField(label='Formation', + queryset=Training.objects.filter(available=True)) + + + promo_code = CharField(label=_('Code promo'), max_length=100, required=False) + + payment_schedule = ChoiceField(label=_(u'Échéancier de paiement'), + choices=payment_schedule_choices, + required=True) + + fascicule = forms.ChoiceField(choices = TRUE_FALSE_CHOICES, + label='Envoi postal des fascicules', + required=False, + widget=forms.Select()) + + # no model + captcha = CaptchaField() + accept = BooleanField() + + class Meta: + model = User + fields = ['first_name', 'last_name', 'email'] + + + def __init__(self, *args, **kwargs): + super(UserForm, self).__init__(*args, **kwargs) + self.fields['first_name'].required = True + self.fields['last_name'].required = True + self.fields['email'].required = True + self.user_fields = ['first_name', 'last_name', 'email', 'address', 'address_detail', 'postal_code', 'city', 'country', 'telephone', 'birthday', 'portrait'] + self.training_fields = ['level', 'iej', 'platform_only', 'fascicule', 'period', 'training', 'procedure', 'written_speciality', 'oral_1'] + + def clean_portrait(self): + image = self.cleaned_data['portrait'] + if not image: + return image + #width, height = get_image_dimensions(image) + #ratio = float(height) / float(width) + #if ratio > 2.5 or ratio < 1: + # raise ValidationError({'portrait': "L'image n'est pas au format portrait."}) + NEW_HEIGHT = 230 + NEW_WIDTH = 180 + #if width < NEW_WIDTH or height < NEW_HEIGHT: + # raise ValidationError({'portrait': "L'image est trop petite. Elle doit faire au moins %spx de large et %spx de hauteur." % (NEW_WIDTH, NEW_HEIGHT)}) + + # resize image + img = Image.open(image.file) + new_image = img.resize((NEW_WIDTH, NEW_HEIGHT), Image.ANTIALIAS) + + temp = StringIO() + new_image.save(temp, 'jpeg') + temp.seek(0) + return SimpleUploadedFile('temp', temp.read()) + + def save(self, commit=True): + + data = self.cleaned_data + user = super(UserForm, self).save(commit=False) + username = get_unique_username(data['first_name'], data['last_name']) + self.username = username + user.username = username + user.last_name = data['last_name'].upper() + user.first_name = data['first_name'].capitalize() + user.is_active = False + if commit: + user.save() + profile = Profile(user=user, + address=data['address'], + address_detail=data.get('address_detail'), + postal_code=data['postal_code'], + city=data['city'], + country=data['country'], + telephone=data['telephone'], + birthday=data['birthday'] + ) + if commit: + profile.save() + platform_only = data.get('platform_only') == 'True' and True or False + fascicule = data.get('fascicule') == 'True' and True or False + training = data.get('training') + subscription_fees = 0 + if platform_only: + if fascicule: + subscription_fees = training.cost_elearning_fascicle + else: + subscription_fees = training.cost_elearning_nofascicle + else: + subscription_fees = training.cost + student = Student(user=user, + portrait=data['portrait'], + level=data.get('level'), + iej=data.get('iej'), + period=data.get('period'), + platform_only=platform_only, + procedure=data.get('procedure'), + written_speciality=data.get('written_speciality'), + oral_1=data.get('oral_1'), + promo_code=data.get('promo_code'), + training=training, + payment_schedule=data.get('payment_schedule'), + fascicule=fascicule, + subscription_fees=subscription_fees + ) + student.save() + student.trainings.add(data.get('training', None)) + return user class CorrectorForm(ModelForm): # profile diff --git a/teleforma/last_stable.txt b/teleforma/last_stable.txt deleted file mode 100644 index b566610a..00000000 --- a/teleforma/last_stable.txt +++ /dev/null @@ -1 +0,0 @@ -312c5db diff --git a/teleforma/locale/en/LC_MESSAGES/django.mo b/teleforma/locale/en/LC_MESSAGES/django.mo index a87753d7eb8377cff8b2cfcf83a7c6683002ae07..31c376ff6515f244482219530f59c0a37a9729fe 100644 GIT binary patch delta 4991 zcmYk=dvI388OQPS29l731ac!G2uX-Q07H_uK_~{bAUDTE$|VX4A%$>hXo4XKw#Xq+ z29)b?Y`JI#1UoD<~{r+;EKYC`?&+eW*&px|* z-Zw8UozYV2UW{w|JBKSW;5ZN9>~@YbgZke)s@HLz?ZiEtfDt$i^RXNs#NBrPG)B>G zz<9ih;rKmh4fJApdQ)2N+mL_PNfx_a;q6%7pO><0=*B@l}mm~8EIyPs(WQHkWE#*M%j9F0o6 z*!s&*^Hib6FTxOfr8E1lfvfDsMpU5fI1}GSWt^DeZ(RoJeqS>WmH1%P1Vc~>JcZhU z=P(XSFafLV{wt`X*qFlpE8te^*o8X7{iunLpe8tlqwo_{!ri*~0s5dO4x0JaKOD7# zg{b)BF%~DIj$#h#xoVe+-u{)S2R5P}*n%3k6P3VwsEiMxR(1?EzTW!JSi1qW#g|cu zHrxHXW`NJQ;zgi#%8j9-1iGRo=!2Rdh?-y^YT#pbzYvvR5o)K3QR6C5D|*pfj7s2D z)YktV^)cOzh4=w7kL$#C^(Rb11@4Lp)Dty94l3ivQHc&S$Dqa+qY|Ep8dr{*crNPG z;^H&76vtu%j>GJ38prwnmWo!e4i#vFwQEpE@D?ibcdftPJcF9(JSx#9)YjidB^F5a z6N*IbYzI_-5^7u;#=2DcQqfyF7`5`zsFh4aC02}@XgVrTrTJ@Ape3lCS&f=tGiv;H z)JweAtV4}IfjZK&=&Iui6+O^m1MZpOX?}n>)Xt<~>(QVl%0VUiQ&hl5tzCfH`Z1{Z zMX2#5sCj;gt?x=2`>z!)rbAx{%TW`(iW;yEIWA{2s{gO32@j!m;wb9*6R5x+qvBjd z^*5r%T|*sF3u>pFbU$8ny6X>!r$Y~PK~2!z2J}KDl4TA+1^k({N10<$E1ZOSe!5wP ziaW>d&$s@?s0A%^ZNN%Y;PvKa>)(b-U>E9TthM_eT7Nxii_fCIU>eP@tUt87e>5FY z38tcUDif7}n@1&t${^H$!Kev`qh6lTs1;2{O*9p?mF3pI2sM5wD&T6=iapdzy&1LT zd(4BVc>l!e0Owy%MH3f3==%)j)1HF4ScA&=6e>^yCgL^Jj{RVU_3#skK_!rkdMQ&; z&-F7O!BE;GvGwy`*jnM^W==;vSc!VD8uM@sY6p&DTRe$M{0wRbKDGWP)N?mc-+Xsa z3yALNC)ODiCk>-`|D3*5bhZOfTRsvMun6@rnt}>24RywI%q6HDc+GqRmC##ue-G-Y z-naXwP>G+zF#HrUVeX^*$LI3Vy2_MAv00WJ%;?Ga0*Zh znU0!x4(gqlhuVP^y*Pgj@aPD~8oTiaRR2Cyz=PI4j@r_XQ7gM@_rEnmGyS8BM=hkg zwR@tDq(3TwAvhDqXR`m=`a^Vt<0;g{=TKYTh|0VfHQ_DP5rp*iU!nx$H;R*jT5%ro z$#V*@9adljE9<{I+9`c=!iu*Du(dF2I_s>~RMJwKhnsA4C5S95ysEjY6#x z0G0Sk)H|^iWAGijUx#}BH0rqvs06N?UuU!bn)pXLG;zlqf2&eZ4|KP7KU4w_qt0|B zYU>M8&y7I^ejYpG4C`NDE}J8}oL;;39d(PUI&-B3H)8#PbR9N^l3d~*b9!ZE0oO+ZaB6&0Wi6`%^0 z$V;g43+?_=)DEpejazT+4X8wFQ1N!6o^$t6(L{eio#hd0pG6J)%)EwLVGG7%o1mXi z62{U_LyZrjc4`nRk>RLBpF+*^G%Aq^$UEaY)2JxZN*gdA6|fo=$U_C*g35RYD)2j~ zL=K?FA4eV8dDOV;7{EHp3d(wlt{;4yOW0MBH&FS~ON`BMFYA_`;cAO|WyVtUg{mt+ z-=jE-QcAf;d4qDCa-Q-F%C9J47UL7@&r)_$UZ)(UXb*-;#?+&(Rg}HTTEBa4dUdg> zfky8_Y*N-8+Q%rrq3E^J|D@T3y7(}+UfPS%lr~;^Tz24d@8@x4x!=;(ALRc~bhYET zpCE5%>y^iUuTu6<_}7Zl>@~*?2z=x9h))f@Nc$^qRD74{`_xJ(x^8$c#Ao#0L9Lwf z5oH|Z3Cb19|6e+b@4UMBRGo6`6&~=K;(G?dz37Bq0mti~kQ#{e#wTP4?t04-o(tUe z8WXw%{_WjQ=+!xdM0Nd(vYYZ>$_dIB-r&TH^dG6|8c%6ztvSxuc#ATU($1?+%#Qtx zS}1WEP}eo@NMdT@b!wAZ+x%%TTfA=)my^-Uoz_MUOPgCYZ(3=2)m$$!sZZ@ANw>n= zmsFL`sHl9&nOZTew02NxVo2?z^ezGK_3jsAf;m~a!K~c=X}J#%3g*@>&)6S`7)F3u qC5n*OBUoF}qb4Gzr0VD{Ld+^9MpbET=j_Um+O4?{1iZ_^H~$Ag+Wg)C delta 5107 zcmYk=32;@_9mnzW0!c{1!>ok0NhFY<2_)`c)UU*=*SS|(I~R)!F$RB!18^l~Vx2vAsm>+Qj>Bk7 z!zj!$yIFs4jHLg&$hsj{K&2%eBh2yGoc0udfSZ9@a1Iiidl7@U5aVze5`$Zd3UD`S z{C-pbhpl}KwQe2iK=l}8e|MRR7P@T%BHQ>I#iABWGCNv-7U~3f*bMtve}BA>c7Zt> zwNbHIiVCdCo>xoucT1>f!8ND|*P|lej0!Al{k5nK_oEg*h|0(@RG=r#bEx&Mq1L;J zy3M<&%(ZOm&ufPvP3%NP19MUB9;g5Ypf)J5_HcVX+MIw2WHM@8Ikv)isK6Il|LdrA zSE0slzzE#Ymi%krpX|Xt)Iy)&6#N_&@gwd0)QvzrA8S5~3VaG`gBhp*o=0V10Vd+B zn2f9J`3}@o>}yB3k1qx9cPcSE2|14Ant5EB| zhzYn5brs7|^EQX5=_38)Qj%$)W$1Oe=Qqv z9B#$Y81)_J#^8@JPJjQ~sOSXmp%(hHwGX1M;8RrO_152DHlj9)O!EUxK&3td6-W;1 zAo-{(co-FM0czZEObAgKM@4VxRMdnQPzx+T1@>#yMoUo(tu)u67TSu+%r4Xh2TB(*l+L)5~D&EwX85*5H1)Ju8Qo;O;5)ct;{<56EU?af^4 zAB4K1$58?P2$iwWb5s;SDMnx=YT)yzf1fWvO?VR(z*wxCY<9_o%iK&AMQ_1B@s z*Q3_Igv!7*)XUz0Tt&#mcJl8e6}4a{RtKExirRQnrtc0MKzk47;~mrqaymPgg8fjL z8)1$`&3^`)t_~HzEYtz#U`zIQFE>^AWrLACSc6)4y%{!ZQ4#8DW>{%#VLC@e=URHX+vA9dHiMWuWVYQb&T40oZ%?Lpo7 zM`j%=6Iaa}sDQq<=TTYyRkgv824+)fj(He`y-^zuz-W9Nwc%6NKNdA^qV-QR%dEe` zoQwMAtVXT(d*nBWTZcMGZ5H|0#vjq4m*Nvt22R_6D;Q1tru8>ke@wQ&U=nJf3{*-V zM7@NM*z=L*GpMVZjylLZYlpJQzwTr)9SUGMPQk6H)Teg!1IR{gl!r=re^lV#M{W26 z)D?`!NSuNEc5xM`6W1Vrscs#%z=Ifre+g01iR(}coI{=D7HWgw1J3;f6Hyyipi&>g zSX^K(vHlgPjIG5O+=TqDb?>4AI)eOEaOY9$g_=F+Pq@!aMV&kib&@>m?}G|xp!FA+ z!^|g9cU*|dNHHqV3XH|MsK9=O%5)8K;E-Ew58gpd*lq4bUClvM%KnNv(J9md7p#33 zwQyvPf1;q-7WKW*8Fd8@<7^y*I@rfea{ouEXyMOLk=CP5a2a*tyQmFau5S|Rs=A;8 z?uQyT2sM8Q>Lq&;pT*HQ2E(X#t3@~eif3W8{{9zG(L#$+Cw&cd1uIeS!Zv%pALD2r zLIwD_JwK1FX#WotNL+XSK=G*Y?XV?wv35^XW(HwMCn=<&$S0#xQ;rH`4l0mpRECyX z{|eNCZ=>eFgW706DpN;MfuF%3-a-W!mFGWCLCw$3f z<*4yj9ZAk=8_ASLru?0< ziSiZY5apT|OzD&n!P7s|Dx{pJ=yQYeAIeZlv^OfHyY_c27+I$ZpNrm-l(dvf)Fw2w z`C>J%dmpB}9Qe2QMC;#p7g}eBV^VKN2g@dwxZ<+u(@TmgOD2X}rKLo)oL*EpsjPfP zdRgi8s&Ga|$3R9|dQtk!^0G-K6%}RWu99YHdeOugQ%k2-RF)T2mX&)0?yql^-#0fu zKR3T;dVcTzz59h9=(IiHUC8Vf4t8D_6D+GNaV4e2MN=y(_H797?N%P)t?rr}?vdXy c(0SkL^x37~Y)~@0-1!~f+JR1QM31-r4?t!lYXATM diff --git a/teleforma/locale/en/LC_MESSAGES/django.po b/teleforma/locale/en/LC_MESSAGES/django.po index 357d50fb..15377c5f 100644 --- a/teleforma/locale/en/LC_MESSAGES/django.po +++ b/teleforma/locale/en/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-11-13 15:58+0100\n" +"POT-Creation-Date: 2020-12-15 16:21+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Guillaume Pellerin \n" "Language-Team: LANGUAGE \n" @@ -16,338 +16,408 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: admin.py:20 exam/models.py:122 exam/models.py:225 models/ae.py:47 -#: models/core.py:113 models/core.py:148 models/core.py:288 models/core.py:547 -#: models/core.py:593 models/core.py:635 models/crfpa.py:81 models/crfpa.py:160 +#: admin.py:21 exam/models.py:140 exam/models.py:248 models/core.py:137 +#: models/core.py:176 models/core.py:334 models/core.py:656 models/core.py:698 +#: models/crfpa.py:83 models/crfpa.py:177 models/crfpa.py:188 +#: models/crfpa.py:249 models/crfpa.py:395 webclass/models.py:125 +#: webclass/models.py:380 msgid "period" msgstr "période" -#: admin.py:67 +#: admin.py:69 msgid "Group" msgstr "" -#: exam/models.py:62 exam/models.py:454 +#: admin.py:76 +msgid "balance" +msgstr "" + +#: admin.py:265 +#, fuzzy +msgid "date de début" +msgstr "date d'ajout" + +#: forms.py:70 forms.py:206 models/crfpa.py:216 +#: templates/registration/registration_corrector_pdf.html:44 +#: templates/registration/registration_pdf.html:49 +#: templates/telemeta/profile_detail.html:82 +msgid "Address" +msgstr "Adresse" + +#: forms.py:71 forms.py:207 models/crfpa.py:217 +#, fuzzy +msgid "Address detail" +msgstr "Adresse" + +#: forms.py:72 forms.py:208 models/crfpa.py:218 +msgid "Postal code" +msgstr "Code postal" + +#: forms.py:73 forms.py:209 models/crfpa.py:219 +msgid "City" +msgstr "Ville" + +#: forms.py:74 forms.py:210 models/crfpa.py:220 +msgid "Country" +msgstr "Pays" + +#: forms.py:75 forms.py:211 models/crfpa.py:222 +#: templates/registration/registration_corrector_pdf.html:48 +#: templates/registration/registration_pdf.html:53 +#: templates/telemeta/profile_detail.html:83 +msgid "Telephone" +msgstr "Téléphone" + +#: forms.py:76 forms.py:212 +#: templates/registration/registration_corrector_pdf.html:60 +#: templates/registration/registration_pdf.html:65 +msgid "Birthday" +msgstr "" + +#: forms.py:80 templates/registration/registration_pdf.html:70 +#, fuzzy +msgid "Studying level" +msgstr "serveur de diffusion" + +#: forms.py:92 templates/telemeta/profile_detail.html:72 +#: templates/telemeta/inc/user_list.html:24 +msgid "Procedure" +msgstr "Procédure" + +#: forms.py:98 +msgid "Oral de langue (option)" +msgstr "" + +#: forms.py:101 +msgid "Code promo" +msgstr "" + +#: forms.py:103 +msgid "Échéancier de paiement" +msgstr "" + +#: forms.py:298 +msgid "Recipients" +msgstr "" + +#: forms.py:298 templates/postman/base_folder.html:42 +#: templates/postman/reply.html:4 +msgid "Recipient" +msgstr "" + +#: exam/models.py:79 exam/models.py:452 msgid "rejected" msgstr "rejetée" -#: exam/models.py:62 +#: exam/models.py:79 msgid "draft" msgstr "brouillon" -#: exam/models.py:62 +#: exam/models.py:79 msgid "submitted" msgstr "soumise" -#: exam/models.py:63 +#: exam/models.py:80 msgid "pending" msgstr "en attente" -#: exam/models.py:63 exam/models.py:439 +#: exam/models.py:80 exam/models.py:437 msgid "marked" msgstr "corrigée" -#: exam/models.py:63 +#: exam/models.py:80 msgid "read" msgstr "lu" -#: exam/models.py:63 +#: exam/models.py:81 msgid "backup" msgstr "sauvegardé" -#: exam/models.py:65 +#: exam/models.py:81 +#, fuzzy +msgid "stat" +msgstr "status" + +#: exam/models.py:83 msgid "unreadable" msgstr "illisible" -#: exam/models.py:66 +#: exam/models.py:84 msgid "bad orientation" msgstr "mauvaise orientation" -#: exam/models.py:67 +#: exam/models.py:85 msgid "bad framing" msgstr "mauvais cadrage" -#: exam/models.py:68 +#: exam/models.py:86 msgid "incomplete" msgstr "incomplet" -#: exam/models.py:69 +#: exam/models.py:87 msgid "wrong course" msgstr "mauvaise matière" -#: exam/models.py:70 +#: exam/models.py:88 msgid "duplicate" msgstr "doublon" -#: exam/models.py:71 +#: exam/models.py:89 msgid "other" msgstr "autre" -#: exam/models.py:72 +#: exam/models.py:90 msgid "wrong format" msgstr "mauvais format" -#: exam/models.py:73 +#: exam/models.py:91 msgid "unreadable file" msgstr "fichier illisible" -#: exam/models.py:74 +#: exam/models.py:92 msgid "no file" msgstr "pas de fichier" -#: exam/models.py:75 -msgid "file too large" -msgstr "fichier trop gros" - -#: exam/models.py:76 +#: exam/models.py:93 msgid "error retrieving file" msgstr "" -#: exam/models.py:120 exam/models.py:224 models/core.py:215 models/core.py:290 -#: models/core.py:542 models/core.py:631 models/pro.py:45 +#: exam/models.py:94 +msgid "file too large" +msgstr "fichier trop gros" + +#: exam/models.py:138 exam/models.py:247 models/core.py:261 models/core.py:336 +#: models/core.py:603 models/core.py:694 models/crfpa.py:394 models/pro.py:45 +#: webclass/models.py:126 webclass/models.py:381 msgid "course" msgstr "matière" -#: exam/models.py:121 exam/models.py:231 +#: exam/models.py:139 exam/models.py:253 msgid "corrector" msgstr "correcteur" -#: exam/models.py:123 exam/models.py:227 models/core.py:294 models/core.py:551 +#: exam/models.py:141 exam/models.py:250 models/core.py:340 models/core.py:614 msgid "session" msgstr "séance" -#: exam/models.py:124 +#: exam/models.py:142 msgid "value" msgstr "valeur" -#: exam/models.py:125 exam/templates/exam/quotas.html:22 +#: exam/models.py:143 exam/templates/exam/quotas.html:22 msgid "date start" msgstr "date de début" -#: exam/models.py:126 exam/templates/exam/quotas.html:23 +#: exam/models.py:144 exam/templates/exam/quotas.html:23 msgid "date end" msgstr "date de fin" -#: exam/models.py:127 exam/models.py:229 models/core.py:440 models/core.py:549 -#: models/core.py:639 +#: exam/models.py:145 exam/models.py:251 models/core.py:495 models/core.py:612 +#: models/core.py:702 msgid "type" msgstr "type" -#: exam/models.py:130 +#: exam/models.py:148 msgid "Quota" msgstr "" -#: exam/models.py:131 exam/templates/exam/quotas.html:12 +#: exam/models.py:149 exam/templates/exam/quotas.html:12 msgid "Quotas" msgstr "" -#: exam/models.py:180 models/core.py:509 models/pro.py:67 +#: exam/models.py:203 models/core.py:567 models/pro.py:67 msgid "date added" msgstr "date d'ajout" -#: exam/models.py:181 models/core.py:172 models/core.py:510 models/crfpa.py:263 +#: exam/models.py:204 models/core.py:200 models/core.py:568 models/crfpa.py:288 #: models/pro.py:68 msgid "date modified" msgstr "date de modification" -#: exam/models.py:182 +#: exam/models.py:205 msgid "UUID" msgstr "" -#: exam/models.py:183 +#: exam/models.py:206 msgid "MIME type" msgstr "Type MIME" -#: exam/models.py:184 +#: exam/models.py:207 msgid "sha1" msgstr "" -#: exam/models.py:200 +#: exam/models.py:223 msgid "script" msgstr "copie" -#: exam/models.py:201 +#: exam/models.py:224 msgid "Page file" msgstr "Fichier de page" -#: exam/models.py:202 +#: exam/models.py:225 msgid "Image file" msgstr "Fichier image" -#: exam/models.py:203 models/pro.py:49 models/pro.py:85 +#: exam/models.py:226 models/pro.py:49 models/pro.py:85 msgid "rank" msgstr "rang" -#: exam/models.py:206 +#: exam/models.py:229 msgid "Page" msgstr "Page" -#: exam/models.py:207 +#: exam/models.py:230 msgid "Pages" msgstr "Pages" -#: exam/models.py:212 models/core.py:96 models/core.py:109 models/core.py:129 -#: models/core.py:153 models/core.py:222 models/core.py:272 models/core.py:525 -#: models/crfpa.py:45 models/crfpa.py:60 models/crfpa.py:79 -#: models/messages.py:12 +#: exam/models.py:235 models/appointment.py:29 models/appointment.py:293 +#: models/core.py:120 models/core.py:133 models/core.py:153 models/core.py:181 +#: models/core.py:268 models/core.py:318 models/core.py:583 models/crfpa.py:47 +#: models/crfpa.py:62 models/crfpa.py:81 models/messages.py:12 msgid "name" msgstr "nom" -#: exam/models.py:215 +#: exam/models.py:238 msgid "ScriptType" msgstr "Type de copie" -#: exam/models.py:216 +#: exam/models.py:239 msgid "ScriptTypes" msgstr "Types de copies" -#: exam/models.py:230 +#: exam/models.py:252 msgid "author" msgstr "auteur" -#: exam/models.py:232 +#: exam/models.py:254 msgid "PDF file" msgstr "Fichier PDF" -#: exam/models.py:233 +#: exam/models.py:255 msgid "Box UUID" msgstr "" -#: exam/models.py:234 +#: exam/models.py:256 msgid "score" msgstr "note" -#: exam/models.py:235 models/pro.py:125 +#: exam/models.py:257 models/pro.py:125 msgid "comments" msgstr "commentaires" -#: exam/models.py:236 models/core.py:303 models/pro.py:48 models/pro.py:88 -#: models/pro.py:104 +#: exam/models.py:258 models/core.py:349 models/pro.py:48 models/pro.py:88 +#: models/pro.py:104 webclass/models.py:132 msgid "status" msgstr "status" -#: exam/models.py:237 +#: exam/models.py:259 msgid "reason" msgstr "raison" -#: exam/models.py:238 +#: exam/models.py:260 msgid "date submitted" msgstr "date de soumission" -#: exam/models.py:239 +#: exam/models.py:261 msgid "date marked" msgstr "date de correction" -#: exam/models.py:240 +#: exam/models.py:262 msgid "date rejected" msgstr "date de rejet" -#: exam/models.py:241 +#: exam/models.py:263 msgid "URL" msgstr "" -#: exam/models.py:245 exam/templates/exam/inc/script_list.html:14 -#: templates/teleforma/course.html:50 +#: exam/models.py:268 exam/models.py:270 exam/templates/exam/scripts.html:83 +#: exam/templates/exam/inc/script_list.html:14 +#: templates/teleforma/course.html:52 #: templates/teleforma/course_conference.html:39 #: templates/teleforma/course_conference.html:67 #: templates/teleforma/course_conference_audio.html:68 -#: templates/teleforma/course_media.html:86 -#: templates/teleforma/course_media.html:138 +#: templates/teleforma/course_media.html:87 +#: templates/teleforma/course_media.html:139 #: templates/teleforma/course_media_video_embed.html:34 #: templates/teleforma/inc/conference_list.html:26 #: templates/teleforma/inc/media_list.html:37 -#: templates/teleforma/inc/media_list_pending.html:37 +#: templates/teleforma/inc/media_list_pending.html:38 msgid "Session" msgstr "Séance" -#: exam/models.py:258 exam/models.py:438 exam/models.py:453 +#: exam/models.py:286 exam/models.py:436 exam/models.py:451 msgid "Script" msgstr "Copie" -#: exam/models.py:259 exam/templates/exam/scripts.html:21 -#: templates/telemeta/base.html:116 templates/telemeta/base.html:121 +#: exam/models.py:287 exam/templates/exam/scripts.html:21 +#: templates/telemeta/base.html:122 templates/telemeta/base.html.py:127 msgid "Scripts" msgstr "Copies" -#: exam/templates/exam/inc/script_list.html:13 -#: exam/templates/exam/quotas.html:21 -#: templates/teleforma/course_conference.html:66 -#: templates/teleforma/course_media.html:137 -#: templates/teleforma/course_media_video_embed.html:33 -msgid "Course" -msgstr "Matière" - -#: exam/templates/exam/inc/script_list.html:15 -#: templates/telemeta/inc/module_revisions.html:18 -#: templates/telemeta/lists.html:70 -msgid "Type" -msgstr "Type" +#: exam/views.py:221 +msgid "Pending scripts" +msgstr "Copies en attente" -#: exam/templates/exam/inc/script_list.html:16 -#: templates/telemeta/inc/user_list.html:19 -#: templates/telemeta/profile_detail.html:60 -msgid "Last Name" -msgstr "Nom" +#: exam/views.py:232 +msgid "Treated scripts" +msgstr "Copie traitées" -#: exam/templates/exam/inc/script_list.html:17 -#: templates/telemeta/inc/user_list.html:20 -#: templates/telemeta/profile_detail.html:59 -msgid "First Name" -msgstr "Prénom" +#: exam/views.py:241 +msgid "Rejected scripts" +msgstr "Copies rejetées" -#: exam/templates/exam/inc/script_list.html:18 -msgid "Submission date" -msgstr "Date de soumission" +#: exam/views.py:258 +msgid "" +"Error: you have already submitted a script for this session, the same course " +"and the same type!" +msgstr "" -#: exam/templates/exam/inc/script_list.html:19 -msgid "Mark date" -msgstr "Date de correction" +#: exam/views.py:262 +msgid "" +"You have successfully submitted your script. It will be processed in the " +"next hours." +msgstr "" +"Vous avez correctement soumis votre copie. Elle sera traitée dans les " +"prochaines heures puis corrigée." -#: exam/templates/exam/inc/script_list.html:20 -#: exam/templates/exam/quotas.html:20 -msgid "Corrector" -msgstr "Correcteur" +#: exam/views.py:266 +msgid "" +"There was a problem with your submission. Please try again, later if " +"possible." +msgstr "" +"Il y a une une erreur lors de votre soumission de copie. Merci de vérifier " +"votre fichier ou de réessayer plus tard." -#: exam/templates/exam/inc/script_list.html:21 -#: exam/templates/exam/script_detail.html:36 -msgid "Score" -msgstr "Note" +#: exam/views.py:311 +msgid "You must add your score to access to the statistics." +msgstr "" -#: exam/templates/exam/messages/script_fix.txt:9 -#: exam/templates/exam/messages/script_marked.txt:9 -#: exam/templates/exam/messages/script_rejected.txt:7 -#: templates/postman/email_user_init.txt:24 -msgid "Best regards" -msgstr "Cordialement" +#: exam/views.py:390 +msgid "all courses" +msgstr "toutes les matières" -#: exam/templates/exam/messages/script_fix.txt:10 -#: exam/templates/exam/messages/script_marked.txt:10 -#: exam/templates/exam/messages/script_rejected.txt:8 -#: templates/postman/email_user.txt:20 templates/postman/email_user_init.txt:25 -#: templates/postman/email_visitor.txt:16 -msgid "The site administrator" -msgstr "L'administrateur du site" +#: exam/templates/exam/mass_score_form.html:139 +#: exam/templates/exam/score_form.html:82 +#: exam/templates/exam/script_form.html:91 +#: templates/registration/registration_form.html:125 +msgid "Submit" +msgstr "Soumettre" -#: exam/templates/exam/messages/script_fix.txt:10 -#: exam/templates/exam/messages/script_marked.txt:10 -#: exam/templates/exam/messages/script_rejected.txt:8 -#: templates/postman/email_user_init.txt:25 -msgid "of the" -msgstr "du" +#: exam/templates/exam/quotas.html:20 exam/templates/exam/scripts.html:68 +#: exam/templates/exam/inc/script_list.html:20 +msgid "Corrector" +msgstr "Correcteur" -#: exam/templates/exam/messages/script_fix.txt:13 -#: exam/templates/exam/messages/script_marked.txt:13 -#: exam/templates/exam/messages/script_rejected.txt:11 -#: templates/postman/email_user.txt:22 templates/postman/email_user_init.txt:28 -#: templates/postman/email_visitor.txt:18 -msgid "" -"Note: This message is issued by an automated system.\n" -"Do not reply, this would not be taken into account." -msgstr "" -"NB: Ce message est émis par un automate. Ne faites pas de réponse, elle ne " -"serait pas prise en compte." +#: exam/templates/exam/quotas.html:21 exam/templates/exam/scripts.html:76 +#: exam/templates/exam/inc/script_list.html:13 models/appointment.py:31 +#: models/crfpa.py:251 templates/teleforma/course_conference.html:66 +#: templates/teleforma/course_media.html:138 +#: templates/teleforma/course_media_video_embed.html:33 +msgid "Course" +msgstr "Matière" #: exam/templates/exam/quotas.html:24 exam/templates/exam/scripts.html:25 -#: templates/teleforma/courses.html:48 +#: templates/teleforma/courses.html:51 msgid "Pending" msgstr "En attente" @@ -363,70 +433,66 @@ msgstr "Valeur" msgid "Level" msgstr "Niveau" -#: exam/templates/exam/score_form.html:32 exam/templates/exam/scores.html:37 +#: exam/templates/exam/score_form.html:32 exam/templates/exam/scores.html:33 msgid "New score" msgstr "Nouvelle note" -#: exam/templates/exam/score_form.html:60 -#: exam/templates/exam/script_form.html:78 -#: templates/registration/registration_form.html:22 -msgid "Submit" -msgstr "Soumettre" - #: exam/templates/exam/scores.html:20 templates/teleforma/annals.html:15 -#: templates/telemeta/profile_detail.html:16 +#: templates/telemeta/profile_detail.html:17 msgid "My courses" msgstr "Mes matières" -#: exam/templates/exam/scores.html:48 templates/telemeta/base.html:133 -#: templates/telemeta/base.html:135 +#: exam/templates/exam/scores.html:49 templates/telemeta/base.html:143 +#: templates/telemeta/base.html.py:145 msgid "Scores" msgstr "Notes" -#: exam/templates/exam/script_detail.html:33 +#: exam/templates/exam/script_detail.html:55 msgid "Topic" msgstr "Sujet" -#: exam/templates/exam/script_detail.html:37 -#: exam/templates/exam/script_detail.html:54 +#: exam/templates/exam/script_detail.html:58 +#: exam/templates/exam/inc/script_list.html:21 templates/quiz/progress.html:60 +#: templates/quiz/sitting_detail.html:15 templates/quiz/sitting_list.html:16 +msgid "Score" +msgstr "Note" + +#: exam/templates/exam/script_detail.html:59 +#: exam/templates/exam/script_detail.html:76 msgid "Comments" msgstr "Commentaire" -#: exam/templates/exam/script_detail.html:38 -msgid "Imprimer" -msgstr "" - -#: exam/templates/exam/script_detail.html:40 -#: exam/templates/exam/scripts.html:27 templates/postman/view.html:25 +#: exam/templates/exam/script_detail.html:62 +#: exam/templates/exam/scripts.html:27 templates/postman/view.html:33 msgid "Rejected" msgstr "Rejeté" -#: exam/templates/exam/script_detail.html:43 +#: exam/templates/exam/script_detail.html:65 msgid "Scoring" msgstr "Noter" -#: exam/templates/exam/script_detail.html:44 -#: exam/templates/exam/script_detail.html:85 -#: exam/templates/exam/script_detail.html:103 +#: exam/templates/exam/script_detail.html:66 +#: exam/templates/exam/script_detail.html:107 +#: exam/templates/exam/script_detail.html:125 msgid "Reject" msgstr "Rejeter" -#: exam/templates/exam/script_detail.html:46 +#: exam/templates/exam/script_detail.html:68 msgid "Submitted" msgstr "Soumise" -#: exam/templates/exam/script_detail.html:58 +#: exam/templates/exam/script_detail.html:80 msgid "Mark" msgstr "Note" -#: exam/templates/exam/script_detail.html:80 -#: templates/postman/base_write.html:63 -#: templates/teleforma/inc/chat_room.html:13 +#: exam/templates/exam/script_detail.html:102 +#: templates/postman/base_write.html:110 +#: templates/teleforma/inc/chat_room.html:17 msgid "Send" msgstr "Envoyer" -#: exam/templates/exam/script_detail.html:108 templates/teleforma/help.html:11 -#: templates/telemeta/base.html:148 templates/telemeta/base.html:157 +#: exam/templates/exam/script_detail.html:130 templates/teleforma/help.html:11 +#: templates/telemeta/base.html:159 templates/telemeta/base.html.py:169 msgid "Help" msgstr "Aide" @@ -442,541 +508,590 @@ msgstr "Copie vierge" msgid "Answers" msgstr "Réponses" -#: exam/templates/exam/scripts.html:67 -msgid "No scripts" -msgstr "Aucune copie" - -#: exam/views.py:106 -msgid "Pending scripts" -msgstr "Copies en attente" - -#: exam/views.py:132 -msgid "Treated scripts" -msgstr "Copie traitées" - -#: exam/views.py:154 -msgid "Rejected scripts" -msgstr "Copies rejetées" - -#: exam/views.py:173 -msgid "" -"Error: you have already submitted a script for this session, the same course " -"and the same type!" -msgstr "" +#: exam/templates/exam/scripts.html:90 +#: exam/templates/exam/inc/script_list.html:15 templates/telemeta/lists.html:70 +#: templates/telemeta/inc/module_revisions.html:18 +msgid "Type" +msgstr "Type" -#: exam/views.py:177 -msgid "" -"You have successfully submitted your script. It will be processed in the " -"next hours." +#: exam/templates/exam/scripts.html:98 +msgid "E-learning uniquement" msgstr "" -"Vous avez correctement soumis votre copie. Elle sera traitée dans les " -"prochaines heures puis corrigée." -#: exam/views.py:181 -msgid "" -"There was a problem with your submission. Please try again, later if " -"possible." -msgstr "" -"Il y a une une erreur lors de votre soumission de copie. Merci de vérifier " -"votre fichier ou de réessayer plus tard." +#: exam/templates/exam/scripts.html:113 +msgid "No scripts" +msgstr "Aucune copie" -#: exam/views.py:218 -msgid "You must add your score to access to the statistics." -msgstr "" +#: exam/templates/exam/inc/script_list.html:16 +#: templates/telemeta/profile_detail.html:65 +#: templates/telemeta/inc/user_list.html:20 +msgid "Last Name" +msgstr "Nom" -#: exam/views.py:282 -msgid "all courses" -msgstr "toutes les matières" +#: exam/templates/exam/inc/script_list.html:17 +#: templates/telemeta/profile_detail.html:64 +#: templates/telemeta/inc/user_list.html:21 +msgid "First Name" +msgstr "Prénom" -#: models/ae.py:46 models/core.py:237 models/crfpa.py:132 models/crfpa.py:230 -#: models/pro.py:101 models/pro.py:140 -msgid "user" -msgstr "utilisateur" +#: exam/templates/exam/inc/script_list.html:18 +msgid "Submission date" +msgstr "Date de soumission" -#: models/ae.py:49 -msgid "platform only" -msgstr "plateforme seulement" +#: exam/templates/exam/inc/script_list.html:19 +msgid "Mark date" +msgstr "Date de correction" -#: models/ae.py:51 models/core.py:223 models/core.py:239 -msgid "courses" -msgstr "matières" +#: exam/templates/exam/messages/script_fix.txt:9 +#: exam/templates/exam/messages/script_marked.txt:9 +#: exam/templates/exam/messages/script_rejected.txt:7 +#: templates/postman/email_user_init.txt:22 +msgid "Best regards" +msgstr "Cordialement" -#: models/ae.py:62 -msgid "AE student" -msgstr "Etudiant AE" +#: exam/templates/exam/messages/script_fix.txt:10 +#: exam/templates/exam/messages/script_marked.txt:10 +#: exam/templates/exam/messages/script_rejected.txt:8 +#: templates/postman/email_user.txt:20 templates/postman/email_user_init.txt:23 +#: templates/postman/email_visitor.txt:16 +msgid "The site administrator" +msgstr "L'administrateur du site" -#: models/core.py:75 -msgid "check" -msgstr "" +#: exam/templates/exam/messages/script_fix.txt:10 +#: exam/templates/exam/messages/script_marked.txt:10 +#: exam/templates/exam/messages/script_rejected.txt:8 +#: templates/postman/email_user_init.txt:23 +msgid "of the" +msgstr "du" -#: models/core.py:75 -msgid "transfer" +#: exam/templates/exam/messages/script_fix.txt:13 +#: exam/templates/exam/messages/script_marked.txt:13 +#: exam/templates/exam/messages/script_rejected.txt:11 +#: templates/postman/email_user.txt:22 templates/postman/email_user_init.txt:25 +#: templates/postman/email_visitor.txt:18 +msgid "" +"Note: This message is issued by an automated system.\n" +"Do not reply, this would not be taken into account." msgstr "" +"NB: Ce message est émis par un automate. Ne faites pas de réponse, elle ne " +"serait pas prise en compte." -#: models/core.py:75 -#, fuzzy -#| msgid "credits" -msgid "credit card" -msgstr "crédits" - -#: models/core.py:75 -msgid "money" +#: models/appointment.py:38 +msgid "activer la prise de rendez-vous" msgstr "" -#: models/core.py:78 +#: models/core.py:92 msgid "Hidden" msgstr "Caché" -#: models/core.py:79 +#: models/core.py:93 msgid "Private" msgstr "Privé" -#: models/core.py:80 +#: models/core.py:94 webclass/models.py:28 msgid "Draft" msgstr "Brouillon" -#: models/core.py:81 +#: models/core.py:95 webclass/models.py:29 msgid "Public" msgstr "Publié" -#: models/core.py:97 models/core.py:110 models/core.py:130 models/core.py:154 -#: models/core.py:169 models/core.py:273 models/core.py:441 models/core.py:507 -#: models/core.py:526 models/crfpa.py:46 models/crfpa.py:80 models/crfpa.py:277 -#: models/crfpa.py:290 models/crfpa.py:303 models/pro.py:124 +#: models/core.py:121 models/core.py:134 models/core.py:154 models/core.py:182 +#: models/core.py:197 models/core.py:319 models/core.py:496 models/core.py:565 +#: models/core.py:584 models/crfpa.py:48 models/crfpa.py:82 models/crfpa.py:309 +#: models/crfpa.py:322 models/crfpa.py:335 models/pro.py:124 msgid "description" msgstr "description" -#: models/core.py:104 models/core.py:111 models/core.py:271 models/pro.py:123 +#: models/core.py:128 models/core.py:135 models/core.py:317 models/pro.py:123 msgid "organization" msgstr "organisation" -#: models/core.py:112 +#: models/core.py:136 msgid "Master domain" msgstr "" -#: models/core.py:124 models/core.py:133 models/core.py:167 models/core.py:242 -#: models/core.py:286 +#: models/core.py:148 models/core.py:157 models/core.py:195 models/core.py:288 +#: models/core.py:332 webclass/models.py:124 msgid "department" msgstr "département" -#: models/core.py:131 models/crfpa.py:82 +#: models/core.py:155 models/crfpa.py:84 msgid "parent" msgstr "" -#: models/core.py:135 models/core.py:299 +#: models/core.py:159 models/core.py:345 msgid "begin date" msgstr "date de début" -#: models/core.py:136 models/core.py:300 +#: models/core.py:160 models/core.py:346 msgid "end date" msgstr "date de fin" -#: models/core.py:137 +#: models/core.py:161 msgid "date d'init de mot de passe" msgstr "" -#: models/core.py:138 +#: models/core.py:162 msgid "message pour internaute" msgstr "" -#: models/core.py:139 +#: models/core.py:163 msgid "message pour presentielle" msgstr "" -#: models/core.py:140 +#: models/core.py:164 msgid "is open" msgstr "" -#: models/core.py:141 +#: models/core.py:165 msgid "date de fin d'examens" msgstr "" -#: models/core.py:161 models/core.py:291 models/core.py:544 models/core.py:633 +#: models/core.py:166 +msgid "nombre maximal de copies" +msgstr "" + +#: models/core.py:189 models/core.py:337 models/core.py:605 models/core.py:696 msgid "course type" msgstr "type de matière" -#: models/core.py:168 models/core.py:506 models/pro.py:46 models/pro.py:83 +#: models/core.py:196 models/core.py:564 models/pro.py:46 models/pro.py:83 msgid "title" msgstr "titre" -#: models/core.py:170 models/core.py:511 models/crfpa.py:78 +#: models/core.py:198 models/core.py:569 models/crfpa.py:80 msgid "code" msgstr "cote" -#: models/core.py:171 +#: models/core.py:199 msgid "tweeter title" msgstr "titre tweeter" -#: models/core.py:173 models/core.py:527 +#: models/core.py:201 models/core.py:585 msgid "number" msgstr "nombre" -#: models/core.py:174 models/crfpa.py:83 +#: models/core.py:202 models/crfpa.py:87 msgid "synthesis note" msgstr "note de synthèse" -#: models/core.py:175 models/crfpa.py:86 +#: models/core.py:203 models/crfpa.py:90 msgid "obligations" msgstr "obligations" -#: models/core.py:176 models/crfpa.py:107 +#: models/core.py:204 models/crfpa.py:111 msgid "magistral" msgstr "magistral" -#: models/core.py:177 models/crfpa.py:89 models/crfpa.py:140 +#: models/core.py:205 models/crfpa.py:93 models/crfpa.py:160 msgid "procedure" msgstr "procédure" -#: models/core.py:178 +#: models/core.py:206 #, fuzzy -#| msgid "written speciality" msgid "written_speciality" msgstr "spécialité écrit" -#: models/core.py:179 +#: models/core.py:207 #, fuzzy -#| msgid "oral speciality" msgid "oral_speciality" msgstr "spécialité orale" -#: models/core.py:180 +#: models/core.py:208 msgid "oral_1" msgstr "" -#: models/core.py:181 +#: models/core.py:209 msgid "oral_2" msgstr "" -#: models/core.py:182 +#: models/core.py:210 msgid "copies d'examen" msgstr "" -#: models/core.py:231 +#: models/core.py:211 +msgid "quiz" +msgstr "" + +#: models/core.py:219 +#, fuzzy +msgid "types" +msgstr "type" + +#: models/core.py:269 models/core.py:285 models/crfpa.py:191 +msgid "courses" +msgstr "matières" + +#: models/core.py:277 #, fuzzy -#| msgid "course type" msgid "course group" msgstr "type de matière" -#: models/core.py:265 models/core.py:292 +#: models/core.py:283 models/core.py:851 models/crfpa.py:215 +#: models/crfpa.py:248 models/pro.py:101 models/pro.py:140 +msgid "user" +msgstr "utilisateur" + +#: models/core.py:311 models/core.py:338 webclass/models.py:161 msgid "professor" msgstr "professeur" -#: models/core.py:280 models/core.py:296 +#: models/core.py:326 models/core.py:342 msgid "room" msgstr "salle" -#: models/core.py:285 +#: models/core.py:331 msgid "public_id" msgstr "public id" -#: models/core.py:298 +#: models/core.py:344 msgid "comment" msgstr "commentaire" -#: models/core.py:301 models/core.py:559 models/core.py:597 models/core.py:640 +#: models/core.py:347 models/core.py:622 models/core.py:660 models/core.py:703 msgid "readers" msgstr "" -#: models/core.py:304 models/crfpa.py:65 models/crfpa.py:66 +#: models/core.py:350 models/core.py:519 +msgid "streaming" +msgstr "diffusion" + +#: models/core.py:351 models/crfpa.py:67 models/crfpa.py:68 msgid "web class group" msgstr "" -#: models/core.py:430 models/core.py:458 models/core.py:545 models/core.py:629 +#: models/core.py:485 models/core.py:513 models/core.py:606 models/core.py:692 msgid "conference" msgstr "conférence" -#: models/core.py:438 +#: models/core.py:493 msgid "host" msgstr "hôte" -#: models/core.py:439 +#: models/core.py:494 msgid "port" msgstr "port" -#: models/core.py:442 +#: models/core.py:497 msgid "source password" msgstr "" -#: models/core.py:443 +#: models/core.py:498 msgid "admin password" msgstr "" -#: models/core.py:450 models/core.py:461 +#: models/core.py:505 models/core.py:516 msgid "streaming server" msgstr "serveur de diffusion" -#: models/core.py:462 +#: models/core.py:517 msgid "Streaming type" msgstr "Type de flux" -#: models/core.py:464 -msgid "streaming" -msgstr "diffusion" - -#: models/core.py:500 +#: models/core.py:558 msgid "live stream" msgstr "stream en direct" -#: models/core.py:508 +#: models/core.py:566 msgid "credits" msgstr "crédits" -#: models/core.py:512 +#: models/core.py:570 msgid "published" msgstr "publié" -#: models/core.py:513 +#: models/core.py:571 msgid "mime type" msgstr "Type mime" -#: models/core.py:514 models/pro.py:86 +#: models/core.py:572 models/pro.py:86 msgid "weight" msgstr "poids" -#: models/core.py:534 +#: models/core.py:595 msgid "document type" msgstr "type de document" -#: models/core.py:553 models/crfpa.py:133 +#: models/core.py:610 +#, fuzzy +msgid "periods" +msgstr "période" + +#: models/core.py:616 models/core.py:852 webclass/models.py:127 msgid "iej" msgstr "iej" -#: models/core.py:555 +#: models/core.py:618 msgid "annal" msgstr "annale" -#: models/core.py:556 -msgid "year" -msgstr "année" +#: models/core.py:619 +msgid "year" +msgstr "année" + +#: models/core.py:620 models/core.py:658 +msgid "file" +msgstr "fichier" + +#: models/core.py:856 models/crfpa.py:131 +#, fuzzy +msgid "e-learning platform only" +msgstr "plateforme seulement" + +#: models/core.py:857 +msgid "application fees" +msgstr "frais de dossier" + +#: models/core.py:859 +msgid "subscription fees" +msgstr "frais d'inscription" + +#: models/core.py:860 +msgid "promo code" +msgstr "" + +#: models/core.py:861 models/crfpa.py:256 +#, fuzzy +msgid "registration date" +msgstr "Inscription" + +#: models/core.py:862 +msgid "subscription date" +msgstr "date d'inscription" + +#: models/core.py:863 +msgid "subscribed" +msgstr "inscrit" + +#: models/core.py:864 +msgid "confirmation sent" +msgstr "confirmation envoyée" + +#: models/core.py:865 +#, fuzzy +msgid "studying level" +msgstr "serveur de diffusion" + +#: models/core.py:867 +msgid "balance de paiement" +msgstr "" + +#: models/core.py:870 +msgid "envoi des fascicules" +msgstr "" + +#: models/core.py:873 +#, fuzzy +msgid "type de paiement" +msgstr "département" -#: models/core.py:557 models/core.py:595 -msgid "file" -msgstr "fichier" +#: models/core.py:876 +msgid "échéancier de paiement" +msgstr "" + +#: models/core.py:880 +#, fuzzy +msgid "commentaire" +msgstr "commentaire" -#: models/crfpa.py:53 models/crfpa.py:54 models/crfpa.py:61 -#: templates/registration/registration_pdf.html:48 -#: templates/teleforma/annals.html:31 templates/telemeta/inc/user_list.html:21 -#: templates/telemeta/profile_detail.html:64 templates/telemeta/users.html:28 +#: models/crfpa.py:55 models/crfpa.py:56 models/crfpa.py:63 +#: templates/registration/registration_pdf.html:74 +#: templates/teleforma/annals.html:31 templates/telemeta/profile_detail.html:69 +#: templates/telemeta/users.html:28 templates/telemeta/inc/user_list.html:22 msgid "IEJ" msgstr "IEJ" -#: models/crfpa.py:92 models/crfpa.py:143 models/crfpa.py:146 +#: models/crfpa.py:96 models/crfpa.py:118 models/crfpa.py:163 msgid "written speciality" msgstr "spécialité écrit" -#: models/crfpa.py:95 models/crfpa.py:149 +#: models/crfpa.py:99 models/crfpa.py:166 msgid "oral speciality" msgstr "spécialité orale" -#: models/crfpa.py:98 +#: models/crfpa.py:102 msgid "oral 1" msgstr "" -#: models/crfpa.py:101 +#: models/crfpa.py:105 msgid "oral 2" msgstr "" -#: models/crfpa.py:104 models/crfpa.py:158 +#: models/crfpa.py:108 models/crfpa.py:175 msgid "options" msgstr "options" -#: models/crfpa.py:109 +#: models/crfpa.py:115 +msgid "civil rights" +msgstr "" + +#: models/crfpa.py:121 +#, fuzzy +msgid "judiciary organization" +msgstr "organisation" + +#: models/crfpa.py:124 +msgid "deontology" +msgstr "" + +#: models/crfpa.py:127 msgid "cost" msgstr "coût" -#: models/crfpa.py:110 +#: models/crfpa.py:128 +msgid "e-learning cost with fascicle" +msgstr "" + +#: models/crfpa.py:129 +msgid "e-learning cost without fascicle" +msgstr "" + +#: models/crfpa.py:130 msgid "available" msgstr "" -#: models/crfpa.py:126 models/crfpa.py:137 +#: models/crfpa.py:148 models/crfpa.py:157 msgid "training" msgstr "formation" -#: models/crfpa.py:135 +#: models/crfpa.py:154 msgid "trainings" msgstr "formations" -#: models/crfpa.py:152 +#: models/crfpa.py:169 msgid "oral de langue (option)" msgstr "" -#: models/crfpa.py:155 +#: models/crfpa.py:172 msgid "oral 2 (option)" msgstr "" -#: models/crfpa.py:162 -#, fuzzy -#| msgid "platform only" -msgid "e-learning platform only" -msgstr "plateforme seulement" - -#: models/crfpa.py:163 -msgid "application fees" -msgstr "frais de dossier" - -#: models/crfpa.py:165 -msgid "subscription fees" -msgstr "frais d'inscription" - -#: models/crfpa.py:166 -msgid "promo code" -msgstr "" - -#: models/crfpa.py:167 -#, fuzzy -#| msgid "Registration" -msgid "registration date" -msgstr "Inscription" - -#: models/crfpa.py:168 -msgid "subscription date" -msgstr "date d'inscription" - -#: models/crfpa.py:169 -msgid "subscribed" -msgstr "inscrit" - -#: models/crfpa.py:170 -msgid "confirmation sent" -msgstr "confirmation envoyée" - -#: models/crfpa.py:171 -#, fuzzy -#| msgid "streaming server" -msgid "studying level" -msgstr "serveur de diffusion" - -#: models/crfpa.py:222 +#: models/crfpa.py:182 msgid "Student" msgstr "Etudiant" -#: models/crfpa.py:223 +#: models/crfpa.py:183 msgid "Students" msgstr "Etudiants" -#: models/crfpa.py:231 templates/registration/registration_pdf.html:41 -#: templates/telemeta/profile_detail.html:77 -msgid "Address" -msgstr "Adresse" - -#: models/crfpa.py:232 -#, fuzzy -#| msgid "Address" -msgid "Address detail" -msgstr "Adresse" - -#: models/crfpa.py:233 -msgid "Postal code" -msgstr "Code postal" - -#: models/crfpa.py:234 -msgid "City" -msgstr "Ville" +#: models/crfpa.py:196 +msgid "AE student" +msgstr "Etudiant AE" -#: models/crfpa.py:235 -msgid "Country" -msgstr "Pays" +#: models/crfpa.py:197 +msgid "AE students" +msgstr "Etudiants AE" -#: models/crfpa.py:236 templates/telemeta/profile_detail.html:88 +#: models/crfpa.py:221 templates/telemeta/profile_detail.html:93 msgid "Language" msgstr "Langue" -#: models/crfpa.py:237 templates/registration/registration_pdf.html:42 -#: templates/telemeta/profile_detail.html:78 -msgid "Telephone" -msgstr "Téléphone" - -#: models/crfpa.py:238 +#: models/crfpa.py:223 msgid "Expiration_date" msgstr "Date d'expiration" -#: models/crfpa.py:239 +#: models/crfpa.py:224 msgid "Password initialized" msgstr "Mot de passe initialisé" -#: models/crfpa.py:240 templates/telemeta/profile_detail.html:79 +#: models/crfpa.py:225 templates/telemeta/profile_detail.html:84 msgid "WiFi login" msgstr "" -#: models/crfpa.py:241 +#: models/crfpa.py:226 msgid "WiFi pass" msgstr "" -#: models/crfpa.py:242 +#: models/crfpa.py:227 msgid "birthday" msgstr "" -#: models/crfpa.py:246 +#: models/crfpa.py:237 msgid "profile" msgstr "profil" -#: models/crfpa.py:257 models/crfpa.py:275 models/crfpa.py:288 -#: models/crfpa.py:301 +#: models/crfpa.py:268 +#, fuzzy +msgid "Correcteur" +msgstr "Correcteur" + +#: models/crfpa.py:269 +#, fuzzy +msgid "Correcteurs" +msgstr "Correcteurs" + +#: models/crfpa.py:281 models/crfpa.py:307 models/crfpa.py:320 +#: models/crfpa.py:333 msgid "student" msgstr "étudiant" -#: models/crfpa.py:258 models/crfpa.py:276 models/crfpa.py:289 -#: models/crfpa.py:302 +#: models/crfpa.py:282 models/crfpa.py:308 models/crfpa.py:321 +#: models/crfpa.py:334 msgid "amount" msgstr "montant" -#: models/crfpa.py:259 +#: models/crfpa.py:283 msgid "month" msgstr "mois" -#: models/crfpa.py:260 -msgid "collected" -msgstr "encaissé" - -#: models/crfpa.py:261 +#: models/crfpa.py:285 #, fuzzy -#| msgid "document type" msgid "payment type" msgstr "type de document" -#: models/crfpa.py:262 +#: models/crfpa.py:287 models/crfpa.py:398 msgid "date created" msgstr "date de création" -#: models/crfpa.py:267 +#: models/crfpa.py:299 msgid "Payment" msgstr "Paiement" -#: models/crfpa.py:268 +#: models/crfpa.py:300 msgid "Payments" msgstr "Paiements" -#: models/crfpa.py:281 +#: models/crfpa.py:313 msgid "Discount" msgstr "Réduction" -#: models/crfpa.py:282 +#: models/crfpa.py:314 msgid "Discounts" msgstr "Réductions" -#: models/crfpa.py:294 models/crfpa.py:295 +#: models/crfpa.py:326 models/crfpa.py:327 msgid "Optional fees" msgstr "Frais optionnels" -#: models/crfpa.py:307 +#: models/crfpa.py:339 #, fuzzy -#| msgid "backup" msgid "Payback" msgstr "sauvegardé" -#: models/crfpa.py:308 +#: models/crfpa.py:340 msgid "Paybacks" msgstr "" +#: models/crfpa.py:347 models/crfpa.py:393 templates/quiz/quiz_list.html:12 +#: templates/teleforma/course.html:18 templates/teleforma/course.html.py:35 +#: templates/teleforma/course_conference_audio.html:66 +#: templates/teleforma/course_document.html:73 +#: templates/teleforma/inc/conference_list.html:25 +#: templates/teleforma/inc/media_list.html:36 +#: templates/teleforma/inc/media_list_pending.html:37 +#: templates/telemeta/lists.html:69 templates/telemeta/search_criteria.html:97 +#: templates/telemeta/inc/module_revisions.html:17 +msgid "Title" +msgstr "Titre" + #: models/messages.py:13 #, fuzzy -#| msgid "student" msgid "students" msgstr "étudiant" #: models/messages.py:18 #, fuzzy -#| msgid "Student" msgid "Student group" msgstr "Etudiant" @@ -990,7 +1105,6 @@ msgstr "" #: models/messages.py:33 #, fuzzy -#| msgid "Reject" msgid "subject" msgstr "Rejeter" @@ -1001,19 +1115,16 @@ msgstr "Messages" #: models/messages.py:35 #, fuzzy -#| msgid "date end" msgid "to send" msgstr "date de fin" #: models/messages.py:36 #, fuzzy -#| msgid "date end" msgid "sent" msgstr "date de fin" #: models/messages.py:37 #, fuzzy -#| msgid "date end" msgid "date sent" msgstr "date de fin" @@ -1073,11 +1184,12 @@ msgstr "question" msgid "minimum numbers of characters" msgstr "nombre de caractère minimum" -#: models/pro.py:96 +#: models/pro.py:96 templates/quiz/question.html:47 +#: templates/quiz/sitting_detail.html:21 msgid "Question" msgstr "Questions" -#: models/pro.py:101 models/pro.py:102 models/pro.py:103 +#: models/pro.py:103 msgid "answer" msgstr "réponse" @@ -1085,10 +1197,6 @@ msgstr "réponse" msgid "validated" msgstr "validé" -#: models/pro.py:117 -msgid "Answer" -msgstr "Réponse" - #: models/pro.py:126 models/pro.py:142 msgid "testimonial_template" msgstr "" @@ -1117,6 +1225,30 @@ msgstr "Page non trouvée" msgid "Server error" msgstr "Erreur du serveur" +#: templates/admin/base.html:74 +msgid "Welcome," +msgstr "" + +#: templates/admin/base.html:82 +#, fuzzy +msgid "Documentation" +msgstr "Supports écrits" + +#: templates/admin/base.html:85 +#: templates/registration/password_change_form.html:3 +#: templates/registration/password_change_form.html:8 +#: templates/telemeta/profile_detail.html:50 +msgid "Change password" +msgstr "" + +#: templates/admin/base.html:87 +msgid "Log out" +msgstr "" + +#: templates/admin/base.html:107 templates/telemeta/base.html:108 +msgid "Home" +msgstr "Accueil" + #: templates/postman/archives.html:3 #, fuzzy msgid "Archived Messages" @@ -1166,81 +1298,69 @@ msgstr "Messages" msgid "Sorry, this page number is invalid." msgstr "" -#: templates/postman/base_folder.html:39 +#: templates/postman/base_folder.html:40 #: templates/teleforma/course_conference_record.html:69 #: templates/telemeta/lists.html:75 msgid "Action" msgstr "" -#: templates/postman/base_folder.html:40 +#: templates/postman/base_folder.html:41 msgid "Sender" msgstr "" -#: templates/postman/base_folder.html:41 templates/postman/reply.html:4 -msgid "Recipient" -msgstr "" - -#: templates/postman/base_folder.html:42 +#: templates/postman/base_folder.html:43 msgid "Subject" msgstr "" -#: templates/postman/base_folder.html:43 +#: templates/postman/base_folder.html:44 #: templates/telemeta/inc/module_revisions.html:16 msgid "Date" msgstr "Date" -#: templates/postman/base_folder.html:61 +#: templates/postman/base_folder.html:62 msgid "g:i A,M j,n/j/y" msgstr "" -#: templates/postman/base_folder.html:69 templates/postman/view.html:39 +#: templates/postman/base_folder.html:70 templates/postman/view.html:47 #: templates/telemeta/lists.html:58 msgid "Delete" msgstr "" -#: templates/postman/base_folder.html:72 templates/postman/view.html:43 +#: templates/postman/base_folder.html:73 templates/postman/view.html:51 msgid "Archive" msgstr "" -#: templates/postman/base_folder.html:75 +#: templates/postman/base_folder.html:76 msgid "Undelete" msgstr "" -#: templates/postman/base_folder.html:81 +#: templates/postman/base_folder.html:82 #, fuzzy msgid "No messages." msgstr "Messages" -#: templates/postman/base_write.html:30 +#: templates/postman/base_write.html:13 msgid "" "Vous pouvez ici échanger des messages avec les professeurs et les " "administrateurs." msgstr "" -#: templates/postman/base_write.html:32 +#: templates/postman/base_write.html:15 msgid "" "Pour les questions concernant l'organisation des cours, le planning, les " "documents de cours ou les copies, adressez-vous à Admin-CRFPA." msgstr "" -#: templates/postman/base_write.html:34 +#: templates/postman/base_write.html:17 msgid "" "Pour les questions concernant uniquement l'accès à la plateforme et aux " "médias vidéo ou audio, lire d'abord" msgstr "" -#: templates/postman/base_write.html:34 +#: templates/postman/base_write.html:19 msgid "puis adressez-vous à Support technique." msgstr "" -#: templates/postman/base_write.html:38 -msgid "to an administrator" -msgstr "à un administrateur" - -#: templates/postman/base_write.html:46 -msgid "to a professor" -msgstr "à un professeur" - #: templates/postman/email_user.txt:1 templates/postman/email_user_init.txt:1 msgid "Hello" msgstr "Bonjour" @@ -1289,7 +1409,7 @@ msgstr "" msgid "Thank you again for your interest in our services." msgstr "" -#: templates/postman/email_user.txt:20 +#: templates/postman/email_user.txt:20 templates/quiz/question.html:47 msgid "of" msgstr "de" @@ -1304,70 +1424,310 @@ msgstr "" msgid "%(organization)s : initialization of your e-learning account" msgstr "%(organization)s : initialisation de votre compte e-learning" -#: templates/postman/email_visitor.txt:1 -msgid "Dear visitor," +#: templates/postman/email_visitor.txt:1 +msgid "Dear visitor," +msgstr "" + +#: templates/postman/email_visitor.txt:8 +msgid "As a reminder, please find below the content of your message." +msgstr "" + +#: templates/postman/email_visitor.txt:11 +msgid "Please find below the answer from your correspondent." +msgstr "" + +#: templates/postman/email_visitor.txt:15 +msgid "For more comfort, we encourage you to open an account on the site." +msgstr "" + +#: templates/postman/inbox.html:3 +#, fuzzy +msgid "Received Messages" +msgstr "Messages" + +#: templates/postman/inbox.html:6 +msgid "Received" +msgstr "" + +#: templates/postman/reply.html:3 templates/postman/view.html:56 +#: templates/postman/view.html.py:59 +msgid "Reply" +msgstr "" + +#: templates/postman/sent.html:6 +msgid "Sent" +msgstr "" + +#: templates/postman/trash.html:3 +#, fuzzy +msgid "Deleted Messages" +msgstr "Messages" + +#: templates/postman/trash.html:10 +msgid "" +"Messages in this folder can be removed from time to time. For long term " +"storage, use instead the archive folder." +msgstr "" + +#: templates/postman/view.html:9 +msgid "Conversation" +msgstr "" + +#: templates/postman/view.html:9 templates/telemeta/inc/user_list.html:73 +#, fuzzy +msgid "Message" +msgstr "Messages" + +#: templates/postman/view.html:33 +msgid ":" +msgstr "" + +#: templates/postman/view.html:44 +msgid "Back" +msgstr "" + +#: templates/postman/write.html:3 templates/telemeta/inc/user_list.html:29 +msgid "Write" +msgstr "" + +#: templates/quiz/category_list.html:3 templates/quiz/quiz_list.html:3 +#: templates/quiz/sitting_list.html:3 +msgid "All Quizzes" +msgstr "" + +#: templates/quiz/category_list.html:6 +#, fuzzy +msgid "Category list" +msgstr "catégories" + +#: templates/quiz/correct_answer.html:6 +msgid "You answered the above question incorrectly" +msgstr "" + +#: templates/quiz/correct_answer.html:16 +msgid "This is the correct answer" +msgstr "" + +#: templates/quiz/correct_answer.html:23 +msgid "This was your answer." +msgstr "" + +#: templates/quiz/progress.html:6 +msgid "Progress Page" +msgstr "" + +#: templates/quiz/progress.html:7 +#, fuzzy +msgid "User Progress Page" +msgstr "Profil utilisateur" + +#: templates/quiz/progress.html:13 +msgid "Question Category Scores" +msgstr "" + +#: templates/quiz/progress.html:19 templates/quiz/quiz_detail.html:9 +#: templates/quiz/quiz_list.html:13 templates/quiz/sitting_detail.html:10 +#, fuzzy +msgid "Category" +msgstr "catégorie" + +#: templates/quiz/progress.html:20 +msgid "Correctly answererd" +msgstr "" + +#: templates/quiz/progress.html:21 +#, fuzzy +msgid "Incorrect" +msgstr "correcteur" + +#: templates/quiz/progress.html:50 +msgid "Previous exam papers" +msgstr "" + +#: templates/quiz/progress.html:52 +msgid "Below are the results of exams that you have sat." +msgstr "" + +#: templates/quiz/progress.html:59 +#, fuzzy +msgid "Quiz Title" +msgstr "Titre" + +#: templates/quiz/progress.html:61 +msgid "Possible Score" +msgstr "" + +#: templates/quiz/question.html:13 templates/quiz/result.html:13 +msgid "The previous question" +msgstr "" + +#: templates/quiz/question.html:32 templates/quiz/result.html:21 +#: templates/quiz/result.html.py:80 +#, fuzzy +msgid "Explanation" +msgstr "Date d'expiration" + +#: templates/quiz/question.html:52 +#, fuzzy +msgid "Question category" +msgstr "Questions" + +#: templates/quiz/question.html:74 +msgid "Check" +msgstr "" + +#: templates/quiz/quiz_detail.html:11 +msgid "You will only get one attempt at this quiz" +msgstr "" + +#: templates/quiz/quiz_detail.html:16 +msgid "Start quiz" +msgstr "" + +#: templates/quiz/quiz_list.html:6 +msgid "List of quizzes" +msgstr "" + +#: templates/quiz/quiz_list.html:14 +msgid "Exam" +msgstr "" + +#: templates/quiz/quiz_list.html:15 +msgid "Single attempt" +msgstr "" + +#: templates/quiz/quiz_list.html:31 templates/quiz/sitting_list.html:42 +#, fuzzy +msgid "View details" +msgstr "Adresse" + +#: templates/quiz/quiz_list.html:41 +msgid "There are no available quizzes" +msgstr "" + +#: templates/quiz/result.html:7 +msgid "Exam Results for" +msgstr "" + +#: templates/quiz/result.html:32 +msgid "Exam results" +msgstr "" + +#: templates/quiz/result.html:34 +#, fuzzy +msgid "Exam title" +msgstr "titre" + +#: templates/quiz/result.html:38 +#, fuzzy +msgid "You answered" +msgstr "réponse" + +#: templates/quiz/result.html:38 +msgid "questions correctly out of" +msgstr "" + +#: templates/quiz/result.html:38 +msgid "giving you" +msgstr "" + +#: templates/quiz/result.html:38 +msgid "percent correct" +msgstr "" + +#: templates/quiz/result.html:59 +msgid "Your session score is" +msgstr "" + +#: templates/quiz/result.html:59 +msgid "out of a possible" +msgstr "" + +#: templates/quiz/result.html:77 +#, fuzzy +msgid "Your answer" +msgstr "réponse" + +#: templates/quiz/single_complete.html:13 +msgid "You have already sat this exam and only one sitting is permitted" msgstr "" -#: templates/postman/email_visitor.txt:8 -msgid "As a reminder, please find below the content of your message." +#: templates/quiz/single_complete.html:15 +msgid "This exam is only accessible to signed in users" msgstr "" -#: templates/postman/email_visitor.txt:11 -msgid "Please find below the answer from your correspondent." +#: templates/quiz/sitting_detail.html:5 +msgid "Result of" msgstr "" -#: templates/postman/email_visitor.txt:15 -msgid "For more comfort, we encourage you to open an account on the site." +#: templates/quiz/sitting_detail.html:5 +msgid "for" msgstr "" -#: templates/postman/inbox.html:3 +#: templates/quiz/sitting_detail.html:9 #, fuzzy -msgid "Received Messages" -msgstr "Messages" +msgid "Quiz title" +msgstr "titre" -#: templates/postman/inbox.html:6 -msgid "Received" +#: templates/quiz/sitting_detail.html:13 templates/quiz/sitting_list.html:13 +#: templates/telemeta/inc/module_revisions.html:19 +msgid "User" msgstr "" -#: templates/postman/reply.html:3 templates/postman/view.html:47 -#: templates/postman/view.html:50 templates/postman/view.html:53 -msgid "Reply" -msgstr "" +#: templates/quiz/sitting_detail.html:14 templates/quiz/sitting_list.html:15 +#, fuzzy +msgid "Completed" +msgstr "incomplet" -#: templates/postman/sent.html:6 -msgid "Sent" -msgstr "" +#: templates/quiz/sitting_detail.html:22 +#, fuzzy +msgid "User answer" +msgstr "réponse" -#: templates/postman/trash.html:3 +#: templates/quiz/sitting_detail.html:41 #, fuzzy -msgid "Deleted Messages" -msgstr "Messages" +msgid "incorrect" +msgstr "correcteur" -#: templates/postman/trash.html:10 -msgid "" -"Messages in this folder can be removed from time to time. For long term " -"storage, use instead the archive folder." +#: templates/quiz/sitting_detail.html:43 +#, fuzzy +msgid "Correct" +msgstr "Correcteur" + +#: templates/quiz/sitting_detail.html:49 +msgid "Toggle whether correct" msgstr "" -#: templates/postman/view.html:9 -msgid "Conversation" +#: templates/quiz/sitting_list.html:6 +msgid "List of complete exams" msgstr "" -#: templates/postman/view.html:9 templates/telemeta/inc/user_list.html:72 -#, fuzzy -msgid "Message" -msgstr "Messages" +#: templates/quiz/sitting_list.html:14 +msgid "Quiz" +msgstr "" -#: templates/postman/view.html:25 -msgid ":" +#: templates/quiz/sitting_list.html:28 +msgid "Filter" msgstr "" -#: templates/postman/view.html:36 -msgid "Back" +#: templates/quiz/sitting_list.html:52 +msgid "There are no matching quizzes" msgstr "" -#: templates/postman/write.html:3 templates/telemeta/inc/user_list.html:28 -msgid "Write" +#: templates/quiz/view_quiz_category.html:3 +msgid "Quizzes related to" +msgstr "" + +#: templates/quiz/view_quiz_category.html:6 +msgid "Quizzes in the" +msgstr "" + +#: templates/quiz/view_quiz_category.html:6 +msgid "category" +msgstr "catégorie" + +#: templates/quiz/view_quiz_category.html:20 +msgid "There are no quizzes" msgstr "" #: templates/registration/activate.html:3 @@ -1417,10 +1777,10 @@ msgid "" "from our records.\n" "

\n" "

\n" -"To activate this account, please click the following link within the next \n" +"To activate this account, please click the following link within the next\n" "%(expiration_days)s days:
\n" -"http://%(sitedomain)s" -"%(activation_key_url)s\n" +"https://" +"%(sitedomain)s%(activation_key_url)s\n" "

\n" "

\n" "Sincerely,
\n" @@ -1489,12 +1849,6 @@ msgstr "Mot de passe initialisé" msgid "Password successfully changed!" msgstr "" -#: templates/registration/password_change_form.html:3 -#: templates/registration/password_change_form.html:8 -#: templates/telemeta/profile_detail.html:49 -msgid "Change password" -msgstr "" - #: templates/registration/password_reset_complete.html:3 #, fuzzy msgid "Password reset complete" @@ -1521,7 +1875,7 @@ msgid "Set password" msgstr "" #: templates/registration/password_reset_done.html:3 -#: templates/telemeta/profile_detail.html:106 +#: templates/telemeta/profile_detail.html:114 msgid "Password reset" msgstr "Réinitialisation du mot de passe" @@ -1572,149 +1926,138 @@ msgid "" msgstr "" #: templates/registration/registration_complete.html:6 -#: templates/registration/registration_pdf.html:13 views/crfpa.py:496 +#: templates/registration/registration_corrector_complete.html:6 +#: templates/registration/registration_corrector_pdf.html:14 +#: templates/registration/registration_pdf.html:14 views/crfpa.py:624 +#: views/crfpa.py:787 views/crfpa.py:801 msgid "Registration" msgstr "Inscription" -#: templates/registration/registration_complete.html:23 -#: templates/teleforma/annals.html:73 templates/teleforma/course_media.html:64 -#: templates/teleforma/inc/document_list.html:22 +#: templates/registration/registration_complete.html:19 +#: templates/teleforma/annals.html:73 templates/teleforma/course_media.html:65 +#: templates/teleforma/inc/document_list.html:20 #: templates/teleforma/inc/media_list.html:56 -#: templates/teleforma/inc/media_list_pending.html:56 +#: templates/teleforma/inc/media_list_pending.html:57 msgid "Download" msgstr "Télécharger" -#: templates/registration/registration_form.html:6 -#, fuzzy -#| msgid "Registration" -msgid "Pre-registration" -msgstr "Inscription" - -#: templates/registration/registration_pdf.html:35 -#, fuzzy -#| msgid "Registration" -msgid "Training registration" -msgstr "Inscription" - -#: templates/registration/registration_pdf.html:35 -#: templates/registration/registration_pdf.html:49 -msgid "Training" -msgstr "Formation" - -#: templates/registration/registration_pdf.html:39 +#: templates/registration/registration_corrector_pdf.html:36 +#: templates/registration/registration_pdf.html:41 msgid "First name" msgstr "Prénom" -#: templates/registration/registration_pdf.html:40 +#: templates/registration/registration_corrector_pdf.html:40 +#: templates/registration/registration_pdf.html:45 msgid "Last name" msgstr "Nom" -#: templates/registration/registration_pdf.html:43 +#: templates/registration/registration_corrector_pdf.html:52 +#: templates/registration/registration_pdf.html:57 msgid "E-mail" msgstr "" -#: templates/registration/registration_pdf.html:44 -#: templates/telemeta/profile_detail.html:61 +#: templates/registration/registration_corrector_pdf.html:56 +#: templates/registration/registration_pdf.html:61 +#: templates/telemeta/profile_detail.html:66 msgid "Username" msgstr "Nom d'utilisateur" -#: templates/registration/registration_pdf.html:45 -msgid "Birthday" -msgstr "" +#: templates/registration/registration_corrector_pdf.html:85 +#: templates/registration/registration_pdf.html:106 +#, fuzzy +msgid "Registration date" +msgstr "Inscription" -#: templates/registration/registration_pdf.html:47 +#: templates/registration/registration_form.html:34 #, fuzzy -#| msgid "streaming server" -msgid "Studying level" -msgstr "serveur de diffusion" +msgid "Pre-registration" +msgstr "Inscription" + +#: templates/registration/registration_pdf.html:36 +#, fuzzy +msgid "Training registration" +msgstr "Inscription" + +#: templates/registration/registration_pdf.html:36 +#: templates/registration/registration_pdf.html:78 +msgid "Training" +msgstr "Formation" -#: templates/registration/registration_pdf.html:50 +#: templates/registration/registration_pdf.html:82 #, fuzzy -#| msgid "Training" msgid "Training type" msgstr "Formation" -#: templates/registration/registration_pdf.html:51 +#: templates/registration/registration_pdf.html:86 +msgid "Envoi postal des fascicules" +msgstr "" + +#: templates/registration/registration_pdf.html:90 msgid "Matière de procédure" msgstr "" -#: templates/registration/registration_pdf.html:52 +#: templates/registration/registration_pdf.html:94 msgid "Matière juridique de spécialité" msgstr "" -#: templates/registration/registration_pdf.html:54 +#: templates/registration/registration_pdf.html:99 msgid "Matière d'oral de langue" msgstr "" -#: templates/registration/registration_pdf.html:57 -#, fuzzy -#| msgid "Registration" -msgid "Registration date" -msgstr "Inscription" - -#: templates/registration/registration_pdf.html:58 +#: templates/registration/registration_pdf.html:110 msgid "PROMO code" msgstr "" -#: templates/teleforma/annals.html:6 templates/teleforma/annals.html:53 -#: templates/telemeta/base.html:113 +#: templates/teleforma/annals.html:6 templates/teleforma/annals.html.py:53 +#: templates/telemeta/base.html:119 msgid "Annals" msgstr "Annales" #: templates/teleforma/annals.html:49 -#: templates/teleforma/inc/document_list.html:36 +#: templates/teleforma/inc/document_list.html:33 msgid "No document" msgstr "Aucun document" #: templates/teleforma/annals.html:69 #: templates/teleforma/inc/conference_list.html:18 -#: templates/teleforma/inc/document_list.html:20 +#: templates/teleforma/inc/document_list.html:18 +#: webclass/templates/webclass/inc/webclass_list.html:49 msgid "View" msgstr "Voir" -#: templates/teleforma/course.html:14 +#: templates/teleforma/course.html:15 #: templates/teleforma/inc/document_list.html:7 msgid "Documents" msgstr "Supports écrits" -#: templates/teleforma/course.html:17 templates/teleforma/course.html:33 -#: templates/teleforma/course_conference_audio.html:66 -#: templates/teleforma/course_document.html:73 -#: templates/teleforma/inc/conference_list.html:25 -#: templates/teleforma/inc/media_list.html:36 -#: templates/teleforma/inc/media_list_pending.html:36 -#: templates/telemeta/inc/module_revisions.html:17 -#: templates/telemeta/lists.html:69 templates/telemeta/search_criteria.html:97 -msgid "Title" -msgstr "Titre" - -#: templates/teleforma/course.html:18 templates/teleforma/course.html:34 +#: templates/teleforma/course.html:19 templates/teleforma/course.html.py:36 msgid "Description" msgstr "Description" -#: templates/teleforma/course.html:19 templates/teleforma/course.html:35 -#: templates/teleforma/course.html:52 templates/teleforma/course_media.html:149 -#: templates/telemeta/profile_detail.html:83 +#: templates/teleforma/course.html:20 templates/teleforma/course.html.py:37 +#: templates/teleforma/course.html:54 templates/teleforma/course_media.html:149 +#: templates/telemeta/profile_detail.html:88 msgid "Date added" msgstr "Date d'ajout" -#: templates/teleforma/course.html:30 +#: templates/teleforma/course.html:32 msgid "Medias" msgstr "Médias" -#: templates/teleforma/course.html:47 +#: templates/teleforma/course.html:49 msgid "Conferences" msgstr "Conférences" -#: templates/teleforma/course.html:51 +#: templates/teleforma/course.html:53 #: templates/teleforma/course_conference.html:68 #: templates/teleforma/course_conference_audio.html:67 -#: templates/teleforma/course_media.html:140 +#: templates/teleforma/course_media.html:141 #: templates/teleforma/course_media_video_embed.html:36 #: templates/teleforma/inc/conference_list.html:28 #: templates/teleforma/inc/media_list.html:39 -#: templates/teleforma/inc/media_list_pending.html:39 -#: templates/telemeta/inc/user_list.html:48 +#: templates/teleforma/inc/media_list_pending.html:40 +#: templates/telemeta/inc/user_list.html:49 +#: webclass/templates/webclass/inc/webclass_list.html:58 msgid "Professor" msgstr "Professeur" @@ -1724,61 +2067,62 @@ msgid "S T O P" msgstr "S T O P" #: templates/teleforma/course_conference.html:37 -#: templates/teleforma/course_media.html:76 +#: templates/teleforma/course_media.html:77 msgid "Audio" msgstr "" -#: templates/teleforma/course_conference.html:72 +#: templates/teleforma/course_conference.html:71 #: templates/teleforma/course_media.html:143 -#: templates/teleforma/course_media_video_embed.html:39 +#: templates/teleforma/course_media_video_embed.html:38 #: templates/teleforma/inc/media_list.html:43 -#: templates/teleforma/inc/media_list_pending.html:43 +#: templates/teleforma/inc/media_list_pending.html:44 msgid "Comment" msgstr "Commentaire" -#: templates/teleforma/course_conference.html:73 +#: templates/teleforma/course_conference.html:72 #: templates/teleforma/course_media.html:144 -#: templates/teleforma/course_media_video_embed.html:40 +#: templates/teleforma/course_media_video_embed.html:39 msgid "Begin date" msgstr "Date de début" -#: templates/teleforma/course_conference.html:74 +#: templates/teleforma/course_conference.html:73 #: templates/teleforma/course_media.html:145 -#: templates/teleforma/course_media_video_embed.html:41 +#: templates/teleforma/course_media_video_embed.html:40 msgid "End date" msgstr "Date de fin" -#: templates/teleforma/course_conference.html:75 +#: templates/teleforma/course_conference.html:74 #: templates/teleforma/course_conference_audio.html:72 msgid "Live" msgstr "Direct" -#: templates/teleforma/course_conference.html:75 -#: templatetags/teleforma_tags.py:134 +#: templates/teleforma/course_conference.html:74 +#: templatetags/teleforma_tags.py:126 msgid "Yes" msgstr "Oui" -#: templates/teleforma/course_conference.html:76 +#: templates/teleforma/course_conference.html:75 #: templates/teleforma/course_conference_audio.html:69 #: templates/teleforma/course_media.html:146 -#: templates/teleforma/course_media_video_embed.html:42 +#: templates/teleforma/course_media_video_embed.html:41 msgid "Room" msgstr "Salle" -#: templates/teleforma/course_conference.html:78 +#: templates/teleforma/course_conference.html:77 #: templates/teleforma/course_media.html:152 msgid "Conference ID" msgstr "ID Conférence" #: templates/teleforma/course_conference_audio.html:36 -#: templates/teleforma/course_media.html:79 +#: templates/teleforma/course_media.html:80 msgid "Video" msgstr "" #: templates/teleforma/course_conference_audio.html:70 #: templates/teleforma/inc/conference_list.html:30 #: templates/teleforma/inc/media_list.html:41 -#: templates/teleforma/inc/media_list_pending.html:41 +#: templates/teleforma/inc/media_list_pending.html:42 +#: webclass/templates/webclass/inc/webclass_list.html:61 msgid "Begin" msgstr "Début" @@ -1787,12 +2131,12 @@ msgid "End" msgstr "Fin" #: templates/teleforma/course_conference_record.html:30 -#: templates/teleforma/courses.html:125 +#: templates/teleforma/courses.html:227 msgid "Status" msgstr "Status" #: templates/teleforma/course_conference_record.html:41 -#: templates/teleforma/courses.html:42 +#: templates/teleforma/courses.html:44 msgid "New conference" msgstr "Nouvelle conférence" @@ -1800,17 +2144,17 @@ msgstr "Nouvelle conférence" msgid "Record and stream" msgstr "Enregistrer et diffuser" -#: templates/teleforma/course_media.html:28 -#: templates/teleforma/course_media.html:82 +#: templates/teleforma/course_media.html:29 +#: templates/teleforma/course_media.html:83 #: templates/teleforma/inc/media_list.html:50 -#: templates/teleforma/inc/media_list_pending.html:50 +#: templates/teleforma/inc/media_list_pending.html:51 msgid " published" msgstr " publié" -#: templates/teleforma/course_media.html:35 -#: templates/teleforma/course_media.html:82 +#: templates/teleforma/course_media.html:36 +#: templates/teleforma/course_media.html:83 #: templates/teleforma/inc/media_list.html:52 -#: templates/teleforma/inc/media_list_pending.html:52 +#: templates/teleforma/inc/media_list_pending.html:53 msgid " rejected" msgstr " rejeté" @@ -1830,68 +2174,74 @@ msgstr "ID Média" msgid "Web class group" msgstr "" -#: templates/teleforma/courses.html:56 +#: templates/teleforma/courses.html:59 msgid "My notes" msgstr "Mes notes" -#: templates/teleforma/courses.html:66 +#: templates/teleforma/courses.html:69 msgid "New note" msgstr "Nouvelle note" -#: templates/teleforma/inc/conference_list.html:8 -msgid "Live conferences" -msgstr "Conférences en direct" +#: templates/teleforma/courses.html:113 +#: templates/teleforma/inc/media_list.html:17 +#: templates/teleforma/inc/media_list_pending.html:17 +msgid "Play" +msgstr "Lire" +#: templates/teleforma/courses.html:119 templates/teleforma/courses.html:125 #: templates/teleforma/inc/conference_list.html:19 #: templates/teleforma/inc/media_list.html:23 #: templates/teleforma/inc/media_list.html:29 #: templates/teleforma/inc/media_list_pending.html:23 #: templates/teleforma/inc/media_list_pending.html:29 +#: templates/teleforma/inc/media_list_pending.html:31 +#: webclass/templates/webclass/inc/webclass_list.html:50 msgid "Click here" msgstr "Cliquez ici" -#: templates/teleforma/inc/media_list.html:17 -#: templates/teleforma/inc/media_list_pending.html:17 -msgid "Play" -msgstr "Lire" +#: templates/teleforma/inc/conference_list.html:8 +msgid "Live conferences" +msgstr "Conférences en direct" +#: templates/teleforma/inc/media_list.html:8 #: templates/teleforma/inc/media_list_pending.html:8 msgid "Passed conferences" msgstr "Conférences en différé" -#: templates/telemeta/base.html:92 templates/telemeta/base.html:101 +#: templates/telemeta/base.html:94 templates/telemeta/base.html.py:103 msgid "Desk" msgstr "Bureau" -#: templates/telemeta/base.html:106 -msgid "Home" -msgstr "Accueil" - -#: templates/telemeta/base.html:111 +#: templates/telemeta/base.html:113 msgid "Messaging" msgstr "Messagerie" -#: templates/telemeta/base.html:146 +#: templates/telemeta/base.html:116 templates/telemeta/users.html:6 +#: templates/telemeta/users.html.py:69 +msgid "Users" +msgstr "" + +#: templates/telemeta/base.html:157 msgid "Admin" msgstr "" -#: templates/telemeta/base.html:154 +#: templates/telemeta/base.html:166 templates/telemeta/base.html.py:175 msgid "Profile" msgstr "Profil" -#: templates/telemeta/base.html:156 +#: templates/telemeta/base.html:168 msgid "Lists" msgstr "" -#: templates/telemeta/base.html:159 +#: templates/telemeta/base.html:171 templates/telemeta/base.html.py:176 msgid "Sign out" msgstr "" -#: templates/telemeta/base.html:201 +#: templates/telemeta/base.html:226 msgid "Powered by" msgstr "" -#: templates/telemeta/base.html:211 +#: templates/telemeta/base.html:236 msgid "Legal notices" msgstr "" @@ -1899,57 +2249,6 @@ msgstr "" msgid "Connexion" msgstr "" -#: templates/telemeta/inc/module_revisions.html:19 -msgid "User" -msgstr "" - -#: templates/telemeta/inc/module_revisions.html:40 -#: templates/telemeta/lists.html:92 -msgid "deleted" -msgstr "" - -#: templates/telemeta/inc/module_searches.html:12 -msgid "Criteria" -msgstr "" - -#: templates/telemeta/inc/user_list.html:22 -#: templates/telemeta/profile_detail.html:65 templates/telemeta/users.html:15 -msgid "Trainings" -msgstr "Formations" - -#: templates/telemeta/inc/user_list.html:23 -#: templates/telemeta/profile_detail.html:67 -msgid "Procedure" -msgstr "Procédure" - -#: templates/telemeta/inc/user_list.html:24 -#: templates/telemeta/profile_detail.html:69 -msgid "Written spe" -msgstr "Ecrit Spé" - -#: templates/telemeta/inc/user_list.html:25 -#: templates/telemeta/profile_detail.html:68 -msgid "Oral spe" -msgstr "Oral Spé" - -#: templates/telemeta/inc/user_list.html:26 -#: templates/telemeta/profile_detail.html:70 -msgid "Oral 1" -msgstr "" - -#: templates/telemeta/inc/user_list.html:27 -#: templates/telemeta/profile_detail.html:71 -msgid "Oral 2" -msgstr "" - -#: templates/telemeta/inc/user_list.html:56 -msgid "Administrator" -msgstr "" - -#: templates/telemeta/inc/user_list.html:64 -msgid "Unknown" -msgstr "" - #: templates/telemeta/lists.html:47 msgid "My playlists" msgstr "" @@ -1978,6 +2277,11 @@ msgstr "période d'enregistrement" msgid "Sound" msgstr "Sonore" +#: templates/telemeta/lists.html:92 +#: templates/telemeta/inc/module_revisions.html:40 +msgid "deleted" +msgstr "" + #: templates/telemeta/login.html:29 msgid "Password forgotten" msgstr "" @@ -1986,51 +2290,76 @@ msgstr "" msgid "Sign in" msgstr "" -#: templates/telemeta/profile_detail.html:6 +#: templates/telemeta/profile_detail.html:7 msgid "User Profile" msgstr "Profil utilisateur" -#: templates/telemeta/profile_detail.html:16 +#: templates/telemeta/profile_detail.html:17 msgid "His courses" msgstr "Ses matières" -#: templates/telemeta/profile_detail.html:36 +#: templates/telemeta/profile_detail.html:37 msgid "Send a message" msgstr "Envoyer un message" -#: templates/telemeta/profile_detail.html:44 +#: templates/telemeta/profile_detail.html:45 msgid "User profile" msgstr "Profil utilisateur" -#: templates/telemeta/profile_detail.html:51 +#: templates/telemeta/profile_detail.html:52 msgid "Login as" msgstr "Se connecter en tant que" -#: templates/telemeta/profile_detail.html:66 +#: templates/telemeta/profile_detail.html:70 templates/telemeta/users.html:15 +#: templates/telemeta/inc/user_list.html:23 +msgid "Trainings" +msgstr "Formations" + +#: templates/telemeta/profile_detail.html:71 msgid "Platform only" msgstr "Plateforme seulement" -#: templates/telemeta/profile_detail.html:72 +#: templates/telemeta/profile_detail.html:73 +#: templates/telemeta/inc/user_list.html:26 +msgid "Oral spe" +msgstr "Oral Spé" + +#: templates/telemeta/profile_detail.html:74 +#: templates/telemeta/inc/user_list.html:25 +msgid "Written spe" +msgstr "Ecrit Spé" + +#: templates/telemeta/profile_detail.html:75 +#: templates/telemeta/inc/user_list.html:27 +msgid "Oral 1" +msgstr "" + +#: templates/telemeta/profile_detail.html:76 +#: templates/telemeta/inc/user_list.html:28 +msgid "Oral 2" +msgstr "" + +#: templates/telemeta/profile_detail.html:77 msgid "Options" msgstr "Options" -#: templates/telemeta/profile_detail.html:76 +#: templates/telemeta/profile_detail.html:81 msgid "Email" msgstr "" -#: templates/telemeta/profile_detail.html:80 +#: templates/telemeta/profile_detail.html:85 msgid "WiFi password" msgstr "" -#: templates/telemeta/profile_detail.html:84 +#: templates/telemeta/profile_detail.html:89 msgid "Expiration date" msgstr "Date d'expiration" -#: templates/telemeta/profile_detail.html:85 +#: templates/telemeta/profile_detail.html:90 msgid "Last login" msgstr "" -#: templates/telemeta/profile_detail.html:96 +#: templates/telemeta/profile_detail.html:101 msgid "Apply" msgstr "" @@ -2057,10 +2386,6 @@ msgstr "à" msgid "Year of publication" msgstr "obligation" -#: templates/telemeta/users.html:6 templates/telemeta/users.html:69 -msgid "Users" -msgstr "" - #: templates/telemeta/users.html:41 msgid "Courses" msgstr "Matières" @@ -2069,34 +2394,46 @@ msgstr "Matières" msgid "No users" msgstr "Pas d'utilisateurs" -#: templatetags/teleforma_tags.py:63 +#: templates/telemeta/inc/module_searches.html:12 +msgid "Criteria" +msgstr "" + +#: templates/telemeta/inc/user_list.html:57 +msgid "Administrator" +msgstr "" + +#: templates/telemeta/inc/user_list.html:65 +msgid "Unknown" +msgstr "" + +#: templatetags/teleforma_tags.py:50 msgid "General tweeter" msgstr "Tweeter général" -#: templatetags/teleforma_tags.py:64 +#: templatetags/teleforma_tags.py:51 msgid "Local tweeter" msgstr "Tweeter local" -#: templatetags/teleforma_tags.py:129 +#: templatetags/teleforma_tags.py:121 msgid "me" msgstr "moi" -#: templatetags/teleforma_tags.py:136 +#: templatetags/teleforma_tags.py:128 msgid "No" msgstr "Non" -#: views/core.py:156 +#: views/core.py:157 msgid "Access not allowed." msgstr "Accès non autorisé." -#: views/core.py:157 +#: views/core.py:158 msgid "" "Please login or contact the website administator to get a private access." msgstr "" "Merci de vous connecter ou bien contactez l'administateur du site pour " "obtenir un accès privé." -#: views/core.py:270 +#: views/core.py:336 msgid "" "You do NOT have access to this resource and then have been redirected to " "your desk." @@ -2104,14 +2441,50 @@ msgstr "" "Vous n'avez pas accès à cette ressource et avez été redirigé vers votre " "bureau." -#: views/core.py:618 +#: views/core.py:755 msgid "A new live conference has started : " msgstr "Une nouvelle conférence en direct a commencé : " -#: views/crfpa.py:423 -msgid "You have successfully register your account." +#: webclass/models.py:109 +msgid "BBB server" +msgstr "" + +#: webclass/models.py:110 +msgid "BBB servers" +msgstr "" + +#: webclass/models.py:139 webclass/models.py:140 +msgid "webclass" +msgstr "" + +#: webclass/models.py:163 +msgid "participants" +msgstr "" + +#: webclass/models.py:173 +msgid "webclass slot" msgstr "" +#~ msgid "platform only" +#~ msgstr "plateforme seulement" + +#, fuzzy +#~| msgid "credits" +#~ msgid "credit card" +#~ msgstr "crédits" + +#~ msgid "collected" +#~ msgstr "encaissé" + +#~ msgid "Answer" +#~ msgstr "Réponse" + +#~ msgid "to an administrator" +#~ msgstr "à un administrateur" + +#~ msgid "to a professor" +#~ msgstr "à un professeur" + #, fuzzy #~| msgid "Grouped message" #~ msgid "Group messages" @@ -2137,9 +2510,6 @@ msgstr "" #~ msgid "Validate" #~ msgstr "Validée" -#~ msgid "Correctors" -#~ msgstr "Correcteurs" - #~ msgid "Treated" #~ msgstr "Traitées" @@ -2153,9 +2523,6 @@ msgstr "" #~ msgid " pending" #~ msgstr " en attente" -#~ msgid "AE students" -#~ msgstr "Etudiants AE" - #~ msgid "CRFPA student" #~ msgstr "Etudiant CRFPA" @@ -2186,12 +2553,6 @@ msgstr "" #~ msgid "Differed" #~ msgstr "Différé" -#~ msgid "category" -#~ msgstr "catégorie" - -#~ msgid "categories" -#~ msgstr "catégories" - #~ msgid "speciality" #~ msgstr "spécialité" diff --git a/teleforma/locale/fr/LC_MESSAGES/django.mo b/teleforma/locale/fr/LC_MESSAGES/django.mo index 42d0ece2b79f40de3c4a90a7519baa20e7e04fc3..30d50c2e635620c00e3ff0ddceea160bd66b45b8 100644 GIT binary patch delta 6592 zcmYk=4}8zn9>?+TW;4vjW|-M*Y-}d7HDp)*Uw^ygPySV7j7`*rndHy6-6*Y)en}|0 zbKN46h8jf|g(68Mw?uB2WGJEKU%lSH??;dOeLOy%=bZ2Pp7S~9e7`eR6s;~N(9I8H21tnN7TDZd-3R>%1%+Hq>&&&Vz3I(ERS4IC#4yP@vqVJJ?)I_P2u`Y;@q zV^v&h?He(eZcaG`4X^`i;zw8wk68T#22nqU>UR+}@C{VI;26gV!*Emru~-jNPziTJ z_3w>JV1U(!VG#2>qbO+Lv8aIxPy@~OcW|5%)IHUv_O+-4HlQXbLnXc) zmG~a>5NiCd(ba(8QK*flP&@D|`nQ%BLJx+c`bAqk4wXPMs$VOsx3l{l&0eTP2BP{s zfO;3kp%R}O%l_*|F%6oi1ogo47>FyaW2v>jf$Cq5dAJjmaEmx^2iv3WcQN~*5+8&b ze;6u((Wo7m6vzJSMW04P6qZO^KLItt6x2A=QHjk#^?w>Q z;WE^Yl_Ckd&YRYu9JQr;Q4fBFTJdr73@Wi-P)GGU>N}50aGZYF0+qm{=3}TGc>?R= zLe#{oQR9|jEq(v*QP9c`pjPymc^oxB1!~~SsD9T_i8zhD&#fj7rCJ*YVIB^~cQFGa znt1(tpcXa|HQsR5nco>nL1#7&wW4XdfeXyVs0m*}?a*teEq(`;;4X7NY5`xM5aHu&FHDE5P-(*xmE~@`L z)RsSQmZJY9Mm@JRk^R@p@qsmbZXQPs@T1kQm;p)NfHhHD7=s!x0r`8$Nkt{l4Rz*s zV-Su;&6A6IuE^SFCb9ojXeg#Z8O=ov@GL5UrKky3qjqEi2I3afK;@_%*@5b}2l@1! zLw5fH22sC^>UR}2PGD1S{OT?R4Oka-BO28)9(C5qW;@gt_rzcvZ1oYS{<)~<^HCEP zVKB}>C01-cjq1PH>h8-{contsji>>(nmbSf??$~eAEWvmv-_tonEF{%zn@VPR9f9> z=8YGEYOjgv7lkC|It?l4?Qe?e&=xg8N7R}1wDuvWm1LogDi4*=6mzb%FF`$5iv9(m zj&dt1(GO8Oz8^#M{U4;Djz>@voIt&`KcaS`5;frs)R9z6_S&OS{o_yrCu3D?iTbKC z%$}&D8)4?6#x2BRH-I0N6qLZV6wjdM-mh3;m_~aa)Cy*z2AYR@yBA{!zK+_#GOO># z>eTn668aLgBgatBSD<$8H+0nyn(D0}8Z}WPGu3R18lWqx{{Ylawk)iHKGcd8%E(?)I7&h*?(nthK3sWlij$6T2V*~?geh`^-bA#E#nilc;$wwcz}9rq`@v=xyFg>YzGAquzyh)POBf3AC~H_Nab6t-YT) z(AtNX51@Xu=b*-$f%<{r8$F|=q8TBDz|$H ziK!5&)Qd@7O)yM&w8w{@BeKI%J3lai?4GAwX)#WUd9oq2UE>-tW7-= zwZgvEJ^+>AaBI&pbIb>k6*~o33umMM@Bal9l<{KJM6aNZ;5F0^Y_s+Qs1<%;?cZ4a zJnHB!qjoYd&3i5swbD4$gvqFJ+gW=bbT#2%3R>~~W*+JXOd;ybN^mN!Lan$#x@SCU zf~Kf{^WBaS*bTLydr=dQLhVceM&eX+UOM})2bR;Im90m0+=LpS9QBs&#*w%e2V=?| z-pe@)@1lMR^^PQEcstl0HC`9gj`YIXH~^z?H0u7e49;IGpG|`@EwK*EFr4}ZRD#=4 z34My{|1~Pn(^juQ9YLklgWGsJ7=d~|8TEX7)DCt>CDzBK5J_PWD#LN8EuCf^ictfX zpaxokN?;A@xy=}bdr>dfF;xGvs0CD_`h~Rh+GEUQ)HrSi1!dOR?2Afd2r7|W)H^Z> z<8eCb!KKK*zMR!|e6G^Ck~@B z{vLH^7f=&dnm6oz;GJH-FjNB3s1?VfCTxy+J`MGJCI&LU(}{u}=!((U8`W_%Dv=4O z2PRp)2$j%G)C!+OP2e+^qsCi>N?RTqpP?6TMC-!JZhjz=5^G|6V%@O zzU!kBYk@lJ3{?Lfs6_gq#uUX#-I{;*y@jAEN(gP(N@Eo2OCFT|>PCVVPe4SmYP1Kd&>C4iNSJY-IoAsC1#R25!RU#D9pI z)Zajk*V#vWLnw(8M1A7crQi1h>06C>UuEJ=f*0I*oTyIw|6eIoekRDx8PJ(O))K+i z=?BW=iGL6+iPgkPViuuG|4mojEBd$any*XUI&NcHUxHFj%Y|*cf3fvP3Zc~!+F6>qEBneDVT$kiS7D`AExj4}5swgho6?Beh-Zm8gsu%l3!;=5NNgj%ByL?(RnSL#lz3VduFHha zU*ab|mJ^>5KUv!l>_EIiBoZTu7(&-s5B;;rf9bLYMoyr~l6h z{CS-iZEgK<385r!U1KSPG016a_!{%99B+nl|G$)H5Opcvx`tVy4sB7y=NkG5jUU;K z+PKWhw^&S}FTwvp`L9|$_!mm=SbeuCUMEIa{XQ%pCJ~K^o5Wy3*HgqAe~G0n@E7>S z-0X(SiMOmS3auQB0VFWg>Z7o(mFv@fp7IvrdEzVLS3=i04`&+IuyQ_j($@Y+6j`Il zApT1Ho5&)15b4BbLRT44jaW$hljun3deGy~KmSJQ6!8+V%Ubtie_|%ll!VOB^EJB_?+DVH?}bjBRZGoo#Gv#MlUhN`Lf6e`qWvvmKeX9nLoNZ>N+?;kr6S ze?*sbr9WuZrEXWd`hzY?RD?uH{#8coPkOt zgvq!BmG~Q|@$aA#*%+<|9cLQ_P5c>Z;ytK|zC}&+v-Nx0x(h|2CX6>ztUUv@k#5)+ zds%xQyq)?WjK?MBDvV)$XT1uz8I|Eq8?YBO;c=_~Wc9{8CnX$>+DUU%qDj`ChDsn4 zHE%ZRgz`~|4>YgBpcc4^f+ie=E$}wf2~=SCXi+!LK#iMc^~X>NEJlr6ZuM8J|8;Xc zDv?d7aXV1&#NKv1e`S8mI?kXL^0aqvh{ZH|^F^a@l01*nBea443d z60b#_?0VFEAE6TYJZOaj)^QAVq^D2|oy7!<=;%(6jJh!k^(o0k^$$edcLVCak*Ed7 zq7s^nT6hX-!!@Y!!H2A4wl#!M&*~{u=F6>rjkyjrVIArS-$x~~)A|pf7C3^M=Lgh6 zXHnxDdEG=3kP{0!DHN1(7HU9G)R7KC-FQ7}#|7qCRALiRk7^3)b3Pk~;ZjrrKboge z^Pj^cj7oDKRXdDkeJ7iO7R*EKYzS&cL(Kxz1jVR{%TVJ2s6?isK5h@&iW^!##drcFHa2xz5Rbd-LMQb!ON(GUPYbAI@H4NqbA&L_1#uKgqrvS zYW%OLgrYjR_r;?=C2h^Foj89j*p~*~cnRtqxYp{UQ45Z@dceF7HPI~8$t^(5vk2SZ z^QeW_qn`OjjKF=U`46J*JK2fzSH~F|8sj-sBA(9f1kF$hB%u~aL!C$tHo{&QiTS7# z8Gssh8S+))T!)c(Cu*I^82%Wd=BWu%&;m116VA7e$4~>GMm^(YW-aPyH((@wWc5!` z;}4=HK8iY_lc~pGZ%G)15gtTF^6Il^#6yAfHf4bElL5-X5wg;UB*0C6s*>cp|zseopyn|X`BkI|GZ0-9|;}4@A*-2DF z=gjylw>=GYUpEYI2zBB^FjAlY8z|`L3s3_KQGdZqz$SPv>c)pq3(iFy?LyQ}mZK6_ ziF#D8Tl;&c@taX6vIC=VH|o>&mDK0|6a_ugCS6<;Q4^=(10Eh7Hl@CztLqxPi29qD zi>FaL>YDA|pO1R$FU2M}3U#7mtv(qw-(47trZAm?GMj@sfeJ z++prFkD=~AgW(P3xZiw<7(@F|)W$}j5-7~E&;K~gRvMwCAb7N(eu{6 z2DP)dQIBLRYD0TaALm0Di$|~oe?e_%bT`-XZk)f4C`f~xiOOuA4R`{z@JiIPU4t4| zhuX;|>)(n>V5jvTL?v+4+P_E5bI#f$y1V^NgA~-!%xs1F&QHZS%td{p4MOc~6l&pd zsF&yt)QQ|}{WDMr&a?J~*1iSDitz!gg2cuC7 z6=Q2GMI>-IN6B^Zy9`ur!VfT^Yzwc|{T z$2?TVLr^=u2DMND>Jf~=1e|Q`52D7;w)RJ@{v7Jjy@)!=wHW^WUq?YZ{RFk(Uev_L zt=;M6E*OK_aZ9rU>Wd~DbpnI28VgYy+Gg%V&Hn}JoAnz^z+ZcD{@PJ&Z+GEj)X`*O zOUy9`qHeemwXxQVFy{iu)I-FQ3J;0WA@dO3UNInKqn2sQ6+OvK}P_W5s=?@k

%2AxH2 z!C8uWhAU7LzJyxv4b(z)*1p}`gBpJbweS)1r1k%XS~%iD_fe#w#%H27nvGHV{P&}v zOb4U>4!G959yRezs1v!xEJvN#{isJY7nNWLmGE<@N3jZZ)N4`i!WMHoYTRd%^_>G0 z^j057?fevK;q$18qWZZL#G?{SM2&BaZLkAsTwhc|gHa1!VfAZJ3*Ly@=&h*vCty&8 zNfb2UG*kjXROSy`eKBf+6{xqq7PZg@)cu>xk5MPJ3tQnaRANql_nAkd#wct9`2J2AkZA2xw zwLj;t!T}m|<1eU}qv-%UV&pF{r-sm_$EAcCUV5n>CAihuK+GqW66*+E8wnr5`xs7o zJ1S{i=QUw#LdSN3s37(c^;ah={Dk^#*qLmKur&_DcZj1z3+l;Oe`QjyzwV)sK|P9y zw)P>k%_FqFzGK2yD>|>VvPhxc5p{I;5+jLhVki+|6D_B#lN(RydXH#KUoq+tenH$o zbR{~{-WlH}_7ZQ|`V{%oDEyOugyJ&d8mlLB(^Hf?U;sA}`w3nDAQEX$#nZ%N#Op)? zZ8^k6l&>Jx5`QC7X^SIPQErNU?f+#ej}T81y1c|M#FxYrLNAc6_AX8jypgz@(D%Ue z#3jT+Lf1cB0e=@(ui-`w_OReoyOk?8aL?q=| z#A-tSmD}*jq*7}QgU!)qc>T|*d`6^Lqj*;NU$MHGh143W5F)Vx*`9G`w zUawI4tJNl&f5vz>$)HnCrThP7ta18St|7Y6r!O5{>s`XX+jm>}3A~J0LcB&?NVMgi zgQzc`O5zscTH-q5IPnd!nCRwV|7R#XOL)2IX>53HrIJP5N&HImBDxV{h)#@8BH9r* zQRg?d^G~Awx|Kpd;sW9>BA3Ww>{nQSO%0zvwQM@xx7Iq`Y~^YkNGu}$AQlk1rV(wp zM^{^-d${z!AIB*Eo#;X|Vce(qEwPIjMU)V_!s|yeAl9vif1wmmPNyx;+Wu``j(e;e z!XJo9L@6MH&o>Sg#Mp(~bpS0bJA?ZiytK|XtSwy zb;^RK@rC~CfVZfka;h)jomx~Gx;%YWoWI296#L7{e8pA1lF*^_V5GOWC{Pj_lQFIK ztBeJnW@SZH\n" "Language-Team: LANGUAGE \n" @@ -16,338 +16,408 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: admin.py:20 exam/models.py:122 exam/models.py:225 models/ae.py:47 -#: models/core.py:113 models/core.py:148 models/core.py:288 models/core.py:547 -#: models/core.py:593 models/core.py:635 models/crfpa.py:81 models/crfpa.py:160 +#: admin.py:21 exam/models.py:140 exam/models.py:248 models/core.py:137 +#: models/core.py:176 models/core.py:342 models/core.py:664 models/core.py:706 +#: models/crfpa.py:83 models/crfpa.py:177 models/crfpa.py:188 +#: models/crfpa.py:261 models/crfpa.py:407 webclass/models.py:125 +#: webclass/models.py:380 msgid "period" msgstr "période" -#: admin.py:67 +#: admin.py:69 msgid "Group" msgstr "Groupe" -#: exam/models.py:62 exam/models.py:454 +#: admin.py:76 +msgid "balance" +msgstr "" + +#: admin.py:270 +#, fuzzy +msgid "date de début" +msgstr "date d'ajout" + +#: forms.py:70 forms.py:206 models/crfpa.py:228 +#: templates/registration/registration_corrector_pdf.html:44 +#: templates/registration/registration_pdf.html:49 +#: templates/telemeta/profile_detail.html:82 +msgid "Address" +msgstr "Adresse" + +#: forms.py:71 forms.py:207 models/crfpa.py:229 +msgid "Address detail" +msgstr "Adresse (detail)" + +#: forms.py:72 forms.py:208 models/crfpa.py:230 +msgid "Postal code" +msgstr "Code postal" + +#: forms.py:73 forms.py:209 models/crfpa.py:231 +msgid "City" +msgstr "Ville" + +#: forms.py:74 forms.py:210 models/crfpa.py:232 +msgid "Country" +msgstr "Pays" + +#: forms.py:75 forms.py:211 models/crfpa.py:234 +#: templates/registration/registration_corrector_pdf.html:48 +#: templates/registration/registration_pdf.html:53 +#: templates/telemeta/profile_detail.html:83 +msgid "Telephone" +msgstr "Téléphone" + +#: forms.py:76 forms.py:212 +#: templates/registration/registration_corrector_pdf.html:60 +#: templates/registration/registration_pdf.html:65 +msgid "Birthday" +msgstr "Date de naissance" + +#: forms.py:80 templates/registration/registration_pdf.html:70 +msgid "Studying level" +msgstr "Niveau d'étude" + +#: forms.py:92 templates/telemeta/profile_detail.html:72 +#: templates/telemeta/inc/user_list.html:24 +msgid "Procedure" +msgstr "Procédure" + +#: forms.py:98 +msgid "Oral de langue (option)" +msgstr "" + +#: forms.py:101 +msgid "Code promo" +msgstr "" + +#: forms.py:103 +msgid "Échéancier de paiement" +msgstr "" + +#: forms.py:298 +msgid "Recipients" +msgstr "" + +#: forms.py:298 templates/postman/base_folder.html:42 +#: templates/postman/reply.html:4 +msgid "Recipient" +msgstr "" + +#: exam/models.py:79 exam/models.py:452 msgid "rejected" msgstr "rejetée" -#: exam/models.py:62 +#: exam/models.py:79 msgid "draft" msgstr "brouillon" -#: exam/models.py:62 +#: exam/models.py:79 msgid "submitted" msgstr "soumise" -#: exam/models.py:63 +#: exam/models.py:80 msgid "pending" msgstr "en attente" -#: exam/models.py:63 exam/models.py:439 +#: exam/models.py:80 exam/models.py:437 msgid "marked" msgstr "corrigée" -#: exam/models.py:63 +#: exam/models.py:80 msgid "read" msgstr "lu" -#: exam/models.py:63 +#: exam/models.py:81 msgid "backup" msgstr "sauvegardé" -#: exam/models.py:65 +#: exam/models.py:81 +#, fuzzy +msgid "stat" +msgstr "status" + +#: exam/models.py:83 msgid "unreadable" msgstr "illisible" -#: exam/models.py:66 +#: exam/models.py:84 msgid "bad orientation" msgstr "mauvaise orientation" -#: exam/models.py:67 +#: exam/models.py:85 msgid "bad framing" msgstr "mauvais cadrage" -#: exam/models.py:68 +#: exam/models.py:86 msgid "incomplete" msgstr "incomplet" -#: exam/models.py:69 +#: exam/models.py:87 msgid "wrong course" msgstr "mauvaise matière" -#: exam/models.py:70 +#: exam/models.py:88 msgid "duplicate" msgstr "doublon" -#: exam/models.py:71 +#: exam/models.py:89 msgid "other" msgstr "autre" -#: exam/models.py:72 +#: exam/models.py:90 msgid "wrong format" msgstr "mauvais format" -#: exam/models.py:73 +#: exam/models.py:91 msgid "unreadable file" msgstr "fichier illisible" -#: exam/models.py:74 +#: exam/models.py:92 msgid "no file" msgstr "pas de fichier" -#: exam/models.py:75 -msgid "file too large" -msgstr "fichier trop gros" - -#: exam/models.py:76 +#: exam/models.py:93 msgid "error retrieving file" msgstr "erreur de lecture de fichier" -#: exam/models.py:120 exam/models.py:224 models/core.py:215 models/core.py:290 -#: models/core.py:542 models/core.py:631 models/pro.py:45 +#: exam/models.py:94 +msgid "file too large" +msgstr "fichier trop gros" + +#: exam/models.py:138 exam/models.py:247 models/core.py:269 models/core.py:344 +#: models/core.py:611 models/core.py:702 models/crfpa.py:406 models/pro.py:45 +#: webclass/models.py:126 webclass/models.py:381 msgid "course" msgstr "matière" -#: exam/models.py:121 exam/models.py:231 +#: exam/models.py:139 exam/models.py:253 msgid "corrector" msgstr "correcteur" -#: exam/models.py:123 exam/models.py:227 models/core.py:294 models/core.py:551 +#: exam/models.py:141 exam/models.py:250 models/core.py:348 models/core.py:622 msgid "session" msgstr "séance" -#: exam/models.py:124 +#: exam/models.py:142 msgid "value" msgstr "valeur" -#: exam/models.py:125 exam/templates/exam/quotas.html:22 +#: exam/models.py:143 exam/templates/exam/quotas.html:22 msgid "date start" msgstr "date de début" -#: exam/models.py:126 exam/templates/exam/quotas.html:23 +#: exam/models.py:144 exam/templates/exam/quotas.html:23 msgid "date end" msgstr "date de fin" -#: exam/models.py:127 exam/models.py:229 models/core.py:440 models/core.py:549 -#: models/core.py:639 +#: exam/models.py:145 exam/models.py:251 models/core.py:503 models/core.py:620 +#: models/core.py:710 msgid "type" msgstr "type" -#: exam/models.py:130 +#: exam/models.py:148 msgid "Quota" msgstr "" -#: exam/models.py:131 exam/templates/exam/quotas.html:12 +#: exam/models.py:149 exam/templates/exam/quotas.html:12 msgid "Quotas" msgstr "" -#: exam/models.py:180 models/core.py:509 models/pro.py:67 +#: exam/models.py:203 models/core.py:575 models/pro.py:67 msgid "date added" msgstr "date d'ajout" -#: exam/models.py:181 models/core.py:172 models/core.py:510 models/crfpa.py:263 +#: exam/models.py:204 models/core.py:200 models/core.py:576 models/crfpa.py:300 #: models/pro.py:68 msgid "date modified" msgstr "date de modification" -#: exam/models.py:182 +#: exam/models.py:205 msgid "UUID" msgstr "" -#: exam/models.py:183 +#: exam/models.py:206 msgid "MIME type" msgstr "Type MIME" -#: exam/models.py:184 +#: exam/models.py:207 msgid "sha1" msgstr "" -#: exam/models.py:200 +#: exam/models.py:223 msgid "script" msgstr "copie" -#: exam/models.py:201 +#: exam/models.py:224 msgid "Page file" msgstr "Fichier de page" -#: exam/models.py:202 +#: exam/models.py:225 msgid "Image file" msgstr "Fichier image" -#: exam/models.py:203 models/pro.py:49 models/pro.py:85 +#: exam/models.py:226 models/pro.py:49 models/pro.py:85 msgid "rank" msgstr "rang" -#: exam/models.py:206 +#: exam/models.py:229 msgid "Page" msgstr "Page" -#: exam/models.py:207 +#: exam/models.py:230 msgid "Pages" msgstr "Pages" -#: exam/models.py:212 models/core.py:96 models/core.py:109 models/core.py:129 -#: models/core.py:153 models/core.py:222 models/core.py:272 models/core.py:525 -#: models/crfpa.py:45 models/crfpa.py:60 models/crfpa.py:79 -#: models/messages.py:12 +#: exam/models.py:235 models/appointment.py:29 models/appointment.py:293 +#: models/core.py:120 models/core.py:133 models/core.py:153 models/core.py:181 +#: models/core.py:276 models/core.py:326 models/core.py:591 models/crfpa.py:47 +#: models/crfpa.py:62 models/crfpa.py:81 models/messages.py:12 msgid "name" msgstr "nom" -#: exam/models.py:215 +#: exam/models.py:238 msgid "ScriptType" msgstr "Type de copie" -#: exam/models.py:216 +#: exam/models.py:239 msgid "ScriptTypes" msgstr "Types de copies" -#: exam/models.py:230 +#: exam/models.py:252 msgid "author" msgstr "auteur" -#: exam/models.py:232 +#: exam/models.py:254 msgid "PDF file" msgstr "Fichier PDF" -#: exam/models.py:233 +#: exam/models.py:255 msgid "Box UUID" msgstr "" -#: exam/models.py:234 +#: exam/models.py:256 msgid "score" msgstr "note" -#: exam/models.py:235 models/pro.py:125 +#: exam/models.py:257 models/pro.py:125 msgid "comments" msgstr "commentaires" -#: exam/models.py:236 models/core.py:303 models/pro.py:48 models/pro.py:88 -#: models/pro.py:104 +#: exam/models.py:258 models/core.py:357 models/pro.py:48 models/pro.py:88 +#: models/pro.py:104 webclass/models.py:132 msgid "status" msgstr "status" -#: exam/models.py:237 +#: exam/models.py:259 msgid "reason" msgstr "raison" -#: exam/models.py:238 +#: exam/models.py:260 msgid "date submitted" msgstr "date de soumission" -#: exam/models.py:239 +#: exam/models.py:261 msgid "date marked" msgstr "date de correction" -#: exam/models.py:240 +#: exam/models.py:262 msgid "date rejected" msgstr "date de rejet" -#: exam/models.py:241 +#: exam/models.py:263 msgid "URL" msgstr "" -#: exam/models.py:245 exam/templates/exam/inc/script_list.html:14 -#: templates/teleforma/course.html:50 +#: exam/models.py:268 exam/models.py:270 exam/templates/exam/scripts.html:83 +#: exam/templates/exam/inc/script_list.html:14 +#: templates/teleforma/course.html:52 #: templates/teleforma/course_conference.html:39 #: templates/teleforma/course_conference.html:67 #: templates/teleforma/course_conference_audio.html:68 -#: templates/teleforma/course_media.html:86 -#: templates/teleforma/course_media.html:138 +#: templates/teleforma/course_media.html:87 +#: templates/teleforma/course_media.html:139 #: templates/teleforma/course_media_video_embed.html:34 #: templates/teleforma/inc/conference_list.html:26 #: templates/teleforma/inc/media_list.html:37 -#: templates/teleforma/inc/media_list_pending.html:37 +#: templates/teleforma/inc/media_list_pending.html:38 msgid "Session" msgstr "Séance" -#: exam/models.py:258 exam/models.py:438 exam/models.py:453 +#: exam/models.py:286 exam/models.py:436 exam/models.py:451 msgid "Script" msgstr "Copie" -#: exam/models.py:259 exam/templates/exam/scripts.html:21 -#: templates/telemeta/base.html:116 templates/telemeta/base.html:121 +#: exam/models.py:287 exam/templates/exam/scripts.html:21 +#: templates/telemeta/base.html:122 templates/telemeta/base.html.py:127 msgid "Scripts" msgstr "Copies" -#: exam/templates/exam/inc/script_list.html:13 -#: exam/templates/exam/quotas.html:21 -#: templates/teleforma/course_conference.html:66 -#: templates/teleforma/course_media.html:137 -#: templates/teleforma/course_media_video_embed.html:33 -msgid "Course" -msgstr "Matière" - -#: exam/templates/exam/inc/script_list.html:15 -#: templates/telemeta/inc/module_revisions.html:18 -#: templates/telemeta/lists.html:70 -msgid "Type" -msgstr "Type" +#: exam/views.py:221 +msgid "Pending scripts" +msgstr "Copies en attente" -#: exam/templates/exam/inc/script_list.html:16 -#: templates/telemeta/inc/user_list.html:19 -#: templates/telemeta/profile_detail.html:60 -msgid "Last Name" -msgstr "Nom" +#: exam/views.py:232 +msgid "Treated scripts" +msgstr "Copie traitées" -#: exam/templates/exam/inc/script_list.html:17 -#: templates/telemeta/inc/user_list.html:20 -#: templates/telemeta/profile_detail.html:59 -msgid "First Name" -msgstr "Prénom" +#: exam/views.py:241 +msgid "Rejected scripts" +msgstr "Copies rejetées" -#: exam/templates/exam/inc/script_list.html:18 -msgid "Submission date" -msgstr "Date de soumission" +#: exam/views.py:258 +msgid "" +"Error: you have already submitted a script for this session, the same course " +"and the same type!" +msgstr "" +"Erreur : vous avez déjà soumis une copie du même type pour la même matière " +"et la même séance." -#: exam/templates/exam/inc/script_list.html:19 -msgid "Mark date" -msgstr "Date de correction" +#: exam/views.py:262 +msgid "" +"You have successfully submitted your script. It will be processed in the " +"next hours." +msgstr "" +"Vous avez correctement soumis votre copie. Elle sera traitée dans les " +"prochaines heures puis corrigée." -#: exam/templates/exam/inc/script_list.html:20 -#: exam/templates/exam/quotas.html:20 -msgid "Corrector" -msgstr "Correcteur" +#: exam/views.py:266 +msgid "" +"There was a problem with your submission. Please try again, later if " +"possible." +msgstr "" +"Il y a une une erreur lors de votre soumission de copie. Merci de vérifier " +"votre fichier ou de réessayer plus tard." -#: exam/templates/exam/inc/script_list.html:21 -#: exam/templates/exam/script_detail.html:36 -msgid "Score" -msgstr "Note" +#: exam/views.py:311 +msgid "You must add your score to access to the statistics." +msgstr "Vous devez ajouter votre note pour accéder aux statistiques." -#: exam/templates/exam/messages/script_fix.txt:9 -#: exam/templates/exam/messages/script_marked.txt:9 -#: exam/templates/exam/messages/script_rejected.txt:7 -#: templates/postman/email_user_init.txt:24 -msgid "Best regards" -msgstr "Cordialement" +#: exam/views.py:390 +msgid "all courses" +msgstr "toutes les matières" -#: exam/templates/exam/messages/script_fix.txt:10 -#: exam/templates/exam/messages/script_marked.txt:10 -#: exam/templates/exam/messages/script_rejected.txt:8 -#: templates/postman/email_user.txt:20 templates/postman/email_user_init.txt:25 -#: templates/postman/email_visitor.txt:16 -msgid "The site administrator" -msgstr "L'administrateur du site" +#: exam/templates/exam/mass_score_form.html:139 +#: exam/templates/exam/score_form.html:82 +#: exam/templates/exam/script_form.html:91 +#: templates/registration/registration_form.html:125 +msgid "Submit" +msgstr "Soumettre" -#: exam/templates/exam/messages/script_fix.txt:10 -#: exam/templates/exam/messages/script_marked.txt:10 -#: exam/templates/exam/messages/script_rejected.txt:8 -#: templates/postman/email_user_init.txt:25 -msgid "of the" -msgstr "du" +#: exam/templates/exam/quotas.html:20 exam/templates/exam/scripts.html:68 +#: exam/templates/exam/inc/script_list.html:20 +msgid "Corrector" +msgstr "Correcteur" -#: exam/templates/exam/messages/script_fix.txt:13 -#: exam/templates/exam/messages/script_marked.txt:13 -#: exam/templates/exam/messages/script_rejected.txt:11 -#: templates/postman/email_user.txt:22 templates/postman/email_user_init.txt:28 -#: templates/postman/email_visitor.txt:18 -msgid "" -"Note: This message is issued by an automated system.\n" -"Do not reply, this would not be taken into account." -msgstr "" -"NB: Ce message est émis par un automate. Ne faites pas de réponse, elle ne " -"serait pas prise en compte." +#: exam/templates/exam/quotas.html:21 exam/templates/exam/scripts.html:76 +#: exam/templates/exam/inc/script_list.html:13 models/appointment.py:31 +#: models/crfpa.py:263 templates/teleforma/course_conference.html:66 +#: templates/teleforma/course_media.html:138 +#: templates/teleforma/course_media_video_embed.html:33 +msgid "Course" +msgstr "Matière" #: exam/templates/exam/quotas.html:24 exam/templates/exam/scripts.html:25 -#: templates/teleforma/courses.html:48 +#: templates/teleforma/courses.html:51 msgid "Pending" msgstr "En attente" @@ -363,70 +433,66 @@ msgstr "Valeur" msgid "Level" msgstr "Niveau" -#: exam/templates/exam/score_form.html:32 exam/templates/exam/scores.html:37 +#: exam/templates/exam/score_form.html:32 exam/templates/exam/scores.html:33 msgid "New score" msgstr "Nouvelle note" -#: exam/templates/exam/score_form.html:60 -#: exam/templates/exam/script_form.html:78 -#: templates/registration/registration_form.html:22 -msgid "Submit" -msgstr "Soumettre" - #: exam/templates/exam/scores.html:20 templates/teleforma/annals.html:15 -#: templates/telemeta/profile_detail.html:16 +#: templates/telemeta/profile_detail.html:17 msgid "My courses" msgstr "Mes matières" -#: exam/templates/exam/scores.html:48 templates/telemeta/base.html:133 -#: templates/telemeta/base.html:135 +#: exam/templates/exam/scores.html:49 templates/telemeta/base.html:143 +#: templates/telemeta/base.html.py:145 msgid "Scores" msgstr "Notes" -#: exam/templates/exam/script_detail.html:33 +#: exam/templates/exam/script_detail.html:55 msgid "Topic" msgstr "Sujet" -#: exam/templates/exam/script_detail.html:37 -#: exam/templates/exam/script_detail.html:54 +#: exam/templates/exam/script_detail.html:58 +#: exam/templates/exam/inc/script_list.html:21 templates/quiz/progress.html:60 +#: templates/quiz/sitting_detail.html:15 templates/quiz/sitting_list.html:16 +msgid "Score" +msgstr "Note" + +#: exam/templates/exam/script_detail.html:59 +#: exam/templates/exam/script_detail.html:76 msgid "Comments" msgstr "Commentaire" -#: exam/templates/exam/script_detail.html:38 -msgid "Imprimer" -msgstr "" - -#: exam/templates/exam/script_detail.html:40 -#: exam/templates/exam/scripts.html:27 templates/postman/view.html:25 +#: exam/templates/exam/script_detail.html:62 +#: exam/templates/exam/scripts.html:27 templates/postman/view.html:33 msgid "Rejected" msgstr "Rejeté" -#: exam/templates/exam/script_detail.html:43 +#: exam/templates/exam/script_detail.html:65 msgid "Scoring" msgstr "Noter" -#: exam/templates/exam/script_detail.html:44 -#: exam/templates/exam/script_detail.html:85 -#: exam/templates/exam/script_detail.html:103 +#: exam/templates/exam/script_detail.html:66 +#: exam/templates/exam/script_detail.html:107 +#: exam/templates/exam/script_detail.html:125 msgid "Reject" msgstr "Rejeter" -#: exam/templates/exam/script_detail.html:46 +#: exam/templates/exam/script_detail.html:68 msgid "Submitted" msgstr "Soumise" -#: exam/templates/exam/script_detail.html:58 +#: exam/templates/exam/script_detail.html:80 msgid "Mark" msgstr "Note" -#: exam/templates/exam/script_detail.html:80 -#: templates/postman/base_write.html:63 -#: templates/teleforma/inc/chat_room.html:13 +#: exam/templates/exam/script_detail.html:102 +#: templates/postman/base_write.html:110 +#: templates/teleforma/inc/chat_room.html:17 msgid "Send" msgstr "Envoyé" -#: exam/templates/exam/script_detail.html:108 templates/teleforma/help.html:11 -#: templates/telemeta/base.html:148 templates/telemeta/base.html:157 +#: exam/templates/exam/script_detail.html:130 templates/teleforma/help.html:11 +#: templates/telemeta/base.html:159 templates/telemeta/base.html.py:169 msgid "Help" msgstr "Aide" @@ -442,519 +508,576 @@ msgstr "Copie vierge" msgid "Answers" msgstr "Réponses" -#: exam/templates/exam/scripts.html:67 -msgid "No scripts" -msgstr "Aucune copie" - -#: exam/views.py:106 -msgid "Pending scripts" -msgstr "Copies en attente" - -#: exam/views.py:132 -msgid "Treated scripts" -msgstr "Copie traitées" - -#: exam/views.py:154 -msgid "Rejected scripts" -msgstr "Copies rejetées" - -#: exam/views.py:173 -msgid "" -"Error: you have already submitted a script for this session, the same course " -"and the same type!" -msgstr "" -"Erreur : vous avez déjà soumis une copie du même type pour la même matière " -"et la même séance." - -#: exam/views.py:177 -msgid "" -"You have successfully submitted your script. It will be processed in the " -"next hours." -msgstr "" -"Vous avez correctement soumis votre copie. Elle sera traitée dans les " -"prochaines heures puis corrigée." +#: exam/templates/exam/scripts.html:90 +#: exam/templates/exam/inc/script_list.html:15 templates/telemeta/lists.html:70 +#: templates/telemeta/inc/module_revisions.html:18 +msgid "Type" +msgstr "Type" -#: exam/views.py:181 -msgid "" -"There was a problem with your submission. Please try again, later if " -"possible." +#: exam/templates/exam/scripts.html:98 +msgid "E-learning uniquement" msgstr "" -"Il y a une une erreur lors de votre soumission de copie. Merci de vérifier " -"votre fichier ou de réessayer plus tard." -#: exam/views.py:218 -msgid "You must add your score to access to the statistics." -msgstr "Vous devez ajouter votre note pour accéder aux statistiques." +#: exam/templates/exam/scripts.html:113 +msgid "No scripts" +msgstr "Aucune copie" -#: exam/views.py:282 -msgid "all courses" -msgstr "toutes les matières" +#: exam/templates/exam/inc/script_list.html:16 +#: templates/telemeta/profile_detail.html:65 +#: templates/telemeta/inc/user_list.html:20 +msgid "Last Name" +msgstr "Nom" -#: models/ae.py:46 models/core.py:237 models/crfpa.py:132 models/crfpa.py:230 -#: models/pro.py:101 models/pro.py:140 -msgid "user" -msgstr "utilisateur" +#: exam/templates/exam/inc/script_list.html:17 +#: templates/telemeta/profile_detail.html:64 +#: templates/telemeta/inc/user_list.html:21 +msgid "First Name" +msgstr "Prénom" -#: models/ae.py:49 -msgid "platform only" -msgstr "plateforme seulement" +#: exam/templates/exam/inc/script_list.html:18 +msgid "Submission date" +msgstr "Date de soumission" -#: models/ae.py:51 models/core.py:223 models/core.py:239 -msgid "courses" -msgstr "matières" +#: exam/templates/exam/inc/script_list.html:19 +msgid "Mark date" +msgstr "Date de correction" -#: models/ae.py:62 -msgid "AE student" -msgstr "Etudiant AE" +#: exam/templates/exam/messages/script_fix.txt:9 +#: exam/templates/exam/messages/script_marked.txt:9 +#: exam/templates/exam/messages/script_rejected.txt:7 +#: templates/postman/email_user_init.txt:22 +msgid "Best regards" +msgstr "Cordialement" -#: models/ae.py:63 -msgid "AE students" -msgstr "Etudiants AE" +#: exam/templates/exam/messages/script_fix.txt:10 +#: exam/templates/exam/messages/script_marked.txt:10 +#: exam/templates/exam/messages/script_rejected.txt:8 +#: templates/postman/email_user.txt:20 templates/postman/email_user_init.txt:23 +#: templates/postman/email_visitor.txt:16 +msgid "The site administrator" +msgstr "L'administrateur du site" -#: models/core.py:74 -#: models/core.py:75 -msgid "check" -msgstr "" +#: exam/templates/exam/messages/script_fix.txt:10 +#: exam/templates/exam/messages/script_marked.txt:10 +#: exam/templates/exam/messages/script_rejected.txt:8 +#: templates/postman/email_user_init.txt:23 +msgid "of the" +msgstr "du" -#: models/core.py:75 -msgid "transfer" +#: exam/templates/exam/messages/script_fix.txt:13 +#: exam/templates/exam/messages/script_marked.txt:13 +#: exam/templates/exam/messages/script_rejected.txt:11 +#: templates/postman/email_user.txt:22 templates/postman/email_user_init.txt:25 +#: templates/postman/email_visitor.txt:18 +msgid "" +"Note: This message is issued by an automated system.\n" +"Do not reply, this would not be taken into account." msgstr "" +"NB: Ce message est émis par un automate. Ne faites pas de réponse, elle ne " +"serait pas prise en compte." -#: models/core.py:75 -msgid "credit card" -msgstr "carte de crédit" - -#: models/core.py:75 -msgid "money" +#: models/appointment.py:38 +msgid "activer la prise de rendez-vous" msgstr "" -#: models/core.py:78 +#: models/core.py:92 msgid "Hidden" msgstr "Caché" -#: models/core.py:79 +#: models/core.py:93 msgid "Private" msgstr "Privé" -#: models/core.py:80 +#: models/core.py:94 webclass/models.py:28 msgid "Draft" msgstr "Brouillon" -#: models/core.py:81 +#: models/core.py:95 webclass/models.py:29 msgid "Public" msgstr "Publié" -#: models/core.py:97 models/core.py:110 models/core.py:130 models/core.py:154 -#: models/core.py:169 models/core.py:273 models/core.py:441 models/core.py:507 -#: models/core.py:526 models/crfpa.py:46 models/crfpa.py:80 models/crfpa.py:277 -#: models/crfpa.py:290 models/crfpa.py:303 models/pro.py:124 +#: models/core.py:121 models/core.py:134 models/core.py:154 models/core.py:182 +#: models/core.py:197 models/core.py:327 models/core.py:504 models/core.py:573 +#: models/core.py:592 models/crfpa.py:48 models/crfpa.py:82 models/crfpa.py:321 +#: models/crfpa.py:334 models/crfpa.py:347 models/pro.py:124 msgid "description" msgstr "description" -#: models/core.py:104 models/core.py:111 models/core.py:271 models/pro.py:123 +#: models/core.py:128 models/core.py:135 models/core.py:325 models/pro.py:123 msgid "organization" msgstr "organisation" -#: models/core.py:112 +#: models/core.py:136 msgid "Master domain" msgstr "" -#: models/core.py:124 models/core.py:133 models/core.py:167 models/core.py:242 -#: models/core.py:286 +#: models/core.py:148 models/core.py:157 models/core.py:195 models/core.py:296 +#: models/core.py:340 webclass/models.py:124 msgid "department" msgstr "département" -#: models/core.py:131 models/crfpa.py:82 +#: models/core.py:155 models/crfpa.py:84 msgid "parent" msgstr "" -#: models/core.py:135 models/core.py:299 +#: models/core.py:159 models/core.py:353 msgid "begin date" msgstr "date de début" -#: models/core.py:136 models/core.py:300 +#: models/core.py:160 models/core.py:354 msgid "end date" msgstr "date de fin" -#: models/core.py:137 +#: models/core.py:161 msgid "date d'init de mot de passe" msgstr "" -#: models/core.py:138 +#: models/core.py:162 msgid "message pour internaute" msgstr "" -#: models/core.py:139 +#: models/core.py:163 msgid "message pour presentielle" msgstr "" -#: models/core.py:140 +#: models/core.py:164 msgid "is open" msgstr "" -#: models/core.py:141 +#: models/core.py:165 msgid "date de fin d'examens" msgstr "" -#: models/core.py:161 models/core.py:291 models/core.py:544 models/core.py:633 +#: models/core.py:166 +msgid "nombre maximal de copies" +msgstr "" + +#: models/core.py:189 models/core.py:345 models/core.py:613 models/core.py:704 msgid "course type" msgstr "type de matière" -#: models/core.py:168 models/core.py:506 models/pro.py:46 models/pro.py:83 +#: models/core.py:196 models/core.py:572 models/pro.py:46 models/pro.py:83 msgid "title" msgstr "titre" -#: models/core.py:170 models/core.py:511 models/crfpa.py:78 +#: models/core.py:198 models/core.py:577 models/crfpa.py:80 msgid "code" msgstr "cote" -#: models/core.py:171 +#: models/core.py:199 msgid "tweeter title" msgstr "titre tweeter" -#: models/core.py:173 models/core.py:527 +#: models/core.py:201 models/core.py:593 msgid "number" msgstr "nombre" -#: models/core.py:174 models/crfpa.py:83 +#: models/core.py:204 models/crfpa.py:87 msgid "synthesis note" msgstr "note de synthèse" -#: models/core.py:175 models/crfpa.py:86 +#: models/core.py:205 models/crfpa.py:90 msgid "obligations" msgstr "obligations" -#: models/core.py:176 models/crfpa.py:107 +#: models/core.py:206 models/crfpa.py:111 msgid "magistral" msgstr "magistral" -#: models/core.py:177 models/crfpa.py:89 models/crfpa.py:140 +#: models/core.py:207 models/crfpa.py:93 models/crfpa.py:160 msgid "procedure" msgstr "procédure" -#: models/core.py:178 +#: models/core.py:208 models/core.py:214 msgid "written_speciality" msgstr "spécialité écrit" -#: models/core.py:179 +#: models/core.py:209 msgid "oral_speciality" msgstr "spécialité orale" -#: models/core.py:180 +#: models/core.py:210 msgid "oral_1" msgstr "" -#: models/core.py:181 +#: models/core.py:211 msgid "oral_2" msgstr "" -#: models/core.py:182 +#: models/core.py:213 models/crfpa.py:115 models/crfpa.py:194 +msgid "civil rights" +msgstr "droit civil" + +#: models/core.py:215 models/crfpa.py:121 models/crfpa.py:200 +#, fuzzy +msgid "judiciary organization" +msgstr "organisation juridique et procédures" + +#: models/core.py:216 models/crfpa.py:124 models/crfpa.py:203 +msgid "deontology" +msgstr "déontologie" + +#: models/core.py:218 msgid "copies d'examen" msgstr "" -#: models/core.py:231 +#: models/core.py:219 +msgid "quiz" +msgstr "" + +#: models/core.py:227 +#, fuzzy +msgid "types" +msgstr "type" + +#: models/core.py:277 models/core.py:293 models/crfpa.py:191 +msgid "courses" +msgstr "matières" + +#: models/core.py:285 msgid "course group" msgstr "groupe de matière" -#: models/core.py:265 models/core.py:292 +#: models/core.py:291 models/core.py:859 models/crfpa.py:227 +#: models/crfpa.py:260 models/pro.py:101 models/pro.py:140 +msgid "user" +msgstr "utilisateur" + +#: models/core.py:319 models/core.py:346 webclass/models.py:161 msgid "professor" msgstr "professeur" -#: models/core.py:280 models/core.py:296 +#: models/core.py:334 models/core.py:350 msgid "room" msgstr "salle" -#: models/core.py:285 +#: models/core.py:339 msgid "public_id" msgstr "public id" -#: models/core.py:298 +#: models/core.py:352 msgid "comment" msgstr "commentaire" -#: models/core.py:301 models/core.py:559 models/core.py:597 models/core.py:640 +#: models/core.py:355 models/core.py:630 models/core.py:668 models/core.py:711 msgid "readers" msgstr "" -#: models/core.py:304 models/crfpa.py:65 models/crfpa.py:66 +#: models/core.py:358 models/core.py:527 +msgid "streaming" +msgstr "diffusion" + +#: models/core.py:359 models/crfpa.py:67 models/crfpa.py:68 msgid "web class group" msgstr "" -#: models/core.py:430 models/core.py:458 models/core.py:545 models/core.py:629 +#: models/core.py:493 models/core.py:521 models/core.py:614 models/core.py:700 msgid "conference" msgstr "conférence" -#: models/core.py:438 +#: models/core.py:501 msgid "host" msgstr "hôte" -#: models/core.py:439 +#: models/core.py:502 msgid "port" msgstr "port" -#: models/core.py:442 +#: models/core.py:505 msgid "source password" msgstr "" -#: models/core.py:443 +#: models/core.py:506 msgid "admin password" msgstr "" -#: models/core.py:450 models/core.py:461 +#: models/core.py:513 models/core.py:524 msgid "streaming server" msgstr "serveur de diffusion" -#: models/core.py:462 +#: models/core.py:525 msgid "Streaming type" msgstr "Type de flux" -#: models/core.py:464 -msgid "streaming" -msgstr "diffusion" - -#: models/core.py:500 +#: models/core.py:566 msgid "live stream" msgstr "stream en direct" -#: models/core.py:508 +#: models/core.py:574 msgid "credits" msgstr "crédits" -#: models/core.py:512 +#: models/core.py:578 msgid "published" msgstr "publié" -#: models/core.py:513 +#: models/core.py:579 msgid "mime type" msgstr "Type mime" -#: models/core.py:514 models/pro.py:86 +#: models/core.py:580 models/pro.py:86 msgid "weight" msgstr "poids" -#: models/core.py:534 +#: models/core.py:603 msgid "document type" msgstr "type de document" -#: models/core.py:553 models/crfpa.py:133 +#: models/core.py:618 +#, fuzzy +msgid "periods" +msgstr "période" + +#: models/core.py:624 models/core.py:860 webclass/models.py:127 msgid "iej" msgstr "iej" -#: models/core.py:555 -msgid "annal" -msgstr "annale" +#: models/core.py:626 +msgid "annal" +msgstr "annale" + +#: models/core.py:627 +msgid "year" +msgstr "année" + +#: models/core.py:628 models/core.py:666 +msgid "file" +msgstr "fichier" + +#: models/core.py:864 models/crfpa.py:131 +msgid "e-learning platform only" +msgstr "formation e-learning uniquement" + +#: models/core.py:865 +msgid "application fees" +msgstr "frais de dossier" + +#: models/core.py:867 +msgid "subscription fees" +msgstr "frais d'inscription" + +#: models/core.py:868 +msgid "promo code" +msgstr "" + +#: models/core.py:869 models/crfpa.py:268 +msgid "registration date" +msgstr "date de pré-inscription" + +#: models/core.py:870 +msgid "subscription date" +msgstr "date d'inscription" + +#: models/core.py:871 +msgid "subscribed" +msgstr "inscrit" + +#: models/core.py:872 +msgid "confirmation sent" +msgstr "confirmation envoyée" + +#: models/core.py:873 +msgid "studying level" +msgstr "niveau d'étude" + +#: models/core.py:875 +msgid "balance de paiement" +msgstr "" + +#: models/core.py:878 +msgid "envoi des fascicules" +msgstr "" -#: models/core.py:556 -msgid "year" -msgstr "année" +#: models/core.py:881 +#, fuzzy +msgid "type de paiement" +msgstr "département" -#: models/core.py:557 models/core.py:595 -msgid "file" -msgstr "fichier" +#: models/core.py:884 +msgid "échéancier de paiement" +msgstr "" + +#: models/core.py:888 +#, fuzzy +msgid "commentaire" +msgstr "commentaire" -#: models/crfpa.py:53 models/crfpa.py:54 models/crfpa.py:61 -#: templates/registration/registration_pdf.html:48 -#: templates/teleforma/annals.html:31 templates/telemeta/inc/user_list.html:21 -#: templates/telemeta/profile_detail.html:64 templates/telemeta/users.html:28 +#: models/crfpa.py:55 models/crfpa.py:56 models/crfpa.py:63 +#: templates/registration/registration_pdf.html:74 +#: templates/teleforma/annals.html:31 templates/telemeta/profile_detail.html:69 +#: templates/telemeta/users.html:28 templates/telemeta/inc/user_list.html:22 msgid "IEJ" msgstr "IEJ" -#: models/crfpa.py:92 models/crfpa.py:143 models/crfpa.py:146 +#: models/crfpa.py:96 models/crfpa.py:118 models/crfpa.py:163 +#: models/crfpa.py:197 msgid "written speciality" msgstr "spécialité écrit" -#: models/crfpa.py:95 models/crfpa.py:149 +#: models/crfpa.py:99 models/crfpa.py:166 msgid "oral speciality" msgstr "spécialité orale" -#: models/crfpa.py:98 +#: models/crfpa.py:102 msgid "oral 1" msgstr "" -#: models/crfpa.py:101 +#: models/crfpa.py:105 msgid "oral 2" msgstr "" -#: models/crfpa.py:104 models/crfpa.py:158 +#: models/crfpa.py:108 models/crfpa.py:175 msgid "options" msgstr "options" -#: models/crfpa.py:109 +#: models/crfpa.py:127 msgid "cost" msgstr "coût" -#: models/crfpa.py:110 +#: models/crfpa.py:128 +msgid "e-learning cost with fascicle" +msgstr "" + +#: models/crfpa.py:129 +msgid "e-learning cost without fascicle" +msgstr "" + +#: models/crfpa.py:130 msgid "available" msgstr "" -#: models/crfpa.py:126 models/crfpa.py:137 +#: models/crfpa.py:148 models/crfpa.py:157 msgid "training" msgstr "formation" -#: models/crfpa.py:135 +#: models/crfpa.py:154 msgid "trainings" msgstr "formations" -#: models/crfpa.py:152 +#: models/crfpa.py:169 msgid "oral de langue (option)" msgstr "" -#: models/crfpa.py:155 +#: models/crfpa.py:172 msgid "oral 2 (option)" msgstr "" -#: models/crfpa.py:162 -msgid "e-learning platform only" -msgstr "formation e-learning uniquement" - -#: models/crfpa.py:163 -msgid "application fees" -msgstr "frais de dossier" - -#: models/crfpa.py:165 -msgid "subscription fees" -msgstr "frais d'inscription" - -#: models/crfpa.py:166 -msgid "promo code" -msgstr "" - -#: models/crfpa.py:167 -msgid "registration date" -msgstr "date de pré-inscription" - -#: models/crfpa.py:168 -msgid "subscription date" -msgstr "date d'inscription" - -#: models/crfpa.py:169 -msgid "subscribed" -msgstr "inscrit" - -#: models/crfpa.py:170 -msgid "confirmation sent" -msgstr "confirmation envoyée" - -#: models/crfpa.py:171 -msgid "studying level" -msgstr "niveau d'étude" - -#: models/crfpa.py:222 +#: models/crfpa.py:182 msgid "Student" msgstr "Etudiant" -#: models/crfpa.py:223 +#: models/crfpa.py:183 msgid "Students" msgstr "Etudiants" -#: models/crfpa.py:231 templates/registration/registration_pdf.html:41 -#: templates/telemeta/profile_detail.html:77 -msgid "Address" -msgstr "Adresse" - -#: models/crfpa.py:232 -msgid "Address detail" -msgstr "Adresse (detail)" - -#: models/crfpa.py:233 -msgid "Postal code" -msgstr "Code postal" - -#: models/crfpa.py:234 -msgid "City" -msgstr "Ville" +#: models/crfpa.py:208 +msgid "AE student" +msgstr "Etudiant AE" -#: models/crfpa.py:235 -msgid "Country" -msgstr "Pays" +#: models/crfpa.py:209 +msgid "AE students" +msgstr "Etudiants AE" -#: models/crfpa.py:236 templates/telemeta/profile_detail.html:88 +#: models/crfpa.py:233 templates/telemeta/profile_detail.html:93 msgid "Language" msgstr "Langue" -#: models/crfpa.py:237 templates/registration/registration_pdf.html:42 -#: templates/telemeta/profile_detail.html:78 -msgid "Telephone" -msgstr "Téléphone" - -#: models/crfpa.py:238 +#: models/crfpa.py:235 msgid "Expiration_date" msgstr "Date d'expiration" -#: models/crfpa.py:239 +#: models/crfpa.py:236 msgid "Password initialized" msgstr "Mot de passe initialisé" -#: models/crfpa.py:240 templates/telemeta/profile_detail.html:79 +#: models/crfpa.py:237 templates/telemeta/profile_detail.html:84 msgid "WiFi login" msgstr "" -#: models/crfpa.py:241 +#: models/crfpa.py:238 msgid "WiFi pass" msgstr "" -#: models/crfpa.py:242 +#: models/crfpa.py:239 msgid "birthday" msgstr "date de naissance" -#: models/crfpa.py:246 +#: models/crfpa.py:249 msgid "profile" msgstr "profil" -#: models/crfpa.py:257 models/crfpa.py:275 models/crfpa.py:288 -#: models/crfpa.py:301 +#: models/crfpa.py:280 +#, fuzzy +msgid "Correcteur" +msgstr "Correcteur" + +#: models/crfpa.py:281 +#, fuzzy +msgid "Correcteurs" +msgstr "Correcteurs" + +#: models/crfpa.py:293 models/crfpa.py:319 models/crfpa.py:332 +#: models/crfpa.py:345 msgid "student" msgstr "étudiant" -#: models/crfpa.py:258 models/crfpa.py:276 models/crfpa.py:289 -#: models/crfpa.py:302 +#: models/crfpa.py:294 models/crfpa.py:320 models/crfpa.py:333 +#: models/crfpa.py:346 msgid "amount" msgstr "montant" -#: models/crfpa.py:259 +#: models/crfpa.py:295 msgid "month" msgstr "mois" -#: models/crfpa.py:260 -msgid "collected" -msgstr "encaissé" - -#: models/crfpa.py:261 +#: models/crfpa.py:297 msgid "payment type" msgstr "type de paiement" -#: models/crfpa.py:262 +#: models/crfpa.py:299 models/crfpa.py:410 msgid "date created" msgstr "date de création" -#: models/crfpa.py:267 +#: models/crfpa.py:311 msgid "Payment" msgstr "Paiement" -#: models/crfpa.py:268 +#: models/crfpa.py:312 msgid "Payments" msgstr "Paiements" -#: models/crfpa.py:281 +#: models/crfpa.py:325 msgid "Discount" msgstr "Réduction" -#: models/crfpa.py:282 +#: models/crfpa.py:326 msgid "Discounts" msgstr "Réductions" -#: models/crfpa.py:294 models/crfpa.py:295 +#: models/crfpa.py:338 models/crfpa.py:339 msgid "Optional fees" msgstr "Frais optionnels" -#: models/crfpa.py:307 +#: models/crfpa.py:351 msgid "Payback" msgstr "Remboursement" -#: models/crfpa.py:308 +#: models/crfpa.py:352 msgid "Paybacks" msgstr "" +#: models/crfpa.py:359 models/crfpa.py:405 templates/quiz/quiz_list.html:12 +#: templates/teleforma/course.html:18 templates/teleforma/course.html.py:35 +#: templates/teleforma/course_conference_audio.html:66 +#: templates/teleforma/course_document.html:73 +#: templates/teleforma/inc/conference_list.html:25 +#: templates/teleforma/inc/media_list.html:36 +#: templates/teleforma/inc/media_list_pending.html:37 +#: templates/telemeta/lists.html:69 templates/telemeta/search_criteria.html:97 +#: templates/telemeta/inc/module_revisions.html:17 +msgid "Title" +msgstr "Titre" + #: models/messages.py:13 msgid "students" msgstr "étudiants" @@ -1047,11 +1170,12 @@ msgstr "question" msgid "minimum numbers of characters" msgstr "nombre de caractère minimum" -#: models/pro.py:96 +#: models/pro.py:96 templates/quiz/question.html:47 +#: templates/quiz/sitting_detail.html:21 msgid "Question" msgstr "Questions" -#: models/pro.py:101 models/pro.py:102 models/pro.py:103 +#: models/pro.py:103 msgid "answer" msgstr "réponse" @@ -1059,10 +1183,6 @@ msgstr "réponse" msgid "validated" msgstr "validé" -#: models/pro.py:117 -msgid "Answer" -msgstr "Réponse" - #: models/pro.py:126 models/pro.py:142 msgid "testimonial_template" msgstr "" @@ -1091,6 +1211,30 @@ msgstr "Page non trouvée" msgid "Server error" msgstr "Erreur du serveur" +#: templates/admin/base.html:74 +msgid "Welcome," +msgstr "" + +#: templates/admin/base.html:82 +#, fuzzy +msgid "Documentation" +msgstr "Supports écrits" + +#: templates/admin/base.html:85 +#: templates/registration/password_change_form.html:3 +#: templates/registration/password_change_form.html:8 +#: templates/telemeta/profile_detail.html:50 +msgid "Change password" +msgstr "" + +#: templates/admin/base.html:87 +msgid "Log out" +msgstr "" + +#: templates/admin/base.html:107 templates/telemeta/base.html:108 +msgid "Home" +msgstr "Accueil" + #: templates/postman/archives.html:3 #, fuzzy msgid "Archived Messages" @@ -1140,81 +1284,69 @@ msgstr "Messages" msgid "Sorry, this page number is invalid." msgstr "" -#: templates/postman/base_folder.html:39 +#: templates/postman/base_folder.html:40 #: templates/teleforma/course_conference_record.html:69 #: templates/telemeta/lists.html:75 msgid "Action" msgstr "" -#: templates/postman/base_folder.html:40 +#: templates/postman/base_folder.html:41 msgid "Sender" msgstr "" -#: templates/postman/base_folder.html:41 templates/postman/reply.html:4 -msgid "Recipient" -msgstr "" - -#: templates/postman/base_folder.html:42 +#: templates/postman/base_folder.html:43 msgid "Subject" msgstr "" -#: templates/postman/base_folder.html:43 +#: templates/postman/base_folder.html:44 #: templates/telemeta/inc/module_revisions.html:16 msgid "Date" msgstr "Date" -#: templates/postman/base_folder.html:61 +#: templates/postman/base_folder.html:62 msgid "g:i A,M j,n/j/y" msgstr "" -#: templates/postman/base_folder.html:69 templates/postman/view.html:39 +#: templates/postman/base_folder.html:70 templates/postman/view.html:47 #: templates/telemeta/lists.html:58 msgid "Delete" msgstr "" -#: templates/postman/base_folder.html:72 templates/postman/view.html:43 +#: templates/postman/base_folder.html:73 templates/postman/view.html:51 msgid "Archive" msgstr "" -#: templates/postman/base_folder.html:75 +#: templates/postman/base_folder.html:76 msgid "Undelete" msgstr "" -#: templates/postman/base_folder.html:81 +#: templates/postman/base_folder.html:82 #, fuzzy msgid "No messages." msgstr "Messages" -#: templates/postman/base_write.html:30 +#: templates/postman/base_write.html:13 msgid "" "Vous pouvez ici échanger des messages avec les professeurs et les " "administrateurs." msgstr "" -#: templates/postman/base_write.html:32 +#: templates/postman/base_write.html:15 msgid "" "Pour les questions concernant l'organisation des cours, le planning, les " "documents de cours ou les copies, adressez-vous à Admin-CRFPA." msgstr "" -#: templates/postman/base_write.html:34 +#: templates/postman/base_write.html:17 msgid "" "Pour les questions concernant uniquement l'accès à la plateforme et aux " "médias vidéo ou audio, lire d'abord" msgstr "" -#: templates/postman/base_write.html:34 +#: templates/postman/base_write.html:19 msgid "puis adressez-vous à Support technique." msgstr "" -#: templates/postman/base_write.html:38 -msgid "to an administrator" -msgstr "à un administrateur" - -#: templates/postman/base_write.html:46 -msgid "to a professor" -msgstr "à un professeur" - #: templates/postman/email_user.txt:1 templates/postman/email_user_init.txt:1 msgid "Hello" msgstr "Bonjour" @@ -1263,7 +1395,7 @@ msgstr "" msgid "Thank you again for your interest in our services." msgstr "" -#: templates/postman/email_user.txt:20 +#: templates/postman/email_user.txt:20 templates/quiz/question.html:47 msgid "of" msgstr "de" @@ -1278,70 +1410,310 @@ msgstr "" msgid "%(organization)s : initialization of your e-learning account" msgstr "%(organization)s : initialisation de votre compte e-learning" -#: templates/postman/email_visitor.txt:1 -msgid "Dear visitor," +#: templates/postman/email_visitor.txt:1 +msgid "Dear visitor," +msgstr "" + +#: templates/postman/email_visitor.txt:8 +msgid "As a reminder, please find below the content of your message." +msgstr "" + +#: templates/postman/email_visitor.txt:11 +msgid "Please find below the answer from your correspondent." +msgstr "" + +#: templates/postman/email_visitor.txt:15 +msgid "For more comfort, we encourage you to open an account on the site." +msgstr "" + +#: templates/postman/inbox.html:3 +#, fuzzy +msgid "Received Messages" +msgstr "Messages" + +#: templates/postman/inbox.html:6 +msgid "Received" +msgstr "" + +#: templates/postman/reply.html:3 templates/postman/view.html:56 +#: templates/postman/view.html.py:59 +msgid "Reply" +msgstr "" + +#: templates/postman/sent.html:6 +msgid "Sent" +msgstr "" + +#: templates/postman/trash.html:3 +#, fuzzy +msgid "Deleted Messages" +msgstr "Messages" + +#: templates/postman/trash.html:10 +msgid "" +"Messages in this folder can be removed from time to time. For long term " +"storage, use instead the archive folder." +msgstr "" + +#: templates/postman/view.html:9 +msgid "Conversation" +msgstr "" + +#: templates/postman/view.html:9 templates/telemeta/inc/user_list.html:73 +#, fuzzy +msgid "Message" +msgstr "Messages" + +#: templates/postman/view.html:33 +msgid ":" +msgstr "" + +#: templates/postman/view.html:44 +msgid "Back" +msgstr "" + +#: templates/postman/write.html:3 templates/telemeta/inc/user_list.html:29 +msgid "Write" +msgstr "" + +#: templates/quiz/category_list.html:3 templates/quiz/quiz_list.html:3 +#: templates/quiz/sitting_list.html:3 +msgid "All Quizzes" +msgstr "" + +#: templates/quiz/category_list.html:6 +#, fuzzy +msgid "Category list" +msgstr "catégories" + +#: templates/quiz/correct_answer.html:6 +msgid "You answered the above question incorrectly" +msgstr "" + +#: templates/quiz/correct_answer.html:16 +msgid "This is the correct answer" +msgstr "" + +#: templates/quiz/correct_answer.html:23 +msgid "This was your answer." +msgstr "" + +#: templates/quiz/progress.html:6 +msgid "Progress Page" +msgstr "" + +#: templates/quiz/progress.html:7 +#, fuzzy +msgid "User Progress Page" +msgstr "Profil utilisateur" + +#: templates/quiz/progress.html:13 +msgid "Question Category Scores" +msgstr "" + +#: templates/quiz/progress.html:19 templates/quiz/quiz_detail.html:9 +#: templates/quiz/quiz_list.html:13 templates/quiz/sitting_detail.html:10 +#, fuzzy +msgid "Category" +msgstr "catégorie" + +#: templates/quiz/progress.html:20 +msgid "Correctly answererd" +msgstr "" + +#: templates/quiz/progress.html:21 +#, fuzzy +msgid "Incorrect" +msgstr "correcteur" + +#: templates/quiz/progress.html:50 +msgid "Previous exam papers" +msgstr "" + +#: templates/quiz/progress.html:52 +msgid "Below are the results of exams that you have sat." +msgstr "" + +#: templates/quiz/progress.html:59 +#, fuzzy +msgid "Quiz Title" +msgstr "Titre" + +#: templates/quiz/progress.html:61 +msgid "Possible Score" +msgstr "" + +#: templates/quiz/question.html:13 templates/quiz/result.html:13 +msgid "The previous question" +msgstr "" + +#: templates/quiz/question.html:32 templates/quiz/result.html:21 +#: templates/quiz/result.html.py:80 +#, fuzzy +msgid "Explanation" +msgstr "Date d'expiration" + +#: templates/quiz/question.html:52 +#, fuzzy +msgid "Question category" +msgstr "Questions" + +#: templates/quiz/question.html:74 +msgid "Check" +msgstr "" + +#: templates/quiz/quiz_detail.html:11 +msgid "You will only get one attempt at this quiz" +msgstr "" + +#: templates/quiz/quiz_detail.html:16 +msgid "Start quiz" +msgstr "Démarrer le quiz" + +#: templates/quiz/quiz_list.html:6 +msgid "List of quizzes" +msgstr "" + +#: templates/quiz/quiz_list.html:14 +msgid "Exam" +msgstr "" + +#: templates/quiz/quiz_list.html:15 +msgid "Single attempt" +msgstr "" + +#: templates/quiz/quiz_list.html:31 templates/quiz/sitting_list.html:42 +#, fuzzy +msgid "View details" +msgstr "Adresse (detail)" + +#: templates/quiz/quiz_list.html:41 +msgid "There are no available quizzes" +msgstr "" + +#: templates/quiz/result.html:7 +msgid "Exam Results for" +msgstr "" + +#: templates/quiz/result.html:32 +msgid "Exam results" +msgstr "" + +#: templates/quiz/result.html:34 +#, fuzzy +msgid "Exam title" +msgstr "titre" + +#: templates/quiz/result.html:38 +#, fuzzy +msgid "You answered" +msgstr "Votre réponse est" + +#: templates/quiz/result.html:38 +msgid "questions correctly out of" +msgstr "" + +#: templates/quiz/result.html:38 +msgid "giving you" +msgstr "" + +#: templates/quiz/result.html:38 +msgid "percent correct" +msgstr "" + +#: templates/quiz/result.html:59 +msgid "Your session score is" +msgstr "" + +#: templates/quiz/result.html:59 +msgid "out of a possible" +msgstr "" + +#: templates/quiz/result.html:77 +#, fuzzy +msgid "Your answer" +msgstr "Votre réponse est" + +#: templates/quiz/single_complete.html:13 +msgid "You have already sat this exam and only one sitting is permitted" msgstr "" -#: templates/postman/email_visitor.txt:8 -msgid "As a reminder, please find below the content of your message." +#: templates/quiz/single_complete.html:15 +msgid "This exam is only accessible to signed in users" msgstr "" -#: templates/postman/email_visitor.txt:11 -msgid "Please find below the answer from your correspondent." +#: templates/quiz/sitting_detail.html:5 +msgid "Result of" msgstr "" -#: templates/postman/email_visitor.txt:15 -msgid "For more comfort, we encourage you to open an account on the site." +#: templates/quiz/sitting_detail.html:5 +msgid "for" msgstr "" -#: templates/postman/inbox.html:3 +#: templates/quiz/sitting_detail.html:9 #, fuzzy -msgid "Received Messages" -msgstr "Messages" +msgid "Quiz title" +msgstr "titre" -#: templates/postman/inbox.html:6 -msgid "Received" +#: templates/quiz/sitting_detail.html:13 templates/quiz/sitting_list.html:13 +#: templates/telemeta/inc/module_revisions.html:19 +msgid "User" msgstr "" -#: templates/postman/reply.html:3 templates/postman/view.html:47 -#: templates/postman/view.html:50 templates/postman/view.html:53 -msgid "Reply" -msgstr "" +#: templates/quiz/sitting_detail.html:14 templates/quiz/sitting_list.html:15 +#, fuzzy +msgid "Completed" +msgstr "incomplet" -#: templates/postman/sent.html:6 -msgid "Sent" -msgstr "" +#: templates/quiz/sitting_detail.html:22 +#, fuzzy +msgid "User answer" +msgstr "réponse" -#: templates/postman/trash.html:3 +#: templates/quiz/sitting_detail.html:41 #, fuzzy -msgid "Deleted Messages" -msgstr "Messages" +msgid "incorrect" +msgstr "correcteur" -#: templates/postman/trash.html:10 -msgid "" -"Messages in this folder can be removed from time to time. For long term " -"storage, use instead the archive folder." +#: templates/quiz/sitting_detail.html:43 +#, fuzzy +msgid "Correct" +msgstr "Correcteur" + +#: templates/quiz/sitting_detail.html:49 +msgid "Toggle whether correct" msgstr "" -#: templates/postman/view.html:9 -msgid "Conversation" +#: templates/quiz/sitting_list.html:6 +msgid "List of complete exams" msgstr "" -#: templates/postman/view.html:9 templates/telemeta/inc/user_list.html:72 -#, fuzzy -msgid "Message" -msgstr "Messages" +#: templates/quiz/sitting_list.html:14 +msgid "Quiz" +msgstr "" -#: templates/postman/view.html:25 -msgid ":" +#: templates/quiz/sitting_list.html:28 +msgid "Filter" msgstr "" -#: templates/postman/view.html:36 -msgid "Back" +#: templates/quiz/sitting_list.html:52 +msgid "There are no matching quizzes" msgstr "" -#: templates/postman/write.html:3 templates/telemeta/inc/user_list.html:28 -msgid "Write" +#: templates/quiz/view_quiz_category.html:3 +msgid "Quizzes related to" +msgstr "" + +#: templates/quiz/view_quiz_category.html:6 +msgid "Quizzes in the" +msgstr "" + +#: templates/quiz/view_quiz_category.html:6 +msgid "category" +msgstr "catégorie" + +#: templates/quiz/view_quiz_category.html:20 +msgid "There are no quizzes" msgstr "" #: templates/registration/activate.html:3 @@ -1391,10 +1763,10 @@ msgid "" "from our records.\n" "

\n" "

\n" -"To activate this account, please click the following link within the next \n" +"To activate this account, please click the following link within the next\n" "%(expiration_days)s days:
\n" -"http://%(sitedomain)s" -"%(activation_key_url)s\n" +"https://" +"%(sitedomain)s%(activation_key_url)s\n" "

\n" "

\n" "Sincerely,
\n" @@ -1463,12 +1835,6 @@ msgstr "Mot de passe initialisé" msgid "Password successfully changed!" msgstr "" -#: templates/registration/password_change_form.html:3 -#: templates/registration/password_change_form.html:8 -#: templates/telemeta/profile_detail.html:49 -msgid "Change password" -msgstr "" - #: templates/registration/password_reset_complete.html:3 #, fuzzy msgid "Password reset complete" @@ -1495,7 +1861,7 @@ msgid "Set password" msgstr "" #: templates/registration/password_reset_done.html:3 -#: templates/telemeta/profile_detail.html:106 +#: templates/telemeta/profile_detail.html:114 msgid "Password reset" msgstr "Réinitialisation du mot de passe" @@ -1546,139 +1912,134 @@ msgid "" msgstr "" #: templates/registration/registration_complete.html:6 -#: templates/registration/registration_pdf.html:13 views/crfpa.py:496 +#: templates/registration/registration_corrector_complete.html:6 +#: templates/registration/registration_corrector_pdf.html:14 +#: templates/registration/registration_pdf.html:14 views/crfpa.py:624 +#: views/crfpa.py:787 views/crfpa.py:801 msgid "Registration" msgstr "Inscription" -#: templates/registration/registration_complete.html:23 -#: templates/teleforma/annals.html:73 templates/teleforma/course_media.html:64 -#: templates/teleforma/inc/document_list.html:22 +#: templates/registration/registration_complete.html:19 +#: templates/teleforma/annals.html:73 templates/teleforma/course_media.html:65 +#: templates/teleforma/inc/document_list.html:20 #: templates/teleforma/inc/media_list.html:56 -#: templates/teleforma/inc/media_list_pending.html:56 +#: templates/teleforma/inc/media_list_pending.html:57 msgid "Download" msgstr "Télécharger" -#: templates/registration/registration_form.html:6 -msgid "Pre-registration" -msgstr "Pré-inscription" - -#: templates/registration/registration_pdf.html:35 -msgid "Training registration" -msgstr "Fiche d'inscription" - -#: templates/registration/registration_pdf.html:35 -#: templates/registration/registration_pdf.html:49 -msgid "Training" -msgstr "Formation" - -#: templates/registration/registration_pdf.html:39 +#: templates/registration/registration_corrector_pdf.html:36 +#: templates/registration/registration_pdf.html:41 msgid "First name" msgstr "Prénom" -#: templates/registration/registration_pdf.html:40 +#: templates/registration/registration_corrector_pdf.html:40 +#: templates/registration/registration_pdf.html:45 msgid "Last name" msgstr "Nom" -#: templates/registration/registration_pdf.html:43 +#: templates/registration/registration_corrector_pdf.html:52 +#: templates/registration/registration_pdf.html:57 msgid "E-mail" msgstr "" -#: templates/registration/registration_pdf.html:44 -#: templates/telemeta/profile_detail.html:61 +#: templates/registration/registration_corrector_pdf.html:56 +#: templates/registration/registration_pdf.html:61 +#: templates/telemeta/profile_detail.html:66 msgid "Username" msgstr "Nom d'utilisateur" -#: templates/registration/registration_pdf.html:45 -msgid "Birthday" -msgstr "Date de naissance" +#: templates/registration/registration_corrector_pdf.html:85 +#: templates/registration/registration_pdf.html:106 +msgid "Registration date" +msgstr "Date de pré-inscription" -#: templates/registration/registration_pdf.html:47 -msgid "Studying level" -msgstr "Niveau d'étude" +#: templates/registration/registration_form.html:34 +msgid "Pre-registration" +msgstr "Pré-inscription" + +#: templates/registration/registration_pdf.html:36 +msgid "Training registration" +msgstr "Fiche d'inscription" + +#: templates/registration/registration_pdf.html:36 +#: templates/registration/registration_pdf.html:78 +msgid "Training" +msgstr "Formation" -#: templates/registration/registration_pdf.html:50 +#: templates/registration/registration_pdf.html:82 msgid "Training type" msgstr "Type de formation" -#: templates/registration/registration_pdf.html:51 +#: templates/registration/registration_pdf.html:86 +msgid "Envoi postal des fascicules" +msgstr "" + +#: templates/registration/registration_pdf.html:90 msgid "Matière de procédure" msgstr "" -#: templates/registration/registration_pdf.html:52 +#: templates/registration/registration_pdf.html:94 msgid "Matière juridique de spécialité" msgstr "" -#: templates/registration/registration_pdf.html:54 +#: templates/registration/registration_pdf.html:99 msgid "Matière d'oral de langue" msgstr "" -#: templates/registration/registration_pdf.html:57 -msgid "Registration date" -msgstr "Date de pré-inscription" - -#: templates/registration/registration_pdf.html:58 +#: templates/registration/registration_pdf.html:110 msgid "PROMO code" msgstr "" -#: templates/teleforma/annals.html:6 templates/teleforma/annals.html:53 -#: templates/telemeta/base.html:113 +#: templates/teleforma/annals.html:6 templates/teleforma/annals.html.py:53 +#: templates/telemeta/base.html:119 msgid "Annals" msgstr "Annales" #: templates/teleforma/annals.html:49 -#: templates/teleforma/inc/document_list.html:36 +#: templates/teleforma/inc/document_list.html:33 msgid "No document" msgstr "Aucun document" #: templates/teleforma/annals.html:69 #: templates/teleforma/inc/conference_list.html:18 -#: templates/teleforma/inc/document_list.html:20 +#: templates/teleforma/inc/document_list.html:18 +#: webclass/templates/webclass/inc/webclass_list.html:49 msgid "View" msgstr "Voir" -#: templates/teleforma/course.html:14 +#: templates/teleforma/course.html:15 #: templates/teleforma/inc/document_list.html:7 msgid "Documents" msgstr "Supports écrits" -#: templates/teleforma/course.html:17 templates/teleforma/course.html:33 -#: templates/teleforma/course_conference_audio.html:66 -#: templates/teleforma/course_document.html:73 -#: templates/teleforma/inc/conference_list.html:25 -#: templates/teleforma/inc/media_list.html:36 -#: templates/teleforma/inc/media_list_pending.html:36 -#: templates/telemeta/inc/module_revisions.html:17 -#: templates/telemeta/lists.html:69 templates/telemeta/search_criteria.html:97 -msgid "Title" -msgstr "Titre" - -#: templates/teleforma/course.html:18 templates/teleforma/course.html:34 +#: templates/teleforma/course.html:19 templates/teleforma/course.html.py:36 msgid "Description" msgstr "Description" -#: templates/teleforma/course.html:19 templates/teleforma/course.html:35 -#: templates/teleforma/course.html:52 templates/teleforma/course_media.html:149 -#: templates/telemeta/profile_detail.html:83 +#: templates/teleforma/course.html:20 templates/teleforma/course.html.py:37 +#: templates/teleforma/course.html:54 templates/teleforma/course_media.html:149 +#: templates/telemeta/profile_detail.html:88 msgid "Date added" msgstr "Date d'ajout" -#: templates/teleforma/course.html:30 +#: templates/teleforma/course.html:32 msgid "Medias" msgstr "Médias" -#: templates/teleforma/course.html:47 +#: templates/teleforma/course.html:49 msgid "Conferences" msgstr "Conférences" -#: templates/teleforma/course.html:51 +#: templates/teleforma/course.html:53 #: templates/teleforma/course_conference.html:68 #: templates/teleforma/course_conference_audio.html:67 -#: templates/teleforma/course_media.html:140 +#: templates/teleforma/course_media.html:141 #: templates/teleforma/course_media_video_embed.html:36 #: templates/teleforma/inc/conference_list.html:28 #: templates/teleforma/inc/media_list.html:39 -#: templates/teleforma/inc/media_list_pending.html:39 -#: templates/telemeta/inc/user_list.html:48 +#: templates/teleforma/inc/media_list_pending.html:40 +#: templates/telemeta/inc/user_list.html:49 +#: webclass/templates/webclass/inc/webclass_list.html:58 msgid "Professor" msgstr "Professeur" @@ -1692,44 +2053,44 @@ msgstr "S T O P" msgid "Audio" msgstr "" -#: templates/teleforma/course_conference.html:72 +#: templates/teleforma/course_conference.html:71 #: templates/teleforma/course_media.html:143 -#: templates/teleforma/course_media_video_embed.html:39 +#: templates/teleforma/course_media_video_embed.html:38 #: templates/teleforma/inc/media_list.html:43 -#: templates/teleforma/inc/media_list_pending.html:43 +#: templates/teleforma/inc/media_list_pending.html:44 msgid "Comment" msgstr "Commentaire" -#: templates/teleforma/course_conference.html:73 +#: templates/teleforma/course_conference.html:72 #: templates/teleforma/course_media.html:144 -#: templates/teleforma/course_media_video_embed.html:40 +#: templates/teleforma/course_media_video_embed.html:39 msgid "Begin date" msgstr "Date de début" -#: templates/teleforma/course_conference.html:74 +#: templates/teleforma/course_conference.html:73 #: templates/teleforma/course_media.html:145 -#: templates/teleforma/course_media_video_embed.html:41 +#: templates/teleforma/course_media_video_embed.html:40 msgid "End date" msgstr "Date de fin" -#: templates/teleforma/course_conference.html:75 +#: templates/teleforma/course_conference.html:74 #: templates/teleforma/course_conference_audio.html:72 msgid "Live" msgstr "Direct" -#: templates/teleforma/course_conference.html:75 -#: templatetags/teleforma_tags.py:134 +#: templates/teleforma/course_conference.html:74 +#: templatetags/teleforma_tags.py:126 msgid "Yes" msgstr "Oui" -#: templates/teleforma/course_conference.html:76 +#: templates/teleforma/course_conference.html:75 #: templates/teleforma/course_conference_audio.html:69 #: templates/teleforma/course_media.html:146 -#: templates/teleforma/course_media_video_embed.html:42 +#: templates/teleforma/course_media_video_embed.html:41 msgid "Room" msgstr "Salle" -#: templates/teleforma/course_conference.html:78 +#: templates/teleforma/course_conference.html:77 #: templates/teleforma/course_media.html:152 msgid "Conference ID" msgstr "ID Conférence" @@ -1742,7 +2103,8 @@ msgstr "" #: templates/teleforma/course_conference_audio.html:70 #: templates/teleforma/inc/conference_list.html:30 #: templates/teleforma/inc/media_list.html:41 -#: templates/teleforma/inc/media_list_pending.html:41 +#: templates/teleforma/inc/media_list_pending.html:42 +#: webclass/templates/webclass/inc/webclass_list.html:61 msgid "Begin" msgstr "Début" @@ -1751,12 +2113,12 @@ msgid "End" msgstr "Fin" #: templates/teleforma/course_conference_record.html:30 -#: templates/teleforma/courses.html:125 +#: templates/teleforma/courses.html:227 msgid "Status" msgstr "Status" #: templates/teleforma/course_conference_record.html:41 -#: templates/teleforma/courses.html:42 +#: templates/teleforma/courses.html:44 msgid "New conference" msgstr "Nouvelle conférence" @@ -1767,14 +2129,14 @@ msgstr "Enregistrer et diffuser" #: templates/teleforma/course_media.html:29 #: templates/teleforma/course_media.html:83 #: templates/teleforma/inc/media_list.html:50 -#: templates/teleforma/inc/media_list_pending.html:50 +#: templates/teleforma/inc/media_list_pending.html:51 msgid " published" msgstr " publié" #: templates/teleforma/course_media.html:36 #: templates/teleforma/course_media.html:83 #: templates/teleforma/inc/media_list.html:52 -#: templates/teleforma/inc/media_list_pending.html:52 +#: templates/teleforma/inc/media_list_pending.html:53 msgid " rejected" msgstr " rejeté" @@ -1794,68 +2156,74 @@ msgstr "ID Média" msgid "Web class group" msgstr "" -#: templates/teleforma/courses.html:56 +#: templates/teleforma/courses.html:59 msgid "My notes" msgstr "Mes notes" -#: templates/teleforma/courses.html:66 +#: templates/teleforma/courses.html:69 msgid "New note" msgstr "Nouvelle note" -#: templates/teleforma/inc/conference_list.html:8 -msgid "Live conferences" -msgstr "Conférences en direct" +#: templates/teleforma/courses.html:113 +#: templates/teleforma/inc/media_list.html:17 +#: templates/teleforma/inc/media_list_pending.html:17 +msgid "Play" +msgstr "Lire" +#: templates/teleforma/courses.html:119 templates/teleforma/courses.html:125 #: templates/teleforma/inc/conference_list.html:19 #: templates/teleforma/inc/media_list.html:23 #: templates/teleforma/inc/media_list.html:29 #: templates/teleforma/inc/media_list_pending.html:23 #: templates/teleforma/inc/media_list_pending.html:29 +#: templates/teleforma/inc/media_list_pending.html:31 +#: webclass/templates/webclass/inc/webclass_list.html:50 msgid "Click here" msgstr "Cliquez ici" -#: templates/teleforma/inc/media_list.html:17 -#: templates/teleforma/inc/media_list_pending.html:17 -msgid "Play" -msgstr "Lire" +#: templates/teleforma/inc/conference_list.html:8 +msgid "Live conferences" +msgstr "Conférences en direct" +#: templates/teleforma/inc/media_list.html:8 #: templates/teleforma/inc/media_list_pending.html:8 msgid "Passed conferences" msgstr "Conférences en différé" -#: templates/telemeta/base.html:92 templates/telemeta/base.html:101 +#: templates/telemeta/base.html:94 templates/telemeta/base.html.py:103 msgid "Desk" msgstr "Bureau" -#: templates/telemeta/base.html:106 -msgid "Home" -msgstr "Accueil" - -#: templates/telemeta/base.html:111 +#: templates/telemeta/base.html:113 msgid "Messaging" msgstr "Messagerie" -#: templates/telemeta/base.html:146 +#: templates/telemeta/base.html:116 templates/telemeta/users.html:6 +#: templates/telemeta/users.html.py:69 +msgid "Users" +msgstr "" + +#: templates/telemeta/base.html:157 msgid "Admin" msgstr "" -#: templates/telemeta/base.html:154 +#: templates/telemeta/base.html:166 templates/telemeta/base.html.py:175 msgid "Profile" msgstr "Profil" -#: templates/telemeta/base.html:156 +#: templates/telemeta/base.html:168 msgid "Lists" msgstr "" -#: templates/telemeta/base.html:159 +#: templates/telemeta/base.html:171 templates/telemeta/base.html.py:176 msgid "Sign out" msgstr "" -#: templates/telemeta/base.html:201 +#: templates/telemeta/base.html:226 msgid "Powered by" msgstr "" -#: templates/telemeta/base.html:211 +#: templates/telemeta/base.html:236 msgid "Legal notices" msgstr "" @@ -1863,57 +2231,6 @@ msgstr "" msgid "Connexion" msgstr "" -#: templates/telemeta/inc/module_revisions.html:19 -msgid "User" -msgstr "" - -#: templates/telemeta/inc/module_revisions.html:40 -#: templates/telemeta/lists.html:92 -msgid "deleted" -msgstr "" - -#: templates/telemeta/inc/module_searches.html:12 -msgid "Criteria" -msgstr "" - -#: templates/telemeta/inc/user_list.html:22 -#: templates/telemeta/profile_detail.html:65 templates/telemeta/users.html:15 -msgid "Trainings" -msgstr "Formations" - -#: templates/telemeta/inc/user_list.html:23 -#: templates/telemeta/profile_detail.html:67 -msgid "Procedure" -msgstr "Procédure" - -#: templates/telemeta/inc/user_list.html:24 -#: templates/telemeta/profile_detail.html:69 -msgid "Written spe" -msgstr "Ecrit Spé" - -#: templates/telemeta/inc/user_list.html:25 -#: templates/telemeta/profile_detail.html:68 -msgid "Oral spe" -msgstr "Oral Spé" - -#: templates/telemeta/inc/user_list.html:26 -#: templates/telemeta/profile_detail.html:70 -msgid "Oral 1" -msgstr "" - -#: templates/telemeta/inc/user_list.html:27 -#: templates/telemeta/profile_detail.html:71 -msgid "Oral 2" -msgstr "" - -#: templates/telemeta/inc/user_list.html:56 -msgid "Administrator" -msgstr "" - -#: templates/telemeta/inc/user_list.html:64 -msgid "Unknown" -msgstr "" - #: templates/telemeta/lists.html:47 msgid "My playlists" msgstr "" @@ -1942,6 +2259,11 @@ msgstr "période d'enregistrement" msgid "Sound" msgstr "Sonore" +#: templates/telemeta/lists.html:92 +#: templates/telemeta/inc/module_revisions.html:40 +msgid "deleted" +msgstr "" + #: templates/telemeta/login.html:29 msgid "Password forgotten" msgstr "" @@ -1950,51 +2272,76 @@ msgstr "" msgid "Sign in" msgstr "" -#: templates/telemeta/profile_detail.html:6 +#: templates/telemeta/profile_detail.html:7 msgid "User Profile" msgstr "Profil utilisateur" -#: templates/telemeta/profile_detail.html:16 +#: templates/telemeta/profile_detail.html:17 msgid "His courses" msgstr "Ses matières" -#: templates/telemeta/profile_detail.html:36 +#: templates/telemeta/profile_detail.html:37 msgid "Send a message" msgstr "Envoyer un message" -#: templates/telemeta/profile_detail.html:44 +#: templates/telemeta/profile_detail.html:45 msgid "User profile" msgstr "Profil utilisateur" -#: templates/telemeta/profile_detail.html:51 +#: templates/telemeta/profile_detail.html:52 msgid "Login as" msgstr "Se connecter en tant que" -#: templates/telemeta/profile_detail.html:66 +#: templates/telemeta/profile_detail.html:70 templates/telemeta/users.html:15 +#: templates/telemeta/inc/user_list.html:23 +msgid "Trainings" +msgstr "Formations" + +#: templates/telemeta/profile_detail.html:71 msgid "Platform only" msgstr "Plateforme seulement" -#: templates/telemeta/profile_detail.html:72 +#: templates/telemeta/profile_detail.html:73 +#: templates/telemeta/inc/user_list.html:26 +msgid "Oral spe" +msgstr "Oral Spé" + +#: templates/telemeta/profile_detail.html:74 +#: templates/telemeta/inc/user_list.html:25 +msgid "Written spe" +msgstr "Ecrit Spé" + +#: templates/telemeta/profile_detail.html:75 +#: templates/telemeta/inc/user_list.html:27 +msgid "Oral 1" +msgstr "" + +#: templates/telemeta/profile_detail.html:76 +#: templates/telemeta/inc/user_list.html:28 +msgid "Oral 2" +msgstr "" + +#: templates/telemeta/profile_detail.html:77 msgid "Options" msgstr "Options" -#: templates/telemeta/profile_detail.html:76 +#: templates/telemeta/profile_detail.html:81 msgid "Email" msgstr "" -#: templates/telemeta/profile_detail.html:80 +#: templates/telemeta/profile_detail.html:85 msgid "WiFi password" msgstr "" -#: templates/telemeta/profile_detail.html:84 +#: templates/telemeta/profile_detail.html:89 msgid "Expiration date" msgstr "Date d'expiration" -#: templates/telemeta/profile_detail.html:85 +#: templates/telemeta/profile_detail.html:90 msgid "Last login" msgstr "" -#: templates/telemeta/profile_detail.html:96 +#: templates/telemeta/profile_detail.html:101 msgid "Apply" msgstr "" @@ -2021,10 +2368,6 @@ msgstr "à" msgid "Year of publication" msgstr "obligation" -#: templates/telemeta/users.html:6 templates/telemeta/users.html:69 -msgid "Users" -msgstr "" - #: templates/telemeta/users.html:41 msgid "Courses" msgstr "Matières" @@ -2033,34 +2376,46 @@ msgstr "Matières" msgid "No users" msgstr "Pas d'utilisateurs" -#: templatetags/teleforma_tags.py:63 +#: templates/telemeta/inc/module_searches.html:12 +msgid "Criteria" +msgstr "" + +#: templates/telemeta/inc/user_list.html:57 +msgid "Administrator" +msgstr "" + +#: templates/telemeta/inc/user_list.html:65 +msgid "Unknown" +msgstr "" + +#: templatetags/teleforma_tags.py:50 msgid "General tweeter" msgstr "Tweeter général" -#: templatetags/teleforma_tags.py:64 +#: templatetags/teleforma_tags.py:51 msgid "Local tweeter" msgstr "Tweeter local" -#: templatetags/teleforma_tags.py:129 +#: templatetags/teleforma_tags.py:121 msgid "me" msgstr "moi" -#: templatetags/teleforma_tags.py:136 +#: templatetags/teleforma_tags.py:128 msgid "No" msgstr "Non" -#: views/core.py:156 +#: views/core.py:157 msgid "Access not allowed." msgstr "Accès non autorisé." -#: views/core.py:157 +#: views/core.py:158 msgid "" "Please login or contact the website administator to get a private access." msgstr "" "Merci de vous connecter ou bien contactez l'administateur du site pour " "obtenir un accès privé." -#: views/core.py:270 +#: views/core.py:336 msgid "" "You do NOT have access to this resource and then have been redirected to " "your desk." @@ -2068,14 +2423,48 @@ msgstr "" "Vous n'avez pas accès à cette ressource et avez été redirigé vers votre " "bureau." -#: views/core.py:618 +#: views/core.py:755 msgid "A new live conference has started : " msgstr "Une nouvelle conférence en direct a commencé : " -#: views/crfpa.py:423 -msgid "You have successfully register your account." +#: webclass/models.py:109 +msgid "BBB server" +msgstr "" + +#: webclass/models.py:110 +msgid "BBB servers" +msgstr "" + +#: webclass/models.py:139 webclass/models.py:140 +msgid "webclass" +msgstr "" + +#: webclass/models.py:163 +msgid "participants" +msgstr "" + +#: webclass/models.py:173 +msgid "webclass slot" msgstr "" +#~ msgid "platform only" +#~ msgstr "plateforme seulement" + +#~ msgid "credit card" +#~ msgstr "carte de crédit" + +#~ msgid "collected" +#~ msgstr "encaissé" + +#~ msgid "Answer" +#~ msgstr "Réponse" + +#~ msgid "to an administrator" +#~ msgstr "à un administrateur" + +#~ msgid "to a professor" +#~ msgstr "à un professeur" + #, fuzzy #~| msgid "Grouped message" #~ msgid "Group messages" @@ -2101,9 +2490,6 @@ msgstr "" #~ msgid "Validate" #~ msgstr "Validée" -#~ msgid "Correctors" -#~ msgstr "Correcteurs" - #~ msgid "Treated" #~ msgstr "Traitées" @@ -2147,12 +2533,6 @@ msgstr "" #~ msgid "Differed" #~ msgstr "Différé" -#~ msgid "category" -#~ msgstr "catégorie" - -#~ msgid "categories" -#~ msgstr "catégories" - #~ msgid "speciality" #~ msgstr "spécialité" @@ -2182,11 +2562,3 @@ msgstr "" #~ msgid "course types" #~ msgstr "types de matières" - - -#: templates/quiz/quiz_detail.html:16 -msgid "Start quiz" -msgstr "Démarrer le quiz" - -msgid "Your answer was" -msgstr "Votre réponse est" diff --git a/teleforma/migrations/0132_auto__del_field_course_written_speciality__del_field_course_synthesis_.py b/teleforma/migrations/0132_auto__del_field_course_written_speciality__del_field_course_synthesis_.py new file mode 100644 index 00000000..b3b93817 --- /dev/null +++ b/teleforma/migrations/0132_auto__del_field_course_written_speciality__del_field_course_synthesis_.py @@ -0,0 +1,861 @@ +# -*- coding: utf-8 -*- +from south.utils import datetime_utils as datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Removing M2M table for field written_speciality on 'Training' + db.delete_table(db.shorten_name('teleforma_training_written_speciality')) + + # Removing M2M table for field synthesis_note on 'Training' + db.delete_table(db.shorten_name('teleforma_training_synthesis_note')) + + # Removing M2M table for field oral_2 on 'Training' + db.delete_table(db.shorten_name('teleforma_training_oral_2')) + + # Removing M2M table for field oral_1 on 'Training' + db.delete_table(db.shorten_name('teleforma_training_oral_1')) + + # Removing M2M table for field obligation on 'Training' + db.delete_table(db.shorten_name('teleforma_training_obligation')) + + # Removing M2M table for field oral_speciality on 'Training' + db.delete_table(db.shorten_name('teleforma_training_oral_speciality')) + + # Removing M2M table for field magistral on 'Training' + db.delete_table(db.shorten_name('teleforma_training_magistral')) + + # Removing M2M table for field options on 'Training' + db.delete_table(db.shorten_name('teleforma_training_options')) + + # Removing M2M table for field procedure on 'Training' + db.delete_table(db.shorten_name('teleforma_training_procedure')) + + # Deleting field 'Course.written_speciality' + db.delete_column('teleforma_course', 'written_speciality') + + # Deleting field 'Course.synthesis_note' + db.delete_column('teleforma_course', 'synthesis_note') + + # Deleting field 'Course.oral_2' + db.delete_column('teleforma_course', 'oral_2') + + # Deleting field 'Course.oral_1' + db.delete_column('teleforma_course', 'oral_1') + + # Deleting field 'Course.obligation' + db.delete_column('teleforma_course', 'obligation') + + # Deleting field 'Course.oral_speciality' + db.delete_column('teleforma_course', 'oral_speciality') + + # Deleting field 'Course.magistral' + db.delete_column('teleforma_course', 'magistral') + + # Deleting field 'Course.procedure' + db.delete_column('teleforma_course', 'procedure') + + # Adding field 'Student.iej' + # db.add_column('teleforma_ae_student', 'iej', + # self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='student', null=True, on_delete=models.SET_NULL, to=orm['teleforma.IEJ']), + # keep_default=False) + + + def backwards(self, orm): + # Adding M2M table for field written_speciality on 'Training' + m2m_table_name = db.shorten_name('teleforma_training_written_speciality') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('training', models.ForeignKey(orm['teleforma.training'], null=False)), + ('coursetype', models.ForeignKey(orm['teleforma.coursetype'], null=False)) + )) + db.create_unique(m2m_table_name, ['training_id', 'coursetype_id']) + + # Adding M2M table for field synthesis_note on 'Training' + m2m_table_name = db.shorten_name('teleforma_training_synthesis_note') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('training', models.ForeignKey(orm['teleforma.training'], null=False)), + ('coursetype', models.ForeignKey(orm['teleforma.coursetype'], null=False)) + )) + db.create_unique(m2m_table_name, ['training_id', 'coursetype_id']) + + # Adding M2M table for field oral_2 on 'Training' + m2m_table_name = db.shorten_name('teleforma_training_oral_2') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('training', models.ForeignKey(orm['teleforma.training'], null=False)), + ('coursetype', models.ForeignKey(orm['teleforma.coursetype'], null=False)) + )) + db.create_unique(m2m_table_name, ['training_id', 'coursetype_id']) + + # Adding M2M table for field oral_1 on 'Training' + m2m_table_name = db.shorten_name('teleforma_training_oral_1') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('training', models.ForeignKey(orm['teleforma.training'], null=False)), + ('coursetype', models.ForeignKey(orm['teleforma.coursetype'], null=False)) + )) + db.create_unique(m2m_table_name, ['training_id', 'coursetype_id']) + + # Adding M2M table for field obligation on 'Training' + m2m_table_name = db.shorten_name('teleforma_training_obligation') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('training', models.ForeignKey(orm['teleforma.training'], null=False)), + ('coursetype', models.ForeignKey(orm['teleforma.coursetype'], null=False)) + )) + db.create_unique(m2m_table_name, ['training_id', 'coursetype_id']) + + # Adding M2M table for field oral_speciality on 'Training' + m2m_table_name = db.shorten_name('teleforma_training_oral_speciality') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('training', models.ForeignKey(orm['teleforma.training'], null=False)), + ('coursetype', models.ForeignKey(orm['teleforma.coursetype'], null=False)) + )) + db.create_unique(m2m_table_name, ['training_id', 'coursetype_id']) + + # Adding M2M table for field magistral on 'Training' + m2m_table_name = db.shorten_name('teleforma_training_magistral') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('training', models.ForeignKey(orm['teleforma.training'], null=False)), + ('coursetype', models.ForeignKey(orm['teleforma.coursetype'], null=False)) + )) + db.create_unique(m2m_table_name, ['training_id', 'coursetype_id']) + + # Adding M2M table for field options on 'Training' + m2m_table_name = db.shorten_name('teleforma_training_options') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('training', models.ForeignKey(orm['teleforma.training'], null=False)), + ('coursetype', models.ForeignKey(orm['teleforma.coursetype'], null=False)) + )) + db.create_unique(m2m_table_name, ['training_id', 'coursetype_id']) + + # Adding M2M table for field procedure on 'Training' + m2m_table_name = db.shorten_name('teleforma_training_procedure') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('training', models.ForeignKey(orm['teleforma.training'], null=False)), + ('coursetype', models.ForeignKey(orm['teleforma.coursetype'], null=False)) + )) + db.create_unique(m2m_table_name, ['training_id', 'coursetype_id']) + + # Adding field 'Course.written_speciality' + db.add_column('teleforma_course', 'written_speciality', + self.gf('django.db.models.fields.BooleanField')(default=False), + keep_default=False) + + # Adding field 'Course.synthesis_note' + db.add_column('teleforma_course', 'synthesis_note', + self.gf('django.db.models.fields.BooleanField')(default=False), + keep_default=False) + + # Adding field 'Course.oral_2' + db.add_column('teleforma_course', 'oral_2', + self.gf('django.db.models.fields.BooleanField')(default=False), + keep_default=False) + + # Adding field 'Course.oral_1' + db.add_column('teleforma_course', 'oral_1', + self.gf('django.db.models.fields.BooleanField')(default=False), + keep_default=False) + + # Adding field 'Course.obligation' + db.add_column('teleforma_course', 'obligation', + self.gf('django.db.models.fields.BooleanField')(default=False), + keep_default=False) + + # Adding field 'Course.oral_speciality' + db.add_column('teleforma_course', 'oral_speciality', + self.gf('django.db.models.fields.BooleanField')(default=False), + keep_default=False) + + # Adding field 'Course.magistral' + db.add_column('teleforma_course', 'magistral', + self.gf('django.db.models.fields.BooleanField')(default=False), + keep_default=False) + + # Adding field 'Course.procedure' + db.add_column('teleforma_course', 'procedure', + self.gf('django.db.models.fields.BooleanField')(default=False), + keep_default=False) + + # Deleting field 'Student.iej' + db.delete_column('teleforma_ae_student', 'iej_id') + + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'notes.note': { + 'Meta': {'object_name': 'Note'}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'date': ('django.db.models.fields.DateField', [], {'default': 'datetime.datetime(2020, 12, 17, 0, 0)'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'markup': ('django.db.models.fields.CharField', [], {'default': "'m'", 'max_length': '1'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'rendered_content': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'topic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['notes.Topic']"}) + }, + 'notes.topic': { + 'Meta': {'object_name': 'Topic'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'slug': ('django_extensions.db.fields.AutoSlugField', [], {'allow_duplicates': 'False', 'max_length': '50', 'separator': "u'-'", 'blank': 'True', 'populate_from': "'title'", 'overwrite': 'False'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'quiz.category': { + 'Meta': {'object_name': 'Category'}, + 'category': ('django.db.models.fields.CharField', [], {'max_length': '250', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) + }, + 'quiz.quiz': { + 'Meta': {'object_name': 'Quiz'}, + 'answers_at_end': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['quiz.Category']", 'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'draft': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'exam_paper': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'fail_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'max_questions': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'pass_mark': ('django.db.models.fields.SmallIntegerField', [], {'default': '0', 'blank': 'True'}), + 'random_order': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'single_attempt': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'success_text': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '60'}), + 'url': ('django.db.models.fields.SlugField', [], {'max_length': '60'}) + }, + 'teleforma.appointment': { + 'Meta': {'unique_together': "(('slot', 'jury', 'slot_nb'),)", 'object_name': 'Appointment'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'jury': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'appointments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.AppointmentJury']"}), + 'slot': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'appointments'", 'to': "orm['teleforma.AppointmentSlot']"}), + 'slot_nb': ('django.db.models.fields.IntegerField', [], {}), + 'student': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'appointments'", 'to': "orm['auth.User']"}) + }, + 'teleforma.appointmentjury': { + 'Meta': {'ordering': "('id',)", 'object_name': 'AppointmentJury', 'db_table': "'teleforma_appointment_jury'"}, + 'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'bbb_room': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'slot': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'jurys'", 'null': 'True', 'to': "orm['teleforma.AppointmentSlot']"}) + }, + 'teleforma.appointmentperiod': { + 'Meta': {'ordering': "('id',)", 'object_name': 'AppointmentPeriod', 'db_table': "'teleforma_appointment_period'"}, + 'appointment_mail_text': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'appointment_mail_text_distance': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'appointment_slot_size': ('django.db.models.fields.IntegerField', [], {'default': '40'}), + 'book_delay': ('django.db.models.fields.IntegerField', [], {'default': '2'}), + 'cancel_delay': ('django.db.models.fields.IntegerField', [], {'default': '2'}), + 'course': ('django.db.models.fields.related.ForeignKey', [], {'default': '19', 'to': "orm['teleforma.Course']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}), + 'enable_appointment': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'end': ('django.db.models.fields.DateField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'appointment_periods'", 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'start': ('django.db.models.fields.DateField', [], {}) + }, + 'teleforma.appointmentslot': { + 'Meta': {'ordering': "('id',)", 'object_name': 'AppointmentSlot', 'db_table': "'teleforma_appointment_slot'"}, + 'appointment_period': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'slots'", 'null': 'True', 'to': "orm['teleforma.AppointmentPeriod']"}), + 'date': ('django.db.models.fields.DateField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mode': ('django.db.models.fields.CharField', [], {'default': "'presentiel'", 'max_length': '20'}), + 'nb': ('django.db.models.fields.IntegerField', [], {}), + 'start': ('django.db.models.fields.TimeField', [], {}) + }, + 'teleforma.conference': { + 'Meta': {'ordering': "['-date_begin']", 'object_name': 'Conference'}, + 'comment': ('teleforma.fields.ShortTextField', [], {'max_length': '255', 'blank': 'True'}), + 'course': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.Course']"}), + 'course_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.CourseType']"}), + 'date_begin': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_end': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'department': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Department']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Period']"}), + 'professor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Professor']"}), + 'public_id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'room': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'to': "orm['teleforma.Room']"}), + 'session': ('django.db.models.fields.CharField', [], {'default': "'1'", 'max_length': '16'}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '2'}), + 'streaming': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'web_class_group': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conferences'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.WebClassGroup']"}) + }, + 'teleforma.corrector': { + 'Meta': {'ordering': "['user__last_name', '-date_registered']", 'object_name': 'Corrector'}, + 'courses': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['teleforma.Course']", 'null': 'True', 'blank': 'True'}), + 'date_registered': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'pay_status': ('django.db.models.fields.CharField', [], {'default': "'honoraire'", 'max_length': '64', 'null': 'True', 'blank': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'corrector'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Period']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'corrector'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.course': { + 'Meta': {'ordering': "['number']", 'object_name': 'Course'}, + 'code': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'department': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'course'", 'to': "orm['teleforma.Department']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'has_exam_scripts': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_professor_sent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teleforma.Professor']", 'null': 'True', 'blank': 'True'}), + 'number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'courses'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'quiz': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['quiz.Quiz']", 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title_tweeter': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'types': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'course'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}) + }, + 'teleforma.coursegroup': { + 'Meta': {'object_name': 'CourseGroup', 'db_table': "'teleforma_course_group'"}, + 'courses': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'course_groups'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Course']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'teleforma.coursetype': { + 'Meta': {'object_name': 'CourseType', 'db_table': "'teleforma_course_type'"}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'teleforma.department': { + 'Meta': {'object_name': 'Department'}, + 'default_period': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'departments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Period']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'domain': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'department'", 'to': "orm['teleforma.Organization']"}) + }, + 'teleforma.discount': { + 'Meta': {'object_name': 'Discount', 'db_table': "'teleforma_discounts'"}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'student': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'discounts'", 'to': "orm['teleforma.Student']"}), + 'value': ('django.db.models.fields.FloatField', [], {}) + }, + 'teleforma.document': { + 'Meta': {'ordering': "['-date_added']", 'object_name': 'Document'}, + 'annal_year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'conference': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Conference']"}), + 'course': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'document'", 'to': "orm['teleforma.Course']"}), + 'course_type': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'document'", 'blank': 'True', 'to': "orm['teleforma.CourseType']"}), + 'credits': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '1024', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'iej': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.IEJ']"}), + 'is_annal': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'mime_type': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'documents'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'session': ('django.db.models.fields.CharField', [], {'default': "'1'", 'max_length': '16'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'to': "orm['teleforma.DocumentType']"}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.documentsimple': { + 'Meta': {'ordering': "['-date_added']", 'object_name': 'DocumentSimple', 'db_table': "'teleforma_document_simple'"}, + 'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'credits': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '1024', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'mime_type': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'document_simple'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Period']"}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document_simple'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.documenttype': { + 'Meta': {'ordering': "['number']", 'object_name': 'DocumentType', 'db_table': "'teleforma_document_type'"}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'for_corrector': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + 'teleforma.groupedmessage': { + 'Meta': {'object_name': 'GroupedMessage', 'db_table': "'teleforma_grouped_messages'"}, + 'date_sent': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'group': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'grouped_messages'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.StudentGroup']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'message': ('django.db.models.fields.TextField', [], {}), + 'sender': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'grouped_messages'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), + 'sent': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'subject': ('django.db.models.fields.CharField', [], {'max_length': '119'}), + 'to_send': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.home': { + 'Meta': {'object_name': 'Home'}, + 'enabled': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified_at': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'auto_now': 'True', 'blank': 'True'}), + 'periods': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'home_texts'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'text': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'default': '"Page d\'accueil"', 'max_length': '255'}), + 'video': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['teleforma.Media']", 'null': 'True', 'blank': 'True'}), + 'visible_title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}) + }, + 'teleforma.iej': { + 'Meta': {'ordering': "['name']", 'object_name': 'IEJ'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'teleforma.livestream': { + 'Meta': {'object_name': 'LiveStream', 'db_table': "'teleforma_live_stream'"}, + 'conference': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'livestream'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Conference']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'server': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'livestream'", 'to': "orm['teleforma.StreamingServer']"}), + 'stream_type': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'streaming': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.media': { + 'Meta': {'ordering': "['-date_modified', '-conference__session']", 'object_name': 'Media'}, + 'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'conference': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Conference']"}), + 'course': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'to': "orm['teleforma.Course']"}), + 'course_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'to': "orm['teleforma.CourseType']"}), + 'credits': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'item': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'to': "orm['telemeta.MediaItem']"}), + 'mime_type': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Period']"}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.newsitem': { + 'Meta': {'object_name': 'NewsItem'}, + 'course': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'newsitems'", 'to': "orm['teleforma.Course']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'creator': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'newsitems'", 'to': "orm['auth.User']"}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'newsitems'", 'null': 'True', 'to': "orm['teleforma.Period']"}), + 'text': ('tinymce.models.HTMLField', [], {}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'teleforma.optionalfee': { + 'Meta': {'object_name': 'OptionalFee', 'db_table': "'teleforma_optional_fees'"}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'student': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'optional_fees'", 'to': "orm['teleforma.Student']"}), + 'value': ('django.db.models.fields.FloatField', [], {}) + }, + 'teleforma.organization': { + 'Meta': {'object_name': 'Organization'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'teleforma.parameters': { + 'Meta': {'object_name': 'Parameters'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'inscription_text': ('tinymce.models.HTMLField', [], {'blank': 'True'}) + }, + 'teleforma.payback': { + 'Meta': {'object_name': 'Payback', 'db_table': "'teleforma_paybacks'"}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'student': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'paybacks'", 'to': "orm['teleforma.Student']"}), + 'value': ('django.db.models.fields.FloatField', [], {}) + }, + 'teleforma.payment': { + 'Meta': {'ordering': "['scheduled', 'month']", 'object_name': 'Payment', 'db_table': "'teleforma_payments'"}, + 'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'date_paid': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'month': ('django.db.models.fields.IntegerField', [], {'default': '1', 'null': 'True', 'blank': 'True'}), + 'online_paid': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'scheduled': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'student': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'payments'", 'to': "orm['teleforma.Student']"}), + 'type': ('django.db.models.fields.CharField', [], {'default': "'online'", 'max_length': '64'}), + 'value': ('django.db.models.fields.FloatField', [], {}) + }, + 'teleforma.period': { + 'Meta': {'ordering': "['name']", 'object_name': 'Period'}, + 'date_begin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_close_accounts': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_end': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_exam_end': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_inscription_end': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_inscription_start': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_password_init': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'department': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'period'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Department']"}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_open': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'message_local': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'message_platform': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'nb_script': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['teleforma.Period']"}) + }, + 'teleforma.professor': { + 'Meta': {'ordering': "['user__last_name']", 'object_name': 'Professor'}, + 'courses': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'professor'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Course']"}), + 'department': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'professor'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Department']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'professor'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.profile': { + 'Meta': {'object_name': 'Profile', 'db_table': "'teleforma_profiles'"}, + 'address': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'address_detail': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'birthday': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'birthday_place': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'city': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'expiration_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'init_password': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'language': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'nationality': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'siret': ('django.db.models.fields.CharField', [], {'max_length': '13', 'null': 'True', 'blank': 'True'}), + 'ss_number': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}), + 'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'profile'", 'unique': 'True', 'to': "orm['auth.User']"}), + 'wifi_login': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'wifi_pass': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.room': { + 'Meta': {'object_name': 'Room'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'room'", 'to': "orm['teleforma.Organization']"}) + }, + 'teleforma.streamingserver': { + 'Meta': {'object_name': 'StreamingServer', 'db_table': "'teleforma_streaming_server'"}, + 'admin_password': ('django.db.models.fields.CharField', [], {'max_length': '32', 'blank': 'True'}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'host': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'port': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'source_password': ('django.db.models.fields.CharField', [], {'max_length': '32'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '32'}) + }, + 'teleforma.student': { + 'Meta': {'ordering': "['user__last_name']", 'object_name': 'Student', 'db_table': "'teleforma_ae_student'"}, + 'application_fees': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'balance': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'balance_intermediary': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'confirmation_sent': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'courses': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'student'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Course']"}), + 'date_registered': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_subscribed': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'fascicule': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'iej': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'student'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.IEJ']"}), + 'is_subscribed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'level': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'payment_schedule': ('django.db.models.fields.CharField', [], {'default': "'split'", 'max_length': '64', 'null': 'True', 'blank': 'True'}), + 'payment_type': ('django.db.models.fields.CharField', [], {'default': "'online'", 'max_length': '64', 'null': 'True', 'blank': 'True'}), + 'period': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'student'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'platform_only': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'portrait': ('django.db.models.fields.files.ImageField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'promo_code': ('django.db.models.fields.CharField', [], {'max_length': '100', 'blank': 'True'}), + 'receipt_id': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'restricted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'subscription_fees': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'student'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.studentgroup': { + 'Meta': {'object_name': 'StudentGroup', 'db_table': "'teleforma_student_groups'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'students': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'groups'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Student']"}) + }, + 'teleforma.training': { + 'Meta': {'object_name': 'Training'}, + 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'code': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'cost': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'cost_elearning_fascicle': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'cost_elearning_nofascicle': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.CharField', [], {'max_length': '512', 'blank': 'True'}), + 'duration': ('django.db.models.fields.IntegerField', [], {'default': '0'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['teleforma.Training']"}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'training'", 'null': 'True', 'to': "orm['teleforma.Period']"}), + 'platform_only': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.webclassgroup': { + 'Meta': {'ordering': "['name']", 'object_name': 'WebClassGroup'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'iejs': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'web_class_group'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.IEJ']"}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'telemeta.acquisitionmode': { + 'Meta': {'ordering': "['value']", 'object_name': 'AcquisitionMode', 'db_table': "'acquisition_modes'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.adconversion': { + 'Meta': {'ordering': "['value']", 'object_name': 'AdConversion', 'db_table': "'ad_conversions'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.ethnicgroup': { + 'Meta': {'ordering': "['value']", 'object_name': 'EthnicGroup', 'db_table': "'ethnic_groups'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.genericstyle': { + 'Meta': {'ordering': "['value']", 'object_name': 'GenericStyle', 'db_table': "'generic_styles'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.language': { + 'Meta': {'ordering': "['name']", 'object_name': 'Language', 'db_table': "'languages'"}, + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'identifier': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'part1': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}), + 'part2B': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'part2T': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'scope': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}) + }, + 'telemeta.legalright': { + 'Meta': {'ordering': "['value']", 'object_name': 'LegalRight', 'db_table': "'legal_rights'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.location': { + 'Meta': {'ordering': "['name']", 'object_name': 'Location', 'db_table': "'locations'"}, + 'complete_type': ('telemeta.models.core.ForeignKey', [], {'related_name': "'locations'", 'to': "orm['telemeta.LocationType']"}), + 'current_location': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'past_names'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.Location']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_authoritative': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'latitude': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'longitude': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '150'}), + 'type': ('telemeta.models.core.IntegerField', [], {'default': '0', 'db_index': 'True', 'blank': 'True'}) + }, + 'telemeta.locationtype': { + 'Meta': {'ordering': "['name']", 'object_name': 'LocationType', 'db_table': "'location_types'"}, + 'code': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '64'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'max_length': '150'}) + }, + 'telemeta.mediacollection': { + 'Meta': {'ordering': "['code']", 'object_name': 'MediaCollection', 'db_table': "'media_collections'"}, + 'a_informer_07_03': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'acquisition_mode': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.AcquisitionMode']"}), + 'ad_conversion': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.AdConversion']"}), + 'alt_ids': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'alt_title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'approx_duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'auto_period_access': ('telemeta.models.core.BooleanField', [], {'default': 'True'}), + 'booklet_author': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'booklet_description': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'cnrs_contributor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'code': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}), + 'collector': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'collector_is_creator': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'conservation_site': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'creator': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'doctype_code': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'external_references': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'items_done': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'legal_rights': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.LegalRight']"}), + 'metadata_author': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MetadataAuthor']"}), + 'metadata_writer': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MetadataWriter']"}), + 'old_code': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'null': 'True', 'blank': 'True'}), + 'physical_format': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PhysicalFormat']"}), + 'physical_items_num': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'publisher': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.Publisher']"}), + 'publisher_collection': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PublisherCollection']"}), + 'publisher_serial': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'publishing_status': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PublishingStatus']"}), + 'recorded_from_year': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'recorded_to_year': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'recording_context': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.RecordingContext']"}), + 'reference': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'state': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'max_length': '250'}), + 'travail': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'year_published': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}) + }, + 'telemeta.mediaitem': { + 'Meta': {'object_name': 'MediaItem', 'db_table': "'media_items'"}, + 'alt_title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'approx_duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'author': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'auto_period_access': ('telemeta.models.core.BooleanField', [], {'default': 'True'}), + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'unique': 'True', 'max_length': '250', 'blank': 'True'}), + 'collection': ('telemeta.models.core.ForeignKey', [], {'related_name': "'items'", 'to': "orm['telemeta.MediaCollection']"}), + 'collector': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'collector_from_collection': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'collector_selection': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'context_comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'contributor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'copied_from_item': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'copies'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MediaItem']"}), + 'creator_reference': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'cultural_area': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'depositor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'digitalist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'digitization_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'ethnic_group': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.EthnicGroup']"}), + 'external_references': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '1024', 'db_column': "'filename'", 'blank': 'True'}), + 'generic_style': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.GenericStyle']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'language_iso': ('telemeta.models.core.ForeignKey', [], {'related_name': "'items'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['telemeta.Language']", 'blank': 'True', 'null': 'True'}), + 'location': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Location']", 'null': 'True', 'blank': 'True'}), + 'location_comment': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'mimetype': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'moda_execut': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'old_code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'organization': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Organization']", 'null': 'True', 'blank': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'publishing_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recorded_from_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recorded_to_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recordist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'rights': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Rights']", 'null': 'True', 'blank': 'True'}), + 'scientist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'summary': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'topic': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Topic']", 'null': 'True', 'blank': 'True'}), + 'track': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'url': ('django.db.models.fields.URLField', [], {'max_length': '512', 'blank': 'True'}), + 'vernacular_style': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.VernacularStyle']"}) + }, + 'telemeta.metadataauthor': { + 'Meta': {'ordering': "['value']", 'object_name': 'MetadataAuthor', 'db_table': "'metadata_authors'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.metadatawriter': { + 'Meta': {'ordering': "['value']", 'object_name': 'MetadataWriter', 'db_table': "'metadata_writers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.organization': { + 'Meta': {'ordering': "['value']", 'object_name': 'Organization', 'db_table': "'organization'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.physicalformat': { + 'Meta': {'ordering': "['value']", 'object_name': 'PhysicalFormat', 'db_table': "'physical_formats'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.publisher': { + 'Meta': {'ordering': "['value']", 'object_name': 'Publisher', 'db_table': "'publishers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.publishercollection': { + 'Meta': {'ordering': "['value']", 'object_name': 'PublisherCollection', 'db_table': "'publisher_collections'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'publisher': ('telemeta.models.core.ForeignKey', [], {'related_name': "'publisher_collections'", 'to': "orm['telemeta.Publisher']"}), + 'value': ('telemeta.models.core.CharField', [], {'max_length': '250'}) + }, + 'telemeta.publishingstatus': { + 'Meta': {'ordering': "['value']", 'object_name': 'PublishingStatus', 'db_table': "'publishing_status'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.recordingcontext': { + 'Meta': {'ordering': "['value']", 'object_name': 'RecordingContext', 'db_table': "'recording_contexts'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.rights': { + 'Meta': {'ordering': "['value']", 'object_name': 'Rights', 'db_table': "'rights'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.topic': { + 'Meta': {'ordering': "['value']", 'object_name': 'Topic', 'db_table': "'topic'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.vernacularstyle': { + 'Meta': {'ordering': "['value']", 'object_name': 'VernacularStyle', 'db_table': "'vernacular_styles'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + } + } + + complete_apps = ['teleforma'] \ No newline at end of file diff --git a/teleforma/models/core.py b/teleforma/models/core.py index d5930868..958b247e 100755 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -199,14 +199,17 @@ class Course(Model): title_tweeter = models.CharField(_('tweeter title'), max_length=255) date_modified = models.DateTimeField(_('date modified'), auto_now=True, null=True) number = models.IntegerField(_('number'), blank=True, null=True) - synthesis_note = models.BooleanField(_('synthesis note')) - obligation = models.BooleanField(_('obligations')) - magistral = models.BooleanField(_('magistral')) - procedure = models.BooleanField(_('procedure')) - written_speciality = models.BooleanField(_('written_speciality')) - oral_speciality = models.BooleanField(_('oral_speciality')) - oral_1 = models.BooleanField(_('oral_1')) - oral_2 = models.BooleanField(_('oral_2')) + + if settings.TELEFORMA_E_LEARNING_TYPE != 'AE': + synthesis_note = models.BooleanField(_('synthesis note')) + obligation = models.BooleanField(_('obligations')) + magistral = models.BooleanField(_('magistral')) + procedure = models.BooleanField(_('procedure')) + written_speciality = models.BooleanField(_('written_speciality')) + oral_speciality = models.BooleanField(_('oral_speciality')) + oral_1 = models.BooleanField(_('oral_1')) + oral_2 = models.BooleanField(_('oral_2')) + has_exam_scripts = models.BooleanField(_("copies d'examen"), default=True) quiz = models.ManyToManyField(Quiz, verbose_name=_('quiz'), blank=True, null=True) # last professor which received a student message on automatic mode @@ -350,6 +353,7 @@ class Conference(models.Model): streaming = models.BooleanField(_('streaming'), default=True) web_class_group = models.ForeignKey('WebClassGroup', related_name='conferences', verbose_name=_('web class group'), blank=True, null=True, on_delete=models.SET_NULL) + # is_webclass = models.BooleanField("Webclass", default=False) @property def description(self): diff --git a/teleforma/models/crfpa.py b/teleforma/models/crfpa.py index ef5b411f..5fdf78ae 100755 --- a/teleforma/models/crfpa.py +++ b/teleforma/models/crfpa.py @@ -82,32 +82,35 @@ class Training(Model): description = models.CharField(_('description'), max_length=512, blank=True) period = models.ForeignKey('Period', related_name='training', verbose_name=_('period'), blank=True, null=True) parent = models.ForeignKey('Training', related_name='children', verbose_name=_('parent'), blank=True, null=True) - synthesis_note = models.ManyToManyField('CourseType', related_name="training_synthesis_note", verbose_name=_('synthesis note'), - blank=True, null=True) - obligation = models.ManyToManyField('CourseType', related_name="training_obligation", - verbose_name=_('obligations'), - blank=True, null=True) - procedure = models.ManyToManyField('CourseType', related_name="training_procedure", - verbose_name=_('procedure'), - blank=True, null=True) - written_speciality = models.ManyToManyField('CourseType', related_name="training_written_speciality", - verbose_name=_('written speciality'), - blank=True, null=True) - oral_speciality = models.ManyToManyField('CourseType', related_name="training_oral_speciality", - verbose_name=_('oral speciality'), - blank=True, null=True) - oral_1 = models.ManyToManyField('CourseType', related_name="training_oral_1", - verbose_name=_('oral 1'), - blank=True, null=True) - oral_2 = models.ManyToManyField('CourseType', related_name="training_oral_2", - verbose_name=_('oral 2'), - blank=True, null=True) - options = models.ManyToManyField('CourseType', related_name="training_options", - verbose_name=_('options'), - blank=True, null=True) - magistral = models.ManyToManyField('CourseType', related_name="training_magistral", - verbose_name=_('magistral'), - blank=True, null=True) + + if settings.TELEFORMA_E_LEARNING_TYPE != 'AE': + synthesis_note = models.ManyToManyField('CourseType', related_name="training_synthesis_note", verbose_name=_('synthesis note'), + blank=True, null=True) + obligation = models.ManyToManyField('CourseType', related_name="training_obligation", + verbose_name=_('obligations'), + blank=True, null=True) + procedure = models.ManyToManyField('CourseType', related_name="training_procedure", + verbose_name=_('procedure'), + blank=True, null=True) + written_speciality = models.ManyToManyField('CourseType', related_name="training_written_speciality", + verbose_name=_('written speciality'), + blank=True, null=True) + oral_speciality = models.ManyToManyField('CourseType', related_name="training_oral_speciality", + verbose_name=_('oral speciality'), + blank=True, null=True) + oral_1 = models.ManyToManyField('CourseType', related_name="training_oral_1", + verbose_name=_('oral 1'), + blank=True, null=True) + oral_2 = models.ManyToManyField('CourseType', related_name="training_oral_2", + verbose_name=_('oral 2'), + blank=True, null=True) + options = models.ManyToManyField('CourseType', related_name="training_options", + verbose_name=_('options'), + blank=True, null=True) + magistral = models.ManyToManyField('CourseType', related_name="training_magistral", + verbose_name=_('magistral'), + blank=True, null=True) + cost = models.FloatField(_('cost'), blank=True, null=True) cost_elearning_fascicle = models.FloatField(_('e-learning cost with fascicle'), blank=True, null=True) cost_elearning_nofascicle = models.FloatField(_('e-learning cost without fascicle'), blank=True, null=True) @@ -146,9 +149,6 @@ if settings.TELEFORMA_E_LEARNING_TYPE != 'AE': written_speciality = models.ForeignKey('Course', related_name="written_speciality_students", verbose_name=_('written speciality'), help_text="Matière juridique de spécialité", blank=True, null=True, limit_choices_to={'written_speciality': True}) - written_speciality = models.ForeignKey('Course', related_name="written_speciality_2students", - verbose_name=_('written speciality'), help_text="Matière juridique de spécialité", - blank=True, null=True, limit_choices_to={'written_speciality': True}) oral_speciality = models.ForeignKey('Course', related_name="oral_speciality_students", verbose_name=_('oral speciality'), help_text="Matière d’oral de spécialité (matière incluse dans la formation approfondie, en option pour toutes les autres formations)", diff --git a/teleforma/templates/teleforma/inc/newsitems_portlet.html b/teleforma/templates/teleforma/inc/newsitems_portlet.html index a53fa598..fdf91cea 100644 --- a/teleforma/templates/teleforma/inc/newsitems_portlet.html +++ b/teleforma/templates/teleforma/inc/newsitems_portlet.html @@ -6,7 +6,7 @@

actualitésActualités

- {% endif %} + {% endif %} {% endcomment %} {% endif %} {% if user.is_authenticated %} diff --git a/teleforma/templates/telemeta/inc/user_list.html b/teleforma/templates/telemeta/inc/user_list.html index e91ee306..88659c20 100644 --- a/teleforma/templates/telemeta/inc/user_list.html +++ b/teleforma/templates/telemeta/inc/user_list.html @@ -19,14 +19,8 @@ {% trans "Last Name"%} {% trans "First Name"%} - {% trans "IEJ"%} - {% trans "Trainings"%} - {% trans "Procedure"%} - {% trans "Written spe"%} - {% trans "Oral spe"%} - {% trans "Oral 1"%} - {% trans "Oral 2"%} - {% trans "Write"%} + Type + @@ -37,38 +31,14 @@ {% if user.student.get %} {% with user.student.get as student %} - {{ student.iej.name }} - {% for training in student.trainings.all %}{{ training }} {% endfor %} - {{ student.procedure.code }} - {{ student.written_speciality.code }} - {{ student.oral_speciality.code }} - {{ student.oral_1.code }} - {{ student.oral_2.code }} + {% trans "Student"%} {% endwith %} {% elif user.professor.get %} {% trans "Professor" %} - - - - - - {% elif user.is_staff %} {% trans "Administrator" %} - - - - - - {% else %} {% trans "Unknown" %} - - - - - - {% endif %} {% trans "Message" %} diff --git a/teleforma/templates/telemeta/profile_detail.html b/teleforma/templates/telemeta/profile_detail.html index c3b519ac..84112275 100644 --- a/teleforma/templates/telemeta/profile_detail.html +++ b/teleforma/templates/telemeta/profile_detail.html @@ -66,15 +66,8 @@
{% trans "Username" %}
{{ usr.username }}
{% if usr.student.get %} -
{% trans "IEJ" %}
{{ usr.student.get.iej }}
{% trans "Trainings" %}
{% for training in usr.student.get.trainings.all %}{{ training }}
{% endfor %}
{% trans "Platform only" %}
{{ usr.student.get.platform_only|yes_no }}
-
{% trans "Procedure"%}
{{ usr.student.get.procedure}}
-
{% trans "Oral spe"%}
{{ usr.student.get.oral_speciality }}
-
{% trans "Written spe"%}
{{ usr.student.get.written_speciality }}
-
{% trans "Oral 1"%}
{{ usr.student.get.oral_1 }}
-
{% trans "Oral 2"%}
{{ usr.student.get.oral_2 }}
-
{% trans "Options"%}
{{ usr.student.get.options }}
{% endif %} {% if user.is_staff or user.is_superuser or usr == user %} diff --git a/teleforma/urls.py b/teleforma/urls.py index c2f63cf7..e36a9ac1 100644 --- a/teleforma/urls.py +++ b/teleforma/urls.py @@ -114,6 +114,8 @@ urlpatterns = patterns('', name="teleforma-conference-audio"), url(r'^desk/conference_record/$', ConferenceRecordView.as_view(), name="teleforma-conference-record"), + url(r'^desk/bbbconference_record/$', BBBConferenceRecordView.as_view(), + name="teleforma-bbbconference-record"), url(r'^desk/periods/(?P.*)/conferences/list/$', ConferenceListView.as_view(), name="teleforma-conferences"), @@ -141,7 +143,6 @@ urlpatterns = patterns('', url(r'^update-training/(?P.*)/$', update_training, name="update-training"), # News Item - url(r'^desk/periods/(?P.*)/medias/(?P.*)/detail/$', MediaView.as_view(), name="teleforma-media-detail"), url(r'^newsitems/create', NewsItemCreate.as_view(), name='newsitem-create'), url(r'^newsitems/update/(?P.*)', NewsItemUpdate.as_view(), name='newsitem-update'), url(r'^newsitems/delete/(?P.*)', NewsItemDelete.as_view(), name='newsitem-delete'), diff --git a/teleforma/views/ae.py b/teleforma/views/ae.py index 9b442600..0b017ad5 100644 --- a/teleforma/views/ae.py +++ b/teleforma/views/ae.py @@ -70,10 +70,6 @@ def get_ae_courses(user, date_order=False, num_order=False, period=None): for course in s_courses: courses = format_ae_courses(courses, course=course) - magistrals = Course.objects.filter(magistral=True) - if magistrals: - courses = format_ae_courses(courses, - queryset=magistrals) elif user.is_staff or user.is_superuser: courses = format_ae_courses(courses, queryset=Course.objects.all(), admin=True) diff --git a/teleforma/views/core.py b/teleforma/views/core.py index b46522a0..d245e157 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -758,13 +758,14 @@ def live_message(conference): message = Message.objects.create_message(user, room, text) -class ConferenceRecordView(FormView): - "Conference record form : TeleCaster module required" - +class ConferenceMixin(FormView): model = Conference + hidden_fields = ['started', 'date_begin', 'date_end', 'public_id', 'readers'] + +class ConferenceRecordView(ConferenceMixin): + "Conference record form : TeleCaster module required" form_class = ConferenceForm template_name='teleforma/course_conference_record.html' - hidden_fields = ['started', 'date_begin', 'date_end', 'public_id', 'readers'] def get_context_data(self, **kwargs): context = super(ConferenceRecordView, self).get_context_data(**kwargs) @@ -873,6 +874,45 @@ class ConferenceRecordView(FormView): s = ServiceProxy(url) s.teleforma.create_conference(self.conference.to_json_dict()) +class BBBConferenceRecordView(ConferenceMixin): + "Conference record form to create BBB" + + model = Conference + form_class = BBBConferenceForm + template_name='teleforma/course_conference_record.html' + hidden_fields = ['started', 'date_begin', 'date_end', 'public_id', 'readers'] + + def get_context_data(self, **kwargs): + context = super(ConferenceRecordView, self).get_context_data(**kwargs) + context['hidden_fields'] = self.hidden_fields + return context + + def get_success_url(self): + return reverse('teleforma-conference-detail', kwargs={'period_id': self.conference.period.id, + 'pk':self.conference.id}) + + def form_valid(self, form): + form.save() + conference = form.instance + conference.date_begin = datetime.datetime.now() + conference.is_webclass = True + conference.professor = self.request.user + # conference.course = + conference.save() + status = Status() + + try: + live_message(conference) + except: + pass + + return super(BBBConferenceRecordView, self).form_valid(form) + + @method_decorator(access_required) + def dispatch(self, *args, **kwargs): + return super(BBBConferenceRecordView, self).dispatch(*args, **kwargs) + + class ProfessorListView(View): -- 2.39.5