Beispiel #1
0
def approve_woman_profile(obj):
    print("Approving")
    data = json.loads(obj.data)
    #print(data)
    pwd = random.randint(11111, 99999)
    u = UserProfile()
    u.username = data['email']
    u.gender = 'female'
    u.set_password(pwd)
    u.is_active = True
    u.is_staff = False
    u.email = data['email']
    u.is_superuser = False
    u.about_me = data['about_me']
    u.goal = data['goal']
    u.job = data['job']
    u.city = data['city']
    u.lookingfor = data['lookingfor']
    bd = '%s-%s-%s' % (data['birthday'][0:4], data['birthday'][5:7],data['birthday'][8:10])
    print(bd)
    u.birthday = parse_date(bd)
    u.save()
    fillprops(u, data)
    obj.delete()
    for im in data['images']:
        format, imgstr = im.split(';base64,')
        ext = format.split('/')[-1]
        data = ContentFile(base64.b64decode(imgstr))  
        file_name = '%s-%s.%s' % (u.id,random.randint(111,999),ext)
        c = UserPhoto()
        c.user = u
        c.is_approved = True
        c.image.save(file_name, data, save=True)
        c.save() 
        c.setAsMain()
Beispiel #2
0
def join(request):
    """注册"""
    if request.POST.get('_method', '') == 'put':
        username = request.POST.get('username', '')
        email = request.POST.get('email','')
        password = request.POST.get('password', '')
        try:
            user = User.objects.create_user(username=username,email=email,password=password)
            profile = UserProfile(
                user_id=str(user.id),
                nickname=username,
                email = email
            )
            profile.save()
        except:
            get_trace.print_trace()

        resp = jsonresponse.creat_response(200)
        data = {
            'url': '/login/'
        }
        resp.data = data
        return resp.get_response()
    else:
        return render_to_response('join.html', {})
Beispiel #3
0
def get_profile(userobj):
    try:
        profile = UserProfile.objects.get(user=userobj)
    except UserProfile.DoesNotExist:
        profile = UserProfile(user=userobj)
        profile.save()
    return profile
Beispiel #4
0
    def save(self):
        email = self.cleaned_data["email"]
        first_name = self.cleaned_data["first_name"]
        last_name = self.cleaned_data["last_name"]
        password = self.cleaned_data["password"]
        password_c = self.cleaned_data["password_c"]
        bio = self.cleaned_data["bio"]
        random_username = hashlib.sha224(email).hexdigest()[:30]
        activation_code = hashlib.sha224(email).hexdigest()[:50]
        
        user = User()
        user.username = random_username
        user.email = email
        user.first_name = first_name
        user.last_name = last_name
        user.is_active = False
        user.set_password(password)
        user.save()

        user_profile = UserProfile()
        user_profile.bio = bio
        user_profile.user = user
        user_profile.activation_code = activation_code
        user_profile.save()
        send_user_activation_mail.delay(activation_code, email)
Beispiel #5
0
    def save(self):
        email = self.cleaned_data["email"]
        first_name = self.cleaned_data["first_name"]
        last_name = self.cleaned_data["last_name"]
        password = self.cleaned_data["password"]
        password_c = self.cleaned_data["password_c"]
        bio = self.cleaned_data["bio"]
        random_username = hashlib.sha224(email).hexdigest()[:30]
        activation_code = hashlib.sha224(email).hexdigest()[:50]

        user = User()
        user.username = random_username
        user.email = email
        user.first_name = first_name
        user.last_name = last_name
        user.is_active = False
        user.set_password(password)
        user.save()

        user_profile = UserProfile()
        user_profile.bio = bio
        user_profile.user = user
        user_profile.activation_code = activation_code
        user_profile.save()
        send_user_activation_mail.delay(activation_code, email)
Beispiel #6
0
    def handle(self, *args, **options):
        print('Loading users')
        user_file = os.path.join(FIXTURES_PATH, 'users.json')
        with open(user_file, 'r') as f:
            jdata = json.loads(f.read())
            UserProfile.objects.all().delete()
            for user in jdata['administratiors']:
                profile = UserProfile()
                profile.username = user['username']
                profile.set_password(user['password'])
                profile.publicname = user['username']
                profile.is_staff = True
                profile.is_superuser = True
                profile.is_superuser = True
                profile.save()
                print('Creating ... %s' % user['username'])

            for user in jdata['female']:
                rez = requests.post(API_URL + 'account/registration',
                                    json=user)
                print(json.loads(rez.text)['message'])

            for user in jdata['male']:
                rez = requests.post(API_URL + 'account/registration',
                                    json=user)
                print(json.loads(rez.text)['message'])
def recalculate_reputation(profile: UserProfile):
    comments = Comment.objects.filter(author=profile)
    photos = Photo.objects.filter(author=profile)
    reactions = Reaction.objects.filter(author=profile).count()

    reputation = 0
    for comment in comments:
        reputation += comment.experience
    for photo in photos:
        reputation += photo.experience
    reputation += reactions

    items = Item.objects.filter(author=profile)
    for item in items:
        reputation += 5
        if item.ratings.count() > 5:
            reputation += 5
        if item.comments.count() > 5:
            reputation += 5
        if item.photos.count() > 5:
            reputation += 5
        if item.flags > 5:
            reputation -= 15
        if 0 < item.flags <= 5:
            reputation -= 5

    profile.reputation = reputation
    profile.save()
Beispiel #8
0
	def form_valid(self, form):
		# create a new user for this sponsor
		try:
			sp = transaction.savepoint()
			user = User(username = form.cleaned_data["sponsorUsername"])
			baseContact = form.cleaned_data["sponsorContact"]
			user.first_name = baseContact.contactPersonFirstname
			user.last_name = baseContact.contactPersonSurname
			user.email = baseContact.contactPersonEmail
			user.save()

			profile = UserProfile(user = user)
			profile.authToken = id_generator(24)
			profile.save()

			sponsoring = Sponsoring()
			sponsoring.owner = user
			sponsoring.contact = baseContact
			sponsoring.package = form.cleaned_data["sponsorPackage"]
			sponsoring.adminComment = form.cleaned_data["internalComment"]
			sponsoring.save()

			self.object = sponsoring

			transaction.savepoint_commit(sp)
		except Exception as e:
			transaction.savepoint_rollback(sp)
			raise e


		return HttpResponseRedirect(self.get_success_url())
Beispiel #9
0
def register(request):

    if request.method == "POST":
        user_form = UserForm(request.POST)

        if user_form.is_valid():
            username = user_form.cleaned_data['username']
            email = user_form.cleaned_data['email']
            password = user_form.cleaned_data['password2']
            first_name = user_form.cleaned_data['first_name']

            user = User.objects.create_user(username=username,
                                            password=password,
                                            email=email,
                                            first_name=first_name)
            user.set_password(user.password)
            user_profile = UserProfile(user=user)
            user_profile.save()

            return HttpResponseRedirect(reverse('account:user_login'))
        else:
            print(user_form.errors)
    else:
        user_form = UserForm()

    return render(request, 'account/registration.html', {
        'user_form': user_form,
    })
Beispiel #10
0
def create_user(login, password):
    user = UserProfile()
    user.username = login
    user.set_password(password)
    user.save()
    token = Token.objects.create(user=user)
    return token
Beispiel #11
0
def auth_callback(request):
    """
    单点登录后的回调(由SSO服务器发起)
    :param request:
    :return:
    """
    auth_token = request.POST.get("auth_token")
    redirect = request.GET.get("redirect", settings.LOGIN_REDIRECT_URL)

    error, user, user_info = SSOAuthBackend.authenticate(auth_token)
    if not error:
        try:
            if not user:  # 这种情况表明用户在其他site注册,并且首次登陆本site
                role = Contants.ROLE_USER
                if user_info is not None and user_info[
                        'admin'] is not None and request.get_host().lower(
                        ) in user_info['admin'].lower():
                    role = Contants.ROLE_ADMIN
                user = UserProfile(username=user_info['username'],
                                   email=user_info['email'],
                                   role=role)
                user.save()
            auth.login(request, user)  # create session, write cookies
            logined_users[auth_token] = user  # 存入全局变量中
            request.session["auth_token"] = auth_token  # 存入session
            return HttpResponseRedirect(redirect)
        except Exception as e:
            logger.info(str(e))
            return HttpResponse('sso authenticate failed')
    else:
        raise PermissionDenied
Beispiel #12
0
def register(request):
    form = RegisterForm()

    if (request.method == 'POST'):
        form = RegisterForm(request.POST)
        if (form.is_valid()):
            form.save()
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password1')
            email = form.cleaned_data.get('email')
            user = authenticate(username=username, password=password)
            user_profile = UserProfile(user=user)
            user_profile.email_confirmed = False
            varification_code = id_generator()
            user_profile.hashcode = varification_code
            user_profile.save()
            ##send_mail(subject, msg, from, to_list, fail_silently=True)
            subject = "Account info of mushroom firm"
            msg = "Dear " + user.first_name + ", \nCongratulations! your account has been created. Please varify your email from your account option. Use this code while varifying your email: " + varification_code
            from_email = settings.EMAIL_HOST_USER
            to_email = [email, settings.EMAIL_HOST_USER]
            send_mail(subject, msg, from_email, to_email, fail_silently=True)
            messages.success = (request,
                                "Your account has ben created successfully!")
            return HttpResponseRedirect(reverse('login'))
    context = {'form': form}
    template = 'account/register.html'
    return render(request, template, context)
Beispiel #13
0
    def post(self, request, *args, **kwargs):
        if request.method == "POST":
            username = request.POST["username"]
            email = request.POST["email"]
            phone = request.POST["phone"]
            password = request.POST["password"]
            # role = int(request.POST["role"])
            role = request.POST["role"]
            branch = request.POST["branch"]
            city = request.POST["city"]
            country = request.POST["country"]
            address = request.POST["address"]
            user_data = User.objects.create(username=username,
                                            email=email,
                                            password=password)
            user_data.set_password(user_data.password)
            user_data.save()
            # get_role = get_object_or_404(Role, id=role)
            userprofile = UserProfile(userx=user_data,
                                      phone=phone,
                                      role=role,
                                      branch=branch,
                                      city=city,
                                      country=country,
                                      address=address,
                                      created_dt=datetime.now(),
                                      created_by=request.user)

            userprofile.save()

            return HttpResponseRedirect(reverse('account:CreateUserView'))
Beispiel #14
0
 def save(self):
     profile = UserProfile()
     profile.username = self.validated_data['username']
     profile.set_password(self.validated_data['password'])
     profile.birthday = self.validated_data['birthday']
     profile.gender = self.validated_data['gender']
     profile.save()
     return profile
Beispiel #15
0
def retrieve(request):
    ''' note that this requires an authenticated user before we try calling it '''
    try:
        profile=request.user.profile
    except UserProfile.DoesNotExist:
        profile=UserProfile(user=request.user)
        profile.save()
    return profile
Beispiel #16
0
def create_user(username='******', email='*****@*****.**', password='******', first_name='John', last_name='Doe', job_title='scrum master', office='opendream', has_image=False, timezone='Asia/Bangkok'):
    user = User.objects.create_user(username, email, password)
    account = UserProfile(first_name=first_name, last_name=last_name, user=user, job_title=job_title, office=office, timezone=timezone)
    if has_image:
        account.image = DjangoFile(open('static/tests/avatar.png'), 'avatar.png')
    account.save()

    return user
Beispiel #17
0
 def setUp(self):
     # Every test needs a client.
     self.client = Client()
     password = make_password('admin', salt=None, hasher='default')
     user = User(username='******', password=password, email='*****@*****.**')
     user.save();
     userprofile = UserProfile(user=user, usertype='4', department='admin', phone='admin')
     userprofile.save()
     self.client.login(username='******', password='******')
Beispiel #18
0
 def create(self, validated_data):
   """
   Create and return a new 'User' instance, given the validated data
   """
   user = User.objects.create_user(validated_data['username'], validated_data['email'], validated_data['password'])
   user.save()
   profile = UserProfile(user=user)
   profile.save()
   return user
Beispiel #19
0
    def create(self, validated_data):
        username = validated_data.get('username')
        email = validated_data.get('email')
        password = validated_data.get('password')

        user = User.objects.create_user(username, email, password)
        user_profile = UserProfile()
        user_profile.user = user
        user_profile.save(using='write')
        return user
Beispiel #20
0
    def setUp(self):
        # Every test needs a client.
        self.client = Client()
        password = make_password('admin', salt=None, hasher='default')
        user = User(username='******', password=password, email='*****@*****.**')
        user.save();
        userprofile = UserProfile(user=user, department='admin', phone='admin')
        userprofile.save()
        #系统自带的login函数,不会触发自定义的login函数
#        self.client.login(username='******', password='******')
        self.client.post('/account/login/', {'username':'******', 'password':'******'})
Beispiel #21
0
def register(request):

    if request.POST:
        username = request.POST.get('org.username',None)
        password = request.POST.get('password',None)
        confirmpwd = request.POST.get('confirmpwd',None)
        password = username
        confirmpwd = username
        email = request.POST.get('org.email',None)
        
        role_name_str = request.POST.get('org.role_name', None)
        
        department = request.POST.get('org.parent_organization_name',None)
        
        
        phone = request.POST.get('phone',None)
        '''验证重复帐号名'''
        usernames = User.objects.filter(username__iexact=username)
        '''验证重复email'''
        emails = User.objects.filter(email__iexact=email)
        if usernames:
            return HttpResponse(simplejson.dumps({"statusCode":302, "navTabId":request.POST.get('navTabId','accountindex'), "callbackType":request.POST.get('callbackType',None), "message":u'用户名已经存在不能添加', "info":u'用户名已经存在不能添加',"result":u'用户名已经存在不能添加'}), mimetype='application/json')
        
        
        '''验证两次输入密码是否一致'''
        if password != confirmpwd:
            return HttpResponse(simplejson.dumps({"statusCode":302, "navTabId":request.POST.get('navTabId','accountindex'), "callbackType":request.POST.get('callbackType',None), "message":u'两次密码输入不一致', "info":u'两次密码输入不一致',"result":u'两次密码输入不一致'}), mimetype='application/json')
        
        if emails:
            return HttpResponse(simplejson.dumps({"statusCode":302, "navTabId":request.POST.get('navTabId','accountindex'), "callbackType":request.POST.get('callbackType',None), "message":u'EMAIL已经存在不能添加', "info":u'EMAIL已经存在不能添加',"result":u'EMAIL已经存在不能添加'}), mimetype='application/json')
        if password != None and password != '':
            password = make_password(password, salt=None, hasher='default')
            user = User(username=username, password=password, email=email)
        else:
            user = User(username=username, email=email)
        user.save()
        userprofile = UserProfile(user=user, department=department, phone=phone)
        userprofile.save()
        
        if role_name_str != None and role_name_str != '':
            role_name_list = role_name_str.split(',')
            for role_name in role_name_list:
                if role_name != None and role_name != '':
                    try:
                        role = Role.objects.get(role_name__exact=role_name)
                        role.users.add(user)
                    except:
                        return HttpResponse(simplejson.dumps({"statusCode":302, "navTabId":request.POST.get('navTabId','accountindex'), "callbackType":request.POST.get('callbackType',None), "message":u'存在无效角色名请重新选择或置空'}), mimetype='application/json')
        
        
        Log(username=request.user.username, content=u"成功创建用户: " + username, level=1).save()
        return HttpResponse(simplejson.dumps({"statusCode":200, "navTabId":request.POST.get('navTabId','accountindex'), "callbackType":request.POST.get('callbackType','closeCurrent'), "message":u'添加成功'}), mimetype='application/json')
    else:
        return render_to_response('account/register.html', {'account_usertype_dict':account_usertype_dict})
Beispiel #22
0
    def form_valid(self, form):
        user = form.save(commit=False)
        user.email = form.cleaned_data['email']
        user.is_active = False
        user.save()

        profile = UserProfile(student_id=form.cleaned_data['student_id'], user=user,
                              field=form.cleaned_data['field'])
        profile.save()
        self.send_activate_mail(user, form)
        messages.success(self.request, _("You registered."))
        return super().form_valid(form)
Beispiel #23
0
	def process_job(self):
		try:
			user = User.objects.get(pk=self.kwargs["pk"])
		except User.DoesNotExist:
			raise Http404

		try:
			up = UserProfile.objects.get(user=user)
		except UserProfile.DoesNotExist:
			up = UserProfile(user=user)

		up.authToken = id_generator(24)
		up.save()
		return True
Beispiel #24
0
def registration(request, register_success_url="login", template="account/registration.html"):
    form = RegistrationForm()

    if request.POST:
        form = RegistrationForm(request.POST)

        if form.is_valid():
            first_name = form.cleaned_data['first_name']
            last_name = form.cleaned_data['last_name']
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
        
            user = User.objects.create_user(username=email,
                email=email,
                password=password)

            user.first_name = first_name
            user.last_name = last_name
            user.save()

            salt = sha.new(str(random.random())).hexdigest()[:5]
            activation_key = sha.new(salt+user.username).hexdigest()
            key_expires = datetime.datetime.today() + datetime.timedelta(2)

            user_profile = UserProfile(
            user=user,
            activation_key=activation_key,
            key_expires=key_expires)

            user_profile.save()
            
            current_site = Site.objects.get_current()
            subject = "welcome to my blog"
            message =  ('Please click the link below to'
                'activate your user account \n''%s%s%s') % (
                    current_site, "/account/confirm/", activation_key)

            sender = EMAIL_HOST_USER
            recipients = [email]

            
            mail_sender(subject=subject, message=message,
                        sender=sender, recipients=recipients)

            authenticate(email=email, password=password)


            return redirect(register_success_url)

    return render(request, template, {'form': form})
Beispiel #25
0
    def setUp(self):
        # Every test needs a client.
        self.client = Client()
        password = make_password('admin', salt=None, hasher='default')
        user = User(username='******', password=password, email='*****@*****.**')
        user.save();
        userprofile = UserProfile(user=user, department='admin', phone='admin')
        userprofile.save()
        #系统自带的login函数,不会触发自定义的login函数
#        self.client.login(username='******', password='******')
        self.client.post('/account/login/', {'username':'******', 'password':'******'})
        
        for i in range(10): 
            self.client.post('/authority/add_table/',{'table_name':'管理' + str(i), 'table_desc':'申请资源'})
Beispiel #26
0
 def setUp(self):
     # Every test needs a client.
     self.client = Client()
     password = make_password('admin', salt=None, hasher='default')
     user = User(username='******',
                 password=password,
                 email='*****@*****.**')
     user.save()
     userprofile = UserProfile(user=user,
                               usertype='4',
                               department='admin',
                               phone='admin')
     userprofile.save()
     self.client.login(username='******', password='******')
Beispiel #27
0
    def process_job(self):
        try:
            user = User.objects.get(pk=self.kwargs["pk"])
        except User.DoesNotExist:
            raise Http404

        try:
            up = UserProfile.objects.get(user=user)
        except UserProfile.DoesNotExist:
            up = UserProfile(user=user)

        up.authToken = id_generator(24)
        up.save()
        return True
Beispiel #28
0
def users_fabric(name, gender, is_superuser):
    print('Creating....%s' % name)
    u = UserProfile()
    u.username = name
    u.gender = gender
    u.set_password(name)
    u.is_active = True
    u.is_staff = True
    u.email = '*****@*****.**' % name
    u.is_superuser = is_superuser
    u.about_me = 'I am %s' % 'admin'
    u.hight = 160
    u.save()
    return u
Beispiel #29
0
def users_fabric(name, gender, is_superuser):
    print('Creating....%s' % name)
    u = UserProfile()
    u.username = name
    u.gender = gender
    u.set_password(name)
    u.is_active = True
    u.is_staff = True
    u.email = '*****@*****.**' % name
    u.is_superuser = is_superuser
    u.about_me = 'I am %s' % 'admin'
    bd = '1978-%s-01' % random.randint(1, 12)
    u.birthday = parse_date(bd)
    u.hight = 160
    u.save()
    return u
 def handle(self, *args, **options):
     fn = options['input']
     csv_reader = csv.reader(open(fn))
     group = Group.objects.get(name='students')
     
     for row in csv_reader:
         sn = row[0]
         name = row[1]
         try: 
             u = User.objects.create_user(sn, '', sn)
             u.groups.add(group)
             profile = UserProfile(real_name=name, student_number=sn, user=u)
             profile.save()
         except IntegrityError:
             pass
         self.stdout.write(name.decode('utf-8').encode('cp936'))
Beispiel #31
0
    def post(self, request):
        serializer = UserRegisterSerializer(data=request.data)
        data = request.data
        phone = request.session.get('phone')

        if serializer.is_valid():
            user = User.objects.create(userName=phone)
            user.set_password(data["password"])
            user.phone = phone
            user.save()
            userProfile = UserProfile(User=user)
            userProfile.save()
            message = "注册成功"
            return shortcuts.success_response(message)
        else:
            message = "请输入正确格式"
            return shortcuts.error_response(message)
Beispiel #32
0
def PNewUser(request):
	json_data=status.objects.filter(status='ERR',MSG='PD')
	errors=""
	if request.method == 'POST':
		#userprofile_form = UserProfileForm(request.POST)
		user_form = UserForm(request.POST)
		#if userprofile_form.is_valid() and user_form.is_valid():
		if user_form.is_valid():
			user_clean_data = user_form.cleaned_data
			created_user = User.objects.create_user(user_clean_data['username'], user_clean_data['email'], user_clean_data['password1'])
			created_user.first_name=request.POST['firstname']
			created_user.last_name=request.POST['lastname']
			created_user.is_active = False
			created_user.save()
			pinHash = str(hash("CLT"+ created_user.username + created_user.email))[3:9]
			userprofile = UserProfile(user=created_user, hash=pinHash, pwdhash=0) #hash=hashlib.sha224("CLT" + created_user.username + created_user.email).hexdigest())
			#userprofile.user = created_user
			#userprofile.phone_num1 = userprofile_form.cleaned_data['phone_num1']
			#userprofile.hash = hashlib.sha224("CLT" + created_user.username + created_user.email).hexdigest()
			userprofile.save()
			#subject = "new provider notice"
			#accept_link = 'http://cl.kazav.net/account/validate_prov/' + str(created_user.id) + '/' + userprofile.hash + '/'
			#html_message = '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">Welcome to CLT<BR> Name: ' + created_user.first_name + ' ' + created_user.last_name + '<BR> <a href="' + accept_link + '"> Validate Me </a> '
			#text_message = 'Welcome to CLT. Name: ' + created_user.first_name + ' ' + created_user.last_name + '      Validate yourself at: ' + accept_link 
			#user_mail=created_user.email
			#msg = EmailMultiAlternatives(subject, text_message, 'CLT Server<*****@*****.**>', [user_mail])
			#msg.attach_alternative(html_message,"text/html")
			#msg.send()
			textmessage="Hi " + request.POST['firstname'] + " and welcome to CLT. This is your PIN code for activating your account: " + pinHash
			account_sid = "AC442a538b44777e2897d4edff57437a24"
			auth_token  = "be3a4e5fbf058c5b27a2904efd05d726"
			client = TwilioRestClient(account_sid, auth_token)
			#DEL COMMENT TO ENABLE SMS			message = client.sms.messages.create(body=textmessage,to="+"+created_user.username,from_="+16698005705")
			#new_user = authenticate(username=request.POST['username'], password=request.POST['password1'])
			#login(request, new_user)
			json_data = status.objects.filter(status='OK')
		else:
			json_data = status.objects.filter(status='WRN')
			if user_form.errors.items() :
				errors = ",[" + str(dict([(k, v[0].__str__()) for k, v in user_form.errors.items()])) + "]"
			#if userprofile_form.errors.items():
			#	errors += ",[" + str(dict([(k, v[0].__str__()) for k, v in userprofile_form.errors.items()])) + "]"
	json_dump = "[" + serializers.serialize("json", json_data)
	json_dump += errors + "]"
	return HttpResponse(json_dump.replace('\'','"'))
Beispiel #33
0
def register(request):
    if request.user.is_authenticated():
        redirect(reverse('home'))

    context = {}
    if request.method == 'GET':
        context['form'] = RegisterForm()
        return render(request, 'account/register.html', context)

    form = RegisterForm(request.POST)
    context['form'] = form

    if not form.is_valid():
        return render(request, 'account/register.html', context)

    new_user = User.objects.create_user(username=form.cleaned_data['email'], password=form.cleaned_data['password1'])
    new_user.is_active = False
    new_user.first_name = form.cleaned_data['fname']
    new_user.last_name = form.cleaned_data['lname']
    new_user.save()

    token = default_token_generator.make_token(new_user)
    if form.cleaned_data['user_type'] == 'c':
        is_customer = True
    else:
        is_customer = False
    user_profile = UserProfile(is_customer=is_customer, token=token, user=new_user)
    try:
        user_profile.save()
    except IntegrityError:
        context['errors'] = 'another user has already used this email address'
        return render(request, 'account/register.html', context)

    subject = 'Confirmation from Yummy'
    message = 'Click this link to activate your account: ' + "http://128.237.180.208:8000" + \
              reverse('activate', kwargs={'token': token})
    from_addr = '*****@*****.**'
    recipients = [form.cleaned_data['email']]
    # send the activation email to the registered email address asynchronously by starting a daemon thread
    t = threading.Thread(target=send_mail, args=[subject, message, from_addr, recipients], kwargs={'fail_silently': True})
    t.setDaemon(True)
    t.start()

    context['email'] = form.cleaned_data['email']
    return render(request, 'account/activate-required.html', context)
Beispiel #34
0
def login_evernote_token(request):
    """ as get_evernote_token(), but logs the user in as well
    """
    everAuth = EvernoteAPI()
    credentials = everAuth.get_user_token(request)
    if not credentials:
        return HttpResponseRedirect(
            reverse('account.views.login_page', args=[]))
    if request.user.is_authenticated():
        user = request.user
    else:
        evernoteHost = settings.EVERNOTE_HOST
        userStoreUri = "https://" + evernoteHost + "/edam/user"
        userStoreHttpClient = THttpClient.THttpClient(userStoreUri)
        userStoreProtocol = TBinaryProtocol.TBinaryProtocol(
            userStoreHttpClient)
        userStore = UserStore.Client(userStoreProtocol)
        evernoteUser = userStore.getUser(credentials['oauth_token'])
        user = authenticate(username=evernoteUser.username,
                            password=str(evernoteUser.id))
        if not user:
            newUser = User.objects.create_user(evernoteUser.username,
                                               evernoteUser.email,
                                               str(evernoteUser.id))
            names = evernoteUser.name.split() if evernoteUser.name else None
            newUser.first_name = names[0] if names and len(names) > 0 else ""
            newUser.last_name = names[1] if names and len(names) > 1 else ""
            newUser.save()
            user = authenticate(username=evernoteUser.username,
                                password=str(evernoteUser.id))
        login(request, user)

    try:
        expires_time = datetime.fromtimestamp(int(credentials['expires']))
    except TypeError:
        logging.error("Error parsing token expires time")
        expires_time = datetime.now()

    profile = UserProfile()
    profile.user = user
    profile.evernote_token = credentials['oauth_token']
    profile.evernote_token_expires_time = expires_time
    profile.evernote_note_store_url = credentials['edam_noteStoreUrl']
    profile.save()
    return HttpResponseRedirect(reverse('base.views.index', args=[]))
Beispiel #35
0
 def save(self, commit=True):
     if not commit:
         raise NotImplementedError(
             "Can't create User and UserProfile without database save")
     user = super(UserCreateForm, self).save(commit=True)
     user_profile = UserProfile(
         user=user,
         nama_lengkap=self.cleaned_data['nama_lengkap'],
         no_handphone=self.cleaned_data['no_handphone'],
         bidang=self.cleaned_data['bidang'],
         role=self.cleaned_data['role'],
         asal_sekolah=self.cleaned_data['asal_sekolah'],
         kota=self.cleaned_data['kota'],
         provinsi=self.cleaned_data['provinsi'],
         guru_pembimbing=self.cleaned_data['guru_pembimbing'],
         no_handphone_guru=self.cleaned_data['no_handphone_guru'])
     user_profile.save()
     return user, user_profile
Beispiel #36
0
def register_user(request):
    """
        User sign up form

    :param request:
    """
    if request.method == "POST":
        data = request.POST.copy()
        data['username'] = ''.join([choice(letters) for i in xrange(30)])
        user_register_form = UserRegisterForm(data)
        if user_register_form.is_valid():
            # creating activation code for new user
            activation_key = tasks.generate_activation_key(
                data["username"]
            )
            # creating expired date for new activation key
            key_expires = tasks.generate_key_expires_date()
            tasks.send_activation_code.delay(
                activation_key,
                data["email"]
            )

            user_register_form.save()

            user = User.objects.get(username=data['username'])
            url = data["url"]
            birth_date = data["birth_date"]
            user_profile = UserProfile(user=user,
                                       url=url,
                                       birth_date=birth_date,
                                       activation_key=activation_key,
                                       key_expires=key_expires)
            user_profile.save()
            messages.success(
                request,
                _('Registration successful. You need to confirm your account.'),
                fail_silently=True
            )
            return render(request, "login.html")
    else:
        user_register_form = UserRegisterForm()
    c = {"form": user_register_form}
    c.update(csrf(request))
    return render(request, "register.html", c)
Beispiel #37
0
def register(request, tmpl):
    syserr = False
    if request.user.is_authenticated():
        return HttpResponseRedirect('/account/home/')

    if request.method == 'POST':
        form = UserForm(request.POST)
        if form.is_valid():
            try:
                new_user = User.objects.create_user(
                    username=form.cleaned_data['username'],
                    email=form.cleaned_data['email']
                )
                new_user.set_password(form.cleaned_data['password'])
                new_user.first_name = form.cleaned_data['first_name']
                new_user.last_name = form.cleaned_data['last_name']
                new_user.save()
                badge = form.cleaned_data['badge_type']
                if not badge.userchoice:
                    badge = Badge.objects.filter(default=True)[0]
                if request.session.get('register_data'):
                    notes = "REGISTER_DATA:%s\n" % (request.session.get('register_data'))
                else:
                    notes = ""
                new_profile = UserProfile(
                    user=new_user,
                    gender=form.cleaned_data['gender'],
                    address=form.cleaned_data['address'],
                    zipcode=form.cleaned_data['zipcode'],
                    city=form.cleaned_data['city'],
                    country=form.cleaned_data['country'],
                    language=form.cleaned_data['language'],
                    badge_type = badge,
                    badge_text=form.cleaned_data['badge_text'],
                    comments=form.cleaned_data['comments'],
                    fingerprint=form.cleaned_data['fingerprint'],
                    notes = notes
                )
                new_profile.save()
            except Exception, e:
                print e
                syserr = True
            else:
                return HttpResponseRedirect('/account/register/complete/')
Beispiel #38
0
 def create_user(self, forms, request):
     """Create a user with content of the Form
     """
     subform = forms[0]
     userform = forms[1]
     user = User(username=userform['username'], email=subform['email'])
     user.set_password(subform['pw1'])
     user.is_active = False
     user.save()
     slug = slugify(userform['username'])
     profile = UserProfile(user=user)
     profile.generateconfirmcode()
     profile.save()
     ident = Identity(username=userform['username'], email=subform['email'], userid=slug, userprofile=profile)
     ident.save()
     identp = IdentityPerms(identity=ident)
     identp.save()
     profile.sendemail(request)
     return user
Beispiel #39
0
    def create(self, validated_data):
        profile_data = validated_data.pop('profile', None)
        username = validated_data['username']
        email = validated_data['email']
        password = validated_data['password']
        user = User(username=username, email=email)
        user.set_password(password)
        user.save()
        avatar = profile_data.get('avatar') or None
        if not avatar:
            avatar = 'http://api.adorable.io/avatar/200/' + username

        profile = UserProfile(user=user,
                              bio=profile_data.get('bio', ''),
                              avatar=avatar,
                              name=profile_data.get('name', ''),
                              status=profile_data.get('status', 'Member'))
        profile.save()
        return user
def user_signup(req):
    if req.method == 'GET':
        context = {
            'form': SignUpForm(),
        }

        return render(req, 'accounts/signup.html', context=context)
    else:
        form = SignUpForm(req.POST)
        if form.is_valid():
            user = form.save()
            profile = UserProfile(user=user, )
            profile.save()
            login(req, user)
            return redirect('index')

        context = {'form': form}

        return render(req, 'accounts/signup.html', context=context)
Beispiel #41
0
def login_core(request, username, password):
    ret = False
    
    if username == 'admin':
        # 特殊用户 admin
        user = authenticate(username=username, password=password)
    else:
        if password == '':
            return False
        # LDAP验证
        if not login_ldap(username, password):
            return False
            
        # 检查此用户是否存在,如果不存在,则自动插入用户记录
        res = User.objects.filter(username=username)
        if not res:
            # 从LDAP获取用户信息
            dd = search_user(username)[0]
            password = make_password(username, salt=None, hasher='default')
            user = User(username=username, password=password, email=dd['mail'])
            user.save()
            # 用户附加信息
            profile = UserProfile()
            profile.department = dd['department']
            profile.phone = dd['phone']
            profile.realname = dd['cn']
            profile.user = user
            profile.save()
        
        # 这里请注意   *** password=username ***
        user = authenticate(username=username, password=username)
            
    # 登陆核心方法
    if user:
        if user.is_active:
            auth_login(request, user)
            ret = True
        else:
            messages.add_message(request, messages.INFO, _(u'用户没有激活'))
    else:
        messages.add_message(request, messages.INFO, _(u'用户不存在'))
    return ret
Beispiel #42
0
def add(request):
    role_list = Role.objects.all()
    if request.POST:
        username = request.POST.get("username")
        realname = request.POST.get("realname")
        email = request.POST.get("email")
        roles = request.POST.getlist("role")
        department = request.POST.get("department")
        phone = request.POST.get("phone")
        # 验证重复的帐号名
        usernames = User.objects.filter(username__iexact=username)
        # 验证重复的邮件地址
        emails = User.objects.filter(email__iexact=email)
        
        if usernames:
            return HttpResponse(simplejson.dumps({"statusCode":403,  "message":u'用户名已经存在不能添加'}), mimetype='application/json')
        if emails:
            return HttpResponse(simplejson.dumps({"statusCode":403,  "message":u'邮件地址已经存在不能添加'}), mimetype='application/json')
        # 验证用户名是否存在于LDAP中
        if not validate_ldap(username):
            return HttpResponse(simplejson.dumps({"statusCode":403,  "message":u'用户名无效不能添加'}), mimetype='application/json')
        
        # 保存用户信息
        # 密码由用户名单向散列得到,实际登录时使用LADP 验证真正的用户名和密码
        password = make_password(username, salt=None, hasher='default')
        
        user = User(username=username, email=email,password=password)
        user.save()
        userprofile = UserProfile(user=user, department=department, phone=phone,realname=realname)
        userprofile.save()
        
        # 保存角色信息 
        for item in roles:
            user.role_set.add(int(item))
        
        # 日志
        Log(username=request.user.username,log_type=1,relate_id=user.id,content="execute add user " + user.username + " success!", level=1).save()
        
        return HttpResponse(simplejson.dumps({"statusCode":200,"url": "/account/index", "message":u'添加成功'}), mimetype='application/json')
    
    return render_to_response('account/add.html',{'role_list':role_list},context_instance=RequestContext(request))
Beispiel #43
0
def signup_callback(request):
    """
    注册成功后的回调(由SSO服务器发起)
    :param request:
    :return:
    """
    auth_token = request.POST.get("auth_token")
    redirect = request.GET.get("redirect", settings.LOGIN_REDIRECT_URL)

    error, user, user_info = SSOAuthBackend.authenticate(auth_token)
    if error or user or not user_info:
        raise PermissionDenied
    else:
        user = UserProfile(username=user_info['username'],
                           email=user_info['email'])
        user.save()

        auth.login(request, user)  # create session, write cookies
        logined_users[auth_token] = user  # 存入全局变量中
        request.session["auth_token"] = auth_token  # 存入session
        return HttpResponseRedirect(redirect)
Beispiel #44
0
def changepwd_callback(request):
    """
    修改密码后的回调(由SSO服务器发起)
    :param request:
    :return:
    """
    auth_token = request.POST.get("auth_token")
    redirect = request.GET.get("redirect", settings.LOGIN_REDIRECT_URL)

    error, user, user_info = SSOAuthBackend.authenticate(auth_token)
    if not error:
        if not user:  # 这种情况表明用户在其他site注册,并且首次登陆本site
            user = UserProfile(username=user_info['username'],
                               email=user_info['email'])
            user.save()
        auth.login(request, user)  # create session, write cookies
        logined_users[auth_token] = user  # 存入全局变量中
        request.session["auth_token"] = auth_token  # 存入session
        return HttpResponseRedirect(redirect)
    else:
        raise PermissionDenied
Beispiel #45
0
def my_signup(request):
    # if the user is already logged in, send them to the current_courses page
    if request.user.is_authenticated():
        return HttpResponseRedirect('/gradebook/current_courses/')

    if request.is_ajax():
        get_action = request.GET['get_action']
        if get_action == 'is_email_unique':
            email = request.GET['email_in_question']
            unique = User.objects.filter(username=email).count() == 0
            return HttpResponse(json.dumps({'is_unique': unique}), mimetype='application/json')

    if request.method == 'POST':
        form = MyUserCreationForm(request.POST)

        if form.is_valid():
            password1 = form.cleaned_data.get('password1')
            #password2 = form.cleaned_data.get('password2')
            #if password1 != password2:
            #    form.errors.setdefault('password1', ErrorList()).append(form.error_messages['password_mismatch'])
            #else:
            email = form.cleaned_data.get('email')
            user = User.objects.create_user(username=email,
                                            password=password1,
                                            email=email)
            user.first_name = form.cleaned_data.get('first_name')
            user.last_name = form.cleaned_data.get('last_name')
            user.is_active = False  # user is inactive until email is validated
            user.save()
            prof = UserProfile(user=user)
            prof.save()

            send_validation_email(user)

            login(request, authenticate(username=email, password=password1))

            return HttpResponseRedirect('/account/settings/')
    else:
        form = MyUserCreationForm()
    return HttpResponseRedirect('/')
Beispiel #46
0
def init():
    admin = User.objects.create_user(username="******", password="******")
    admin.is_staff = True
    admin.is_superuser = True
    admin.save()
    admin_profile = UserProfile(user=admin, name="최고관리자")
    admin_profile.save()

    staff = User.objects.create_user(username="******", password="******")
    staff.is_staff = True
    staff.save()
    staff_profile = UserProfile(user=staff, name="일반회원")
    staff_profile.save()

    user = User.objects.create_user(username="******", password="******")
    user.save()
    profile = UserProfile(user=user, name="비회원")
    profile.save()

    board = Board(name="board", order=0)
    board.save()

    for i in range(45):
        article = Article(author=staff_profile,
                          title='title' + str(i),
                          board=board,
                          contents='contents',
                          notice=False,
                          read=0)
        article.save()
Beispiel #47
0
def init():
    admin = User.objects.create_user(username="******", password="******")
    admin.is_staff = True
    admin.is_superuser = True
    admin.save()
    admin_profile = UserProfile(user=admin,name="최고관리자")
    admin_profile.save()

    staff = User.objects.create_user(username="******", password="******")
    staff.is_staff = True
    staff.save()
    staff_profile = UserProfile(user=staff,name="일반회원")
    staff_profile.save()

    user = User.objects.create_user(username="******", password="******")
    user.save()
    profile = UserProfile(user=user,name="비회원")
    profile.save()


    board = Board(name="board", order=0)
    board.save()

    for i in range(45):
        article = Article(
                author=staff_profile,
                title='title'+str(i), 
                board=board,
                contents='contents',
                notice=False,
                read=0)
        article.save()
Beispiel #48
0
    def save(self):
        username = self.cleaned_data['username']
        password = self.cleaned_data['password']
        user = User(
            username=username,
            email=username,
            is_active=False,
        )
        user.set_password(password)
        user.save()

        profile = UserProfile(
            user=user,
            username=username,
            nickname=username,
            email=username,
            is_mail_verified=False,
        )
        profile.save()

        INFO_LOG.info(gen_info_msg(self._request, action=u'注册成功'))
        return profile
Beispiel #49
0
def login_evernote_token(request):
    """ as get_evernote_token(), but logs the user in as well
    """
    everAuth = EvernoteAPI()
    credentials = everAuth.get_user_token(request)
    if not credentials:
        return HttpResponseRedirect(reverse('account.views.login_page', args=[]))
    if request.user.is_authenticated():
        user = request.user
    else:
        evernoteHost = settings.EVERNOTE_HOST
        userStoreUri = "https://" + evernoteHost + "/edam/user"
        userStoreHttpClient = THttpClient.THttpClient(userStoreUri)
        userStoreProtocol = TBinaryProtocol.TBinaryProtocol(userStoreHttpClient)
        userStore = UserStore.Client(userStoreProtocol)
        evernoteUser = userStore.getUser(credentials['oauth_token'])
        user = authenticate(username=evernoteUser.username, password=str(evernoteUser.id))
        if not user:
            newUser = User.objects.create_user(evernoteUser.username, evernoteUser.email, str(evernoteUser.id))
            names = evernoteUser.name.split() if evernoteUser.name else None
            newUser.first_name = names[0] if names and len(names) > 0 else ""
            newUser.last_name = names[1] if names and len(names) > 1 else ""
            newUser.save()
            user = authenticate(username=evernoteUser.username, password=str(evernoteUser.id))
        login(request, user)

    try:
        expires_time = datetime.fromtimestamp(int(credentials['expires']))
    except TypeError:
        logging.error("Error parsing token expires time")
        expires_time = datetime.now()

    profile = UserProfile()
    profile.user = user
    profile.evernote_token = credentials['oauth_token']
    profile.evernote_token_expires_time = expires_time
    profile.evernote_note_store_url = credentials['edam_noteStoreUrl']
    profile.save()
    return HttpResponseRedirect(reverse('base.views.index', args=[]))
Beispiel #50
0
    def post(self, request, format=None):
        resutl = {}
        serializer = UserRegisterSerializer(data=request.data)
        if serializer.is_valid():
            username = serializer.validated_data.get('username')
            password = serializer.validated_data.get('password')
            email = serializer.validated_data.get('email')
            type = serializer.validated_data.get('type', 0)
            auth_user = User()
            auth_user.username = username
            auth_user.set_password(password)
            auth_user.email = email
            auth_user.save()

            # 保存user扩展
            userProfile = UserProfile()
            userProfile.user = auth_user
            userProfile.telephone = username
            userProfile.type = type
            userProfile.save()

            return Response({'status': 'ok'})
Beispiel #51
0
    def save(self):
        username = self.cleaned_data['username']
        password = self.cleaned_data['password']
        user = User(
            username=username,
            email=username,
            is_active=False,
        )
        user.set_password(password)
        user.save()

        profile = UserProfile(
            user=user,
            username=username,
            nickname=username,
            email=username,
            is_mail_verified=False,
        )
        profile.save()

        INFO_LOG.info(gen_info_msg(self._request, action=u'注册成功'))
        return profile
Beispiel #52
0
def join_form(request):
    if request.method == 'POST':
        user_id = request.POST.get('mb_id', '')
        password = request.POST.get('mb_password', '')
        question = int(request.POST.get('mb_password_q', '0'))
        answer = request.POST.get('mb_password_a', '')
        name = request.POST.get('mb_name', '')
        nick = request.POST.get('mb_nick', '')
        email = request.POST.get('mb_email', '')
        birth = request.POST.get('mb_birth', '')
        sex = request.POST.get('mb_sex', '')
        phone = request.POST.get('mb_hp', '')
        profile_text = request.POST.get('mb_profile', '')
        is_mailing = request.POST.get('mb_mailing', '')
        is_sms = request.POST.get('mb_sms', '')
        is_open = request.POST.get('mb_open', '')

        user = User.objects.create_user(username=user_id,
                                        password=password,
                                        email=email)
        profile = UserProfile(user=user,
                              question=question,
                              answer=answer,
                              name=name,
                              nick=nick,
                              birth=birth,
                              sex=sex,
                              phone=phone,
                              text=profile_text,
                              mailing=(len(is_mailing) > 0),
                              sms=(len(is_sms) > 0),
                              info_open=(len(is_open) > 0))
        profile.save()
        return HttpResponseRedirect('/account/join_success/?name=' + name +
                                    '&id=' + user_id)
    else:
        return render_to_response('account/join_form.html', {},
                                  context_instance=RequestContext(request))
Beispiel #53
0
def register(request):
    '''
    Register a new user
    '''
    template = 'account/register.html'
    if request.method == 'GET':
        return render(request, template, {
            'userForm': UserForm(),
        })
    # POST
    userForm = UserForm(request.POST)
    if not userForm.is_valid():
        return render(request, template, {
            'userForm': userForm,
        })
    user = userForm.save()
    userProfile = UserProfile()
    userProfile.user = user
    userProfile.name = 'User還未命名'
    userProfile.lavel = 0
    userProfile.save()
    messages.success(request, '歡迎註冊')
    return redirect('account:login')
def sign_up_user(request):
    if request.method == 'GET':
        context = {
            'form': SignUpForm(),
        }

        return render(request, 'accounts/sign_up.html', context)
    else:
        form = SignUpForm(request.POST)

        if form.is_valid():
            user = form.save()
            profile = UserProfile(user=user, )
            profile.user.groups.add(Group.objects.get(name='UserGroup'))
            profile.save()
            login(request, user)
            return redirect('index')

        context = {
            'form': form,
        }

        return render(request, 'accounts/sign_up.html', context)
Beispiel #55
0
def PNewUser(request):
  json_data=status.objects.filter(status='ERR',MSG='PD')
  errors=""
  if request.method == 'POST':
    #userprofile_form = UserProfileForm(request.POST)
    user_form = UserForm(request.POST)
    #if userprofile_form.is_valid() and user_form.is_valid():
    if user_form.is_valid():
      user_clean_data = user_form.cleaned_data
      created_user = User.objects.create_user(user_clean_data['username'], user_clean_data['email'], user_clean_data['password1'])
      created_user.first_name=request.POST['firstname']
      created_user.last_name=request.POST['lastname']
      #created_user.is_active = False
      created_user.save()
      pinHash = str(hash("CLT"+ created_user.username + created_user.email))[3:9]
      userprofile = UserProfile(user=created_user, hash=pinHash, pwdhash=0) #hash=hashlib.sha224("CLT" + created_user.username + created_user.email).hexdigest())
      #userprofile.user = created_user
      #userprofile.phone_num1 = userprofile_form.cleaned_data['phone_num1']
      #userprofile.hash = hashlib.sha224("CLT" + created_user.username + created_user.email).hexdigest()
      userprofile.save()
      textmessage="Hi " + request.POST['firstname'] + " and welcome to Cofix. This is your PIN code for activating your account: " + pinHash
      account_sid = "AC442a538b44777e2897d4edff57437a24"
      auth_token  = "be3a4e5fbf058c5b27a2904efd05d726"
      client = TwilioRestClient(account_sid, auth_token)
      message = client.sms.messages.create(body=textmessage,to="+"+created_user.username,from_="+16698005705")
      #new_user = authenticate(username=request.POST['username'], password=request.POST['password1'])
      #login(request, new_user)
      json_data = status.objects.filter(status='OK')
    else:
      json_data = status.objects.filter(status='WRN')
      if user_form.errors.items() :
        errors = ",[" + str(dict([(k, v[0].__str__()) for k, v in user_form.errors.items()])) + "]"
      #if userprofile_form.errors.items():
      # errors += ",[" + str(dict([(k, v[0].__str__()) for k, v in userprofile_form.errors.items()])) + "]"
  json_dump = "[" + serializers.serialize("json", json_data)
  json_dump += errors + "]"
  return HttpResponse(json_dump.replace('\'','"'))
Beispiel #56
0
def create(request, tmpl):
    syserr = False
    create_success = False
    user_obj = None
    if request.method == 'POST':
        form = UserFormManagerCreate(request.POST)
        if form.is_valid():
            try:
                user_obj = User(
                        username = form.cleaned_data['username'],
                        email = form.cleaned_data['email'],
                        first_name = form.cleaned_data['first_name'],
                        last_name = form.cleaned_data['last_name'])
                user_obj.set_password(form.cleaned_data['password'])
                user_obj.save()
                p = UserProfile(
                        user=user_obj,
                        gender = form.cleaned_data['gender'],
                        address = form.cleaned_data['address'],
                        country = form.cleaned_data['country'],
                        zipcode = form.cleaned_data['zipcode'],
                        city = form.cleaned_data['city'],
                        language = form.cleaned_data['language'],
                        badge_text = form.cleaned_data['badge_text'],
                        comments =  form.cleaned_data['comments'],
                        fingerprint = form.cleaned_data['fingerprint'],
                        badge_type = form.cleaned_data['badge_type'],
                        notes =  form.cleaned_data['notes'],
                    payment_later=form.cleaned_data['payment_later'])
                p.save()
                create_success = True
            except Exception, e:
                print e
                syserr = True
            else:
                create_success = True
                form = UserFormManagerCreate()
Beispiel #57
0
def join_form(request):
    if request.method == 'POST':
        user_id = request.POST.get('mb_id','')
        password = request.POST.get('mb_password','')
        question = int(request.POST.get('mb_password_q','0'))
        answer = request.POST.get('mb_password_a','')
        name = request.POST.get('mb_name','')
        nick = request.POST.get('mb_nick','')
        email = request.POST.get('mb_email','')
        birth = request.POST.get('mb_birth','')
        sex = request.POST.get('mb_sex','')
        phone = request.POST.get('mb_hp','')
        profile_text = request.POST.get('mb_profile','')
        is_mailing = request.POST.get('mb_mailing','')
        is_sms = request.POST.get('mb_sms','')
        is_open = request.POST.get('mb_open','')

        user = User.objects.create_user(username=user_id, password=password, email=email)
        profile = UserProfile(
                user=user,
                question=question,
                answer=answer,
                name=name,
                nick=nick,
                birth=birth,
                sex=sex,
                phone=phone,
                text=profile_text,
                mailing=(len(is_mailing)>0),
                sms=(len(is_sms)>0),
                info_open=(len(is_open)>0)
                )
        profile.save()
        return HttpResponseRedirect('/account/join_success/?name='+name+'&id='+user_id)
    else:
        return render_to_response('account/join_form.html',{
        }, context_instance=RequestContext(request))
Beispiel #58
0
    def import_fromcsv(fcsv, emailtmpl):
        if os.path.exists(fcsv) and os.path.exists(emailtmpl):
            handle = file(fcsv)
            for i in handle.readlines():
                values = i.strip().split(';')
                print values
                try:
                    c = Country.objects.get(code=values[6])
                except:
                    c = Country.objects.get(code='fr')

                new_user = User.objects.create_user(
                    username=values[2],
                    email=values[3]
                )
                new_user.first_name=values[1]
                new_user.last_name=values[0]
                new_user.set_password(values[4])
                new_user.save()
                badge = Badge.objects.filter(default=True)[0]
                new_profile = UserProfile(
                    user=new_user,
                    language=values[5],
                    country=c,
                    badge_type = badge,
                    badge_text=values[7],
                )
                new_profile.save()

                handle2 = file(emailtmpl)
                email = handle2.read()
                email = email.replace('###LOGIN###', values[2])
                email = email.replace('###PASSWORD###', values[4])
                send_mail('Your particpation at LSM / Votre particpation aux RMLL', email, '*****@*****.**', [values[3]])
        else:
            print 'Err: unable to find file "%s" or "%s"' % (fcsv, emailtmpl)