from tinymce.widgets import TinyMCE
from .models.core import Conference, Course, Period, payment_schedule_choices
-from .models.crfpa import IEJ, PAY_STATUS_CHOICES, Corrector, NewsItem
+from .models.crfpa import IEJ, PAY_STATUS_CHOICES, Corrector, NewsItem, Origin
from .models.crfpa import Profile as UserProfile
from .models.crfpa import Student, Training
return user
-class UserUseYourLawForm(UserForm):
+class UserUseYourLawOriginForm(UserForm):
def save(self, commit=True):
super(UserSourceForm, self).__save__(*args, **kwargs)
- self.profile.source = "UseYourLaw"
+ origin = Origin.objects.get_or_create(name="UseYourLaw")
+ self.profile.origin = origin
class CorrectorForm(ModelForm):
--- /dev/null
+# Generated by Django 3.2.13 on 2023-03-16 16:27
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('teleforma', '0023_auto_20230316_1619'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Origin',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(blank=True, max_length=64, null=True, verbose_name='Name')),
+ ],
+ ),
+ migrations.RemoveField(
+ model_name='profile',
+ name='source',
+ ),
+ migrations.AddField(
+ model_name='profile',
+ name='origin',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='profiles', to='teleforma.origin', verbose_name='origin'),
+ ),
+ ]
signals.post_save.connect(purge_courses_cache, sender=Student)
signals.post_delete.connect(update_balance_signal)
+
class Profile(models.Model):
"User profile extension"
max_length=15, blank=True, null=True)
siret = models.CharField('Siret',
max_length=14, blank=True, null=True)
- source = models.CharField('Source',
- max_length=32, blank=True, null=True)
+ origin = models.ForeignKey("Origin", related_name='profiles',
+ verbose_name=_('origin'),
+ on_delete=models.SET_NULL,
+ null=True,
+ blank=True)
class Meta(MetaCore):
db_table = app_label + '_' + 'profiles'
]
+class Origin(models.Model):
+ "Origin of the user"
+
+ name = models.CharField('Name',
+ max_length=64, blank=True, null=True)
+
+
class Corrector(models.Model):
"A corrector profile, only used for registration for the moment"
RegistrationPDFViewDownload, UserAddView,
UserCompleteView, UserLoginView, UsersExportView,
UsersView, WriteView, update_training,
- UserAddUseYourLawView)
+ UserAddUseYourLawOriginView)
from .views.payment import (PaymentStartView, bank_auto, bank_cancel,
bank_fail, bank_success)
# (r'^accounts/register0/$', RegistrationView.as_view(), {'form_class':CustomRegistrationForm}),
url(r'^accounts/register/$', UserAddView.as_view(),
name="teleforma-register"),
- url(r'^accounts/register/uyl/$', UserAddUseYourLawView.as_view(),
+ url(r'^accounts/register/uyl/$', UserAddUseYourLawOriginView.as_view(),
name="teleforma-register-uyl"),
url(r'^accounts/register/(?P<username>.*)/complete/$',
UserCompleteView.as_view(), name="teleforma-register-complete"),
from ..decorators import access_required
from ..forms import (CorrectorForm, NewsItemForm, UserForm, WriteForm,
- get_unique_username, UserUseYourLawForm)
+ get_unique_username, UserUseYourLawOriginForm)
from ..models.core import Course, CourseType, Document, NamePaginator, Period
from ..models.crfpa import (IEJ, Discount, NewsItem, Parameters, Payback,
Payment, Profile, Student, Training, months_choices, payment_choices)
return reverse_lazy('teleforma-register-complete', kwargs={'username':self.object.username})
-class UserAddUseYourLawView(UserAddView):
+class UserAddUseYourLawOriginView(UserAddView):
model = User
template_name = 'registration/registration_form.html'
- form_class = UserUseYourLawForm
+ form_class = UserUseYourLawOriginForm