Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {% load account socialaccount %}
- {% load i18n %}
- {% load static %}
- {% load staticfiles %}
- <form id="register-form" role="form" method="POST" action="{% url 'student-register' %}">
- {% csrf_token %}
- <br>
- <div class="form-group">
- <img src="{% static 'img/logo_dark_100.png' %}"/>
- </div>
- <div class="form-group">
- <label class="control-label">First Name:</label>
- <input type="text" id="register-name" name="first_name" class="form-control">
- </div>
- <div class="form-group">
- <label class="control-label">Surname:</label>
- <input type="text" id="register-last_name" name="last_name" class="form-control">
- </div>
- <div class="form-group">
- <label class="control-label">Email:</label>
- <input type="email" id="register-email" name="email" class="form-control">
- </div>
- <div class="form-group">
- <label class="control-label">{% trans "Password:" %}</label>
- <input type="password" id="register-password" name="password1" class="form-control">
- </div>
- <div class="form-group">
- <label class="control-label">{% trans "Repeat Password: " %}</label>
- <input type="password" id="register-password2" name="password2" class="form-control">
- </div>
- <p class="text-muted text-danger" id="register-passwd-error" style="display: none;">{% trans "The passwords are not equal" %}</p>
- <div class="form-group">
- <label class="checkbox-inline"><input type="checkbox" name="remember" checked>{% trans "Remember me" %}</label>
- </div>
- <div class="form-group">
- <button type="submit" id="register-submit-button" class="btn btn-primary">{% trans "Register" %}</button>
- </div>
- </form>
- class RegisterFormStudent(SignupForm):
- def custom_signup(self, request, user):
- user.save()
- # Adding user to students group
- if Group.objects.all().filter(name='students').exists():
- group_student = Group.objects.get(name='students')
- print(group_student)
- group_student.user_set.add(user)
- # Creating a Student profile
- student = ProfileStudent()
- student.user = user
- student.first_name = user.first_name
- student.last_name = user.last_name
- student.email = user.email
- student.is_new = True
- student.save()
- # Creating a Student Wallet:
- wallet = Wallet()
- wallet.student = student
- wallet.credits = 0
- wallet.save()
- # Madrill
- user_student_sign_up.send(sender=self.__class__, user=user)
- # Send Welcome Email Using Mandrill
- return user
- class RegisterStudentView(SignupView):
- template_name = 'landing_page/_register_form.html'
- form_class = RegisterFormStudent
- redirect_field_name = 'Submit'
- view_name = 'student_register'
- success_url = None
- def get_context_data(self, **kwargs):
- ret = super(RegisterStudentView, self).get_context_data(**kwargs)
- ret.update(self.kwargs)
- return ret
- register_student = RegisterStudentView.as_view()
- class ProfileStudent(models.Model):
- user = models.OneToOneField(app_settings.USER_MODEL,)
- created = models.DateTimeField(auto_now=False, auto_now_add=True, blank = False, null = False, verbose_name = 'Creation Date')
- email = models.EmailField(max_length=254, blank=True, null=True)
- first_name = models.CharField(max_length = 400, null=True, blank = True, verbose_name = 'First Name')
- last_name = models.CharField(max_length = 400, null=True, blank = True, verbose_name = 'Last Name')
- phone_number = models.CharField(max_length = 12, null=True, blank = True, verbose_name = 'Phone Number')
- city = models.ForeignKey(City, null=True, blank = True, verbose_name = 'City')
- adress = models.CharField(max_length = 400, null=True, blank = True, verbose_name = 'Address')
- date_of_birth = models.DateField(auto_now=False, auto_now_add=False, blank = True, null = True, verbose_name='Date of birth')
- GENDER = (
- ('male','Male'),
- ('female','Female'),
- )
- gender = models.CharField(max_length=20, choices=GENDER, blank = True, null=True, verbose_name = 'Gender' )
- language = models.ManyToManyField(Language)
- student_type = models.ForeignKey(StudentType, null = True, blank = True, verbose_name='Type')
- profile_image = models.ImageField(upload_to=st_profile, blank = True, null = True, default='/perfil.png')
- is_embassador = models.BooleanField(default=False)
- is_new = models.BooleanField(default=True)
- # True if user from the old web:
- legacy = models.BooleanField(default=False, blank=True)
- legacy_id = models.IntegerField(default=0, null=True, blank=True)
- # Used to invite other users: created at signup
- invite_code = models.ForeignKey(PromotionalCode, default=None, blank=True, null=True)
- class Meta:
- verbose_name_plural = 'Students'
- verbose_name = 'Student'
- def __unicode__(self):
- return "%s" % (self.user.email)
- def save(self, *args, **kwargs):
- if not self.pk:
- invite_code = PromotionalCode()
- invite_code.code = uuid.uuid4().hex[:6].upper()
- try:
- invite_code.pc_type = PromotionalCodeType.objects.all().filter(pk=1).get()
- except:
- invite_code.pc_type = None
- invite_code.save()
- self.invite_code = invite_code
- super(ProfileStudent, self).save(*args, **kwargs)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement