コード例 #1
0
ファイル: forms.py プロジェクト: Retenodus/Maiznet
    def __init__(self, data=None, files=None, instance=None, initial=None, remote_ip=None, *args, **kwargs):
        if instance != None:
            if initial == None:
                initial = {}

                # Il faut deviner la promo
            initial["promo"] = get_user_promo(instance)

            try:
                p = instance.get_profile()
            except Presence.DoesNotExist:
                p = Presence(user=instance)

            netif = p.netif
            try:
                mac = ip_to_mac(remote_ip)
                if netif.find(mac) == -1:
                    if netif != "":
                        netif += ","
                    netif += mac
            except:
                pass

            initial["netif"] = netif

        super(UserModificationForm, self).__init__(
            data=data, files=files, instance=instance, initial=initial, *args, **kwargs
        )
コード例 #2
0
ファイル: views.py プロジェクト: Xowap/Maiznet
def signup(request):
	"""
	Affiche le formulaire d'enregistrement, et si la requête est de
	type POST, valide le formulaire puis l'enregistre.

	La vue se charge aussi de pré-remplir certaines valeurs, comme
	la promo (si l'utilisateur n'est pas encore inscrit, il est
	probablement dans la promo la plus récente), et l'adresse MAC
	(en faisant appel à l'outil :ref:`tipmac <intro-tipmac>`)
	"""
	if request.method == "POST":
		form = UserRegistrationForm(request.POST)
		if form.is_valid():
			form.save()
			user = authenticate(username = form.cleaned_data['username'], password = request.POST['password1'])
			login(request, user)
			return redirect('register-welcome')
	else:
		try:
			promo = Promo.objects.filter(name__startswith = 'FI').order_by('-name')[0]
		except:
			promo = None

		try:

			mac = ip_to_mac(request.META['REMOTE_ADDR'])
		except :
			mac = None

		form = UserRegistrationForm(initial = {
			'netif': mac,
			'promo': promo,
			'talkings': True
		})

	return render_to_response("register/signup.html", {
		"form": form,
	}, RequestContext(request))