コード例 #1
0
ファイル: views.py プロジェクト: laonan/dongtingfm
def create_user_from_weibo(request,
                           template_name='register/create_user_from_weibo.html'
                           ):

    oauth_access_token = request.session.get('oauth_access_token', None)

    if request.user.is_authenticated() or oauth_access_token is None:
        return HttpResponseRedirect(reverse('home.views.index'))

    client = APIClient(app_key=APP_KEY,
                       app_secret=APP_SECRET,
                       redirect_uri=_get_weibo_callback_url(request))
    client.set_access_token(oauth_access_token['access_token'],
                            oauth_access_token['expires_in'])

    weibo_user = client.get.users__show(uid=oauth_access_token['uid'])
    weibo_username = weibo_user.screen_name

    template_var = {}
    form = RegistrationForm(initial={'username': weibo_username})
    if request.method == 'POST':
        form = RegistrationForm(request.POST.copy())
        if request.method == 'POST':
            if form.is_valid():
                username = form.cleaned_data['username']
                email = form.cleaned_data['email']
                password = form.cleaned_data['password']
                user = User.objects.create_user(username, email, password)
                user.is_active = True
                user.save()

                profile = UserProfile()
                profile.user = user
                profile.song_ord_filed = 'post_datetime'
                profile.save()

                #weibo信息记录
                w_user = WeiboUser()
                w_user.user = user

                w_user.weibo_user_id = oauth_access_token['uid']
                w_user.weibo_username = weibo_username
                w_user.oauth_access_token = oauth_access_token['access_token']
                w_user.save()

                #发微博提示
                if request.POST.get('update_msg'):
                    msg = request.POST.get('bind_msg')[0:140]
                    client.post.statuses__update(status=msg)

                user = authenticate(username=username, password=password)
                auth_login(request, user)

                return HttpResponseRedirect(reverse('songs.views.my_home'))

    template_var['form'] = form
    template_var['weibo_username'] = weibo_username
    return render_to_response(template_name,
                              template_var,
                              context_instance=RequestContext(request))
コード例 #2
0
ファイル: forms.py プロジェクト: andy071001/dongtingfm
 def save(self,request):
     if self.cleaned_data['city'] or self.cleaned_data['website'] or self.cleaned_data['intro'] or self.cleaned_data['qq'] or self.cleaned_data['msn'] or self.cleaned_data['avatar']:
        
         current_user = request.user
        
         try:
             profile = current_user.get_profile()
         except UserProfile.DoesNotExist:
             profile = None
         
         if not profile:
             profile = UserProfile()
             profile.user = current_user
             profile.song_ord_filed = 'post_datetime'
             
         profile.city = self.cleaned_data['city']
         profile.website = self.cleaned_data['website']
         profile.intro = self.cleaned_data['intro']
         profile.qq = self.cleaned_data['qq']
         profile.msn = self.cleaned_data['msn']
         if 'avatar' in request.FILES:
             
             #删除掉原头像
             import os
             if profile and profile.avatar and os.path.exists(profile.avatar.path):
                 os.remove(profile.avatar.path)
                              
             profile.avatar = self.cleaned_data['avatar']#request.FILES["avatar"]
         profile.save()
         
         if self.cleaned_data['username'] != current_user.username:
             current_user.username = self.cleaned_data['username']
             current_user.save()
コード例 #3
0
ファイル: views.py プロジェクト: andy071001/dongtingfm
def active_user(request, uidb36=None, token=None,
                         template_name='register/activation_confirm.html',
                         token_generator=default_token_generator,
                         current_app=None, extra_context=None):
    """
    View that checks the hash in a active user link and make user to be active
    """
    assert uidb36 is not None and token is not None # checked by URLconf
   
    try:
        uid_int = base36_to_int(uidb36)
        user = User.objects.get(id=uid_int)
    except (ValueError, User.DoesNotExist):
        user = None

    if user is not None and token_generator.check_token(user, token):
        validlink = True
        user.is_active = True
        user.save()
        
        #初始化userprofile
        profile_count = UserProfile.objects.filter(user=user).count()
        if profile_count == 0:
            profile = UserProfile()
            profile.user = user
            profile.song_ord_filed = 'post_datetime'
            profile.save()
    else:
        validlink = False
    context = {
        'validlink': validlink,
    }
    context.update(extra_context or {})
    return render_to_response(template_name, context,
                              context_instance=RequestContext(request, current_app=current_app))
コード例 #4
0
ファイル: backend.py プロジェクト: Denis-Savin/ivpy
 def register(self, request, **kwargs):
     if Site._meta.installed:
         site = Site.objects.get_current()
     else:
         site = RequestSite(request)
     print site
     user = User()
     user.username = kwargs['username']
     user.email = kwargs['email']
     password = kwargs['password1']
     user.set_password(password)
     user.first_name = kwargs['first_name']
     user.last_name = kwargs['last_name']
     user.is_active = False
     user.save()
     profile_user = UserProfile()
     # Любое совпадение наименования полей и аргументов- случайно :), так
     # проще не ошибиться
     profile_user.country = kwargs['country']
     profile_user.city = kwargs['city']
     profile_user.company = kwargs['company']
     profile_user.dokladchik = kwargs['dokladchik']
     profile_user.surname = kwargs['surname']
     profile_user.job = kwargs['job']
     profile_user.accepted_eula = kwargs['accepted_eula']
     profile_user.user = user
     profile_user.save()
     prof = RegistrationProfile.objects.create_profile(user)
     prof.send_activation_email(site)
     return user
コード例 #5
0
    def signup(self, request, user):
        user.first_name = self.cleaned_data['first_name']
        user.last_name = self.cleaned_data['last_name']

        user.save()

        profile = UserProfile()
        profile.user = user
        profile.user = user
        profile.phone_no = self.cleaned_data['phone_no']
        profile.save()
コード例 #6
0
ファイル: views.py プロジェクト: andy071001/dongtingfm
def create_user_from_weibo(request, template_name='register/create_user_from_weibo.html'):

    oauth_access_token = request.session.get('oauth_access_token', None)

    if request.user.is_authenticated() or oauth_access_token is None:
        return HttpResponseRedirect(reverse('home.views.index'))

    client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=_get_weibo_callback_url(request))
    client.set_access_token(oauth_access_token['access_token'], oauth_access_token['expires_in'])

    weibo_user = client.get.users__show(uid=oauth_access_token['uid'])
    weibo_username = weibo_user.screen_name

    template_var = {}
    form = RegistrationForm(initial={'username': weibo_username })
    if request.method == 'POST':
        form = RegistrationForm(request.POST.copy())
        if request.method == 'POST':
            if form.is_valid():
                username = form.cleaned_data['username']
                email = form.cleaned_data['email']
                password = form.cleaned_data['password']
                user = User.objects.create_user(username,email,password)
                user.is_active = True
                user.save()

                profile = UserProfile()
                profile.user = user
                profile.song_ord_filed = 'post_datetime'
                profile.save()

                #weibo信息记录
                w_user = WeiboUser()
                w_user.user = user

                w_user.weibo_user_id = oauth_access_token['uid']
                w_user.weibo_username = weibo_username
                w_user.oauth_access_token = oauth_access_token['access_token']
                w_user.save()

                #发微博提示
                if request.POST.get('update_msg'):
                    msg = request.POST.get('bind_msg')[0:140]
                    client.post.statuses__update(status=msg)

                user = authenticate(username=username, password=password)
                auth_login(request,user)

                return HttpResponseRedirect(reverse('songs.views.my_home'))

    template_var['form'] = form
    template_var['weibo_username'] = weibo_username
    return render_to_response(template_name, template_var, context_instance=RequestContext(request))
コード例 #7
0
ファイル: views.py プロジェクト: laonan/dongtingfm
def songs_by_user(request, uid, template_name):
    if long(uid) == request.user.id:
        return my_songs(request, template_name)
    else:
        user_profile = None
        u = None
        template_var = {}
        try:
            u = User.objects.get(id=uid)
            songs = Song.objects.select_related().filter(user=u)
            try:
                user_profile = u.get_profile()
            except UserProfile.DoesNotExist:
                user_profile = UserProfile()
                user_profile.user = u
                user_profile.save()

            if request.user.is_authenticated():
                my_blacklist = BlackList.objects.filter(user=request.user,
                                                        bad_guy=u)
                if my_blacklist:
                    template_var['in_my_blacklist'] = True
        except User.DoesNotExist:
            songs = None

        try:
            if request.user.is_authenticated():
                user_follower = UserFollower.objects.get(user=u,
                                                         follower=request.user)
                template_var['user_follower'] = user_follower
        except UserFollower.DoesNotExist:
            template_var['user_follower'] = None

        paginator = Paginator(songs, 20)
        try:
            page = int(request.GET.get('page', '1'))
        except ValueError:
            page = 1

        try:
            songs = paginator.page(page)
        except (EmptyPage, InvalidPage):
            songs = paginator.page(paginator.num_pages)

        template_var['favorite_action'] = 'add'
        template_var['current_tabnav'] = 'user_songs'
        template_var['user_profile'] = user_profile
        template_var['songs'] = songs

        return render_to_response(template_name,
                                  template_var,
                                  context_instance=RequestContext(request))
コード例 #8
0
ファイル: util.py プロジェクト: charles5991/cyutmit
def createBranchAdmin():
    user = User()
    user.username = '******'
    user.first_name = 'A分部管理員'
    user.set_password('branchA')
    user.email = '*****@*****.**'
    user.save()

    userProfile = UserProfile()
    userProfile.branch = Branch.objects.create(name='分部A', address='分部A', phone='0912345678')
    userProfile.user = user
    userProfile.save()
    return user
コード例 #9
0
def index(request, u_id, page=1):
    """
    查看用户个人资料
    """

    # 初始化
    try:
        u_id = int(u_id)
    except:
        return HttpResponse(u_id)

    # 根据ID得到用户对象
    try:
        user = User.objects.get(id=u_id)
    except User.DoesNotExist:
        raise Http404()

    # 如果是当前用户自己则跳转到个人中心
    if request.user == user:
        return HttpResponseRedirect('/home/')
    elif request.user.is_authenticated():
        visitor, visitor_created = Visitor.objects.get_or_create(
            master=user, visitor=request.user)
        visitor.sub_time = datetime.datetime.now()
        visitor.save()
    # 得到用户档案
    try:
        profile = user.get_profile()
    except UserProfile.DoesNotExist:
        profile = UserProfile()
        profile.user = user
        profile.save()

    # 如果账号以删除
    if profile.deleted == True:
        return render('home_none.html',
                      locals(),
                      context_instance=RequestContext(request))

    develop_all = Develop.objects.filter(user=profile.user)
    paginator = Paginator(develop_all, 15)
    url = 'home/%d' % profile.user.id
    current_page = 'develop'
    try:
        develops = paginator.page(page)
    except (EmptyPage, InvalidPage):
        develops = paginator.page(paginator.num_pages)

    return render('home_index.html',
                  locals(),
                  context_instance=RequestContext(request))
コード例 #10
0
def register(request):
    """
    The main registration handler for the users who visits the platform. When a user registers, it basically automatically login.
    """
    if not request.user.is_authenticated:
        if request.method == 'POST':
            # Getting the data from the front-end
            username = request.POST.get('username')
            password = request.POST.get('password')
            first_name = request.POST.get('first_name')
            last_name = request.POST.get('last_name')
            email = request.POST.get('email')
            phone_number = request.POST.get('phone_number')
            hashed_password = make_password(str(password))

            try:
                user = User.objects.get(username=username)
                messages.warning(
                    request, 'ID Already Exists PID : ' + str(user.username))
                return redirect(register)
            except User.DoesNotExist:
                try:
                    user = User.objects.create(username=username,
                                               email=email,
                                               password=hashed_password,
                                               first_name=first_name,
                                               last_name=last_name)
                    if user.is_active:
                        auth_login(request, user)
                        profile = UserProfile()
                        profile.user = user
                        #if request.FILES['pic']:
                        #   profile.profile_photo=request.FILES['pic']
                        try:
                            profile.phone_number = phone_number
                        except:
                            messages.warning(request, 'Invalid Phone Number')
                        profile.save()
                        request.session['pid'] = profile.id
                        return redirect('home')
                    else:
                        messages.error(request,
                                       'Your account has been suspended')
                        return redirect('login')
                except:
                    messages.error(request, 'Something Unusual Happened')
                    return redirect('home')
        else:
            return render(request, 'register.html')
    else:
        return redirect('home')
コード例 #11
0
ファイル: tests_initial.py プロジェクト: anjos/unidos-website
def create_userprofile(user):
  p = UserProfile()
  p.user = user
  p.birth = datetime.datetime.now()
  p.mobile = '+417X1234567'
  p.private_phone = '+41221234567'
  p.instrument = random.choice([k[0] for k in UserProfile.instrument_choices])
  p.language = random.choice([k[0] for k in settings.LANGUAGES])
  p.im = user.email
  p.im_carrier = random.choice([k[0] for k in UserProfile.im_choices])
  p.website = 'www.example.com'
  p.saying = 'Nothing to say'
  p.address = 'Do not known St, xyz, No Country'
  p.save()
コード例 #12
0
ファイル: profile.py プロジェクト: gnemoug/pythoner.net
def index(request,u_id,page=1):
    """
    查看用户个人资料
    """

    # 初始化
    try:
        u_id = int(u_id)
    except :
        return HttpResponse(u_id)

    # 根据ID得到用户对象
    try:
        user = User.objects.get(id=u_id)
    except User.DoesNotExist:
        raise Http404()

    # 如果是当前用户自己则跳转到个人中心
    if request.user == user:
        return HttpResponseRedirect('/home/')
    elif request.user.is_authenticated():
        visitor,visitor_created= Visitor.objects.get_or_create(master=user,visitor=request.user)
        visitor.sub_time = datetime.datetime.now()
        visitor.save()
    # 得到用户档案
    try:
        profile = user.get_profile()
    except UserProfile.DoesNotExist:
        profile = UserProfile()
        profile.user = user
        profile.save()

    # 如果账号以删除
    if profile.deleted == True:
        return render('home_none.html',locals(),context_instance=RequestContext(request))
    
    # 对未登录的用户只显示前15条动态
    if not request.user.is_authenticated():
        develop_all = Develop.objects.filter(user=profile.user)[:5]
    else:
        develop_all = Develop.objects.filter(user=profile.user)

    paginator = Paginator(develop_all,15)
    pre_url = 'home/%d' %profile.user.id
    current_page = 'develop'
    try:
        develops = paginator.page(page)
    except (EmptyPage,InvalidPage):
        develops = paginator.page(paginator.num_pages)
    return render('home_index.html',locals(),context_instance=RequestContext(request))
コード例 #13
0
ファイル: util.py プロジェクト: charles5991/cyutmit
def createSuperuser():
    admin = User()
    admin.username = '******'
    admin.first_name = '管理員'
    admin.set_password('admin')
    admin.email = '*****@*****.**'
    admin.is_staff = True
    admin.is_superuser = True
    admin.save()
    
    userProfile = UserProfile()
    userProfile.branch = Branch.objects.create(name='總部', address='XX', phone='0912345678')
    userProfile.user = admin
    userProfile.save()
    return admin
コード例 #14
0
ファイル: views.py プロジェクト: laonan/dongtingfm
def songs_by_user(request, uid, template_name):
    if long(uid) == request.user.id:
        return my_songs(request, template_name)
    else:
        user_profile = None
        u = None
        template_var = {}
        try:
            u = User.objects.get(id=uid)
            songs = Song.objects.select_related().filter(user=u)
            try:
                user_profile = u.get_profile()
            except UserProfile.DoesNotExist:
                user_profile = UserProfile()
                user_profile.user = u
                user_profile.save()

            if request.user.is_authenticated():
                my_blacklist = BlackList.objects.filter(user=request.user, bad_guy=u)
                if my_blacklist:
                    template_var["in_my_blacklist"] = True
        except User.DoesNotExist:
            songs = None

        try:
            if request.user.is_authenticated():
                user_follower = UserFollower.objects.get(user=u, follower=request.user)
                template_var["user_follower"] = user_follower
        except UserFollower.DoesNotExist:
            template_var["user_follower"] = None

        paginator = Paginator(songs, 20)
        try:
            page = int(request.GET.get("page", "1"))
        except ValueError:
            page = 1

        try:
            songs = paginator.page(page)
        except (EmptyPage, InvalidPage):
            songs = paginator.page(paginator.num_pages)

        template_var["favorite_action"] = "add"
        template_var["current_tabnav"] = "user_songs"
        template_var["user_profile"] = user_profile
        template_var["songs"] = songs

        return render_to_response(template_name, template_var, context_instance=RequestContext(request))
コード例 #15
0
ファイル: views.py プロジェクト: colinmccormick/watttime
def create_new_user(email, name = None):
    ups = UserProfile.objects.filter(email = email)
    if len(ups) > 0:
        print (len(ups))
        print ("User(s) with email {} already exists, aborting user creation!".
                format(email))
        return None

    username = new_user_name()
    user = User.objects.create_user(username, email = None, password = None)
    user.is_active = True
    user.is_staff = False
    user.is_superuser = False
    # The following fields are fields we store in the UserProfile object instead
    #   user.first_name
    #   user.last_name
    #   user.email
    user.save()

    up = UserProfile()
    up.user = user
    up.password_is_set = False
    up.magic_login_code = random.randint(100000000, 999999999)
    # If the user doesn't specify a name, email is used as the default
    if name is None:
        up.name = email
    else:
        up.name = name
    up.email = email
    up.phone = ''
    up.verification_code = new_phone_verification_number()
    up.is_verified = False
    up.state = 'CA'

    up.message_frequency = 3
    up.forecast_email = False
    up.set_equipment([])
    up.beta_test = True

    # In the future, we should separate phone-number, etc., into a separate model

    up.save()

    print ("User {} created.".format(email))
    return user
コード例 #16
0
ファイル: views.py プロジェクト: ikonitas/pleasuresallmine
def add_customer(request):
    form = RegistrationFormAdmin()
    if request.method == "POST":
        form = RegistrationFormAdmin(request.POST)
        if form.is_valid():
            username = generate_username(
                form.cleaned_data['first_name'],
                form.cleaned_data['last_name'],
            )
            random_password = get_pronounceable_password()
            user = User.objects.create_user(username,
                                            form.cleaned_data['email'],
                                            random_password)
            user.first_name = form.cleaned_data['first_name']
            user.last_name = form.cleaned_data['last_name']
            user.is_active = True
            user.save()

            userprofile = UserProfile()
            userprofile.title = form.cleaned_data['title']
            userprofile.date_of_birth = form.cleaned_data['date_of_birth']
            userprofile.phone = form.cleaned_data['phone']
            userprofile.terms = form.cleaned_data['terms']
            userprofile.user = user
            userprofile.save()

            address = Address()
            address.line_1 = form.cleaned_data['line_1']
            address.line_2 = form.cleaned_data['line_2']
            address.city = form.cleaned_data['city']
            address.county = form.cleaned_data['county']
            address.postcode = form.cleaned_data['postcode']
            address.user = user
            address.save()

            send_admin_welcome_email(user, random_password)
            return HttpResponseRedirect('/admin/accounts/userprofile/')

        else:
            form = RegistrationFormAdmin(request.POST)

    return render_to_response('admin/accounts/add_customer.html',
                              {'form': form},
                              context_instance=RequestContext(request))
コード例 #17
0
ファイル: views.py プロジェクト: zatan/pleasuresallmine
def add_customer(request):
    form = RegistrationFormAdmin()
    if request.method == "POST":
        form = RegistrationFormAdmin(request.POST)
        if form.is_valid():
            username = generate_username(form.cleaned_data['first_name'],
                                         form.cleaned_data['last_name'],
            )
            random_password = get_pronounceable_password()
            user = User.objects.create_user(
                    username,
                    form.cleaned_data['email'],
                    random_password
            )
            user.first_name = form.cleaned_data['first_name']
            user.last_name = form.cleaned_data['last_name']
            user.is_active = True
            user.save()

            userprofile = UserProfile()
            userprofile.title = form.cleaned_data['title']
            userprofile.date_of_birth = form.cleaned_data['date_of_birth']
            userprofile.phone = form.cleaned_data['phone']
            userprofile.terms = form.cleaned_data['terms']
            userprofile.user = user
            userprofile.save()

            address = Address()
            address.line_1 = form.cleaned_data['line_1']
            address.line_2 = form.cleaned_data['line_2']
            address.city = form.cleaned_data['city']
            address.county = form.cleaned_data['county']
            address.postcode = form.cleaned_data['postcode']
            address.user = user
            address.save()

            send_admin_welcome_email(user, random_password)
            return HttpResponseRedirect('/admin/accounts/userprofile/')

        else:
            form = RegistrationFormAdmin(request.POST)

    return render_to_response('admin/accounts/add_customer.html',
            {'form': form}, context_instance=RequestContext(request))
コード例 #18
0
ファイル: views.py プロジェクト: kexin9752/Django_Blog
def user_center_avatar(request):
    user = request.user
    user_profile = UserProfile.objects.filter(user=user).first()
    if request.method == 'POST':
        img = request.FILES.get('avatar', None)
        #可以在这里删除名字有覆盖的头像,但是有个问题,不同用户上传同名不同图片的头像就歇逼了
        #看看可不可以在储存头像的时候对头像名称进行处理,加上用户的id
        #可以是可以,用f.open存储头像自定义图片名字,然后向avatar中存入f
        #不过貌似比较麻烦,以后有需要再说吧
        if user_profile:
            user_profile.avatar = img
            user_profile.save()
        else:
            user_profile = UserProfile()
            user_profile.user = user
            user_profile.avatar = img
            user_profile.save()
    return render(request, 'user_manage/user_center_avatar.html',
                  {'user_profile': user_profile})
コード例 #19
0
    def signup(self, request, user):
        user.first_name = self.cleaned_data['first_name']
        user.last_name = self.cleaned_data['last_name']
        profile = UserProfile()
        profile.address = self.cleaned_data['address']
        profile.address_2 = self.cleaned_data['address_2']
        profile.contact = self.cleaned_data['contact']
        profile.zipcode = self.cleaned_data['zipcode']
        profile.city = self.cleaned_data['city']
        profile.country = self.cleaned_data['country']
        user.save()

        profile.user = user
        profile.save()
        
        group_customer = Group.objects.get(name='customer')
        group_customer.user_set.add(user)

        
コード例 #20
0
    def test_creating_a_new_user_and_saving_it_to_the_database(self):
        user = User()
        user.username = "******"
        user.password = "******"
        user.email = "*****@*****.**"
        user.is_active = False
        user.save()

        user_profile = UserProfile()

        user_profile.user = user

        # check we can save it to the databaseg

        user_profile.save()

        # now check we can find it in the database again
        user = User.objects.get(username__contains="sajad")
        self.assertEqual(user.email, "*****@*****.**")
        self.assertEqual(user.is_active, False)
コード例 #21
0
ファイル: views.py プロジェクト: sigurdga/nidarholm
def new_profile(request):

    if not request.user.is_superuser:
        return HttpResponseRedirect(reverse("member-list"))

    profile = UserProfile()
    profile.user = User()
    form_class = ProfileForm

    if request.method == "POST":
        form = form_class(data=request.POST, files=request.FILES, instance=profile)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(profile.user.get_absolute_url())
    else:
        form = form_class(instance=profile)

    return render_to_response(
        "profiles/edit_profile.html", {"form": form, "profile": profile}, context_instance=RequestContext(request)
    )
コード例 #22
0
ファイル: middleware.py プロジェクト: JonnyFunFun/pyParty
 def process_request(self, request):
     if request.user.is_authenticated():
         return
     PartyHooks.execute_hook('user.prelogin', request=request)
     hostname = request.META['REMOTE_HOST'] or request.META['REMOTE_ADDR']
     try:
         # reverse the profile back to user based on hostname
         up = UserProfile.objects.get(hostname=hostname)
         user = up.user
         user.backend = 'django.contrib.auth.backends.ModelBackend'
         request.user = user
         auth.login(request, up.user)
         if request.path not in ['/favicon.ico'] and not settings.STATIC_URL in request.path:
             if up.departed:
                 up.departed = False
                 up.save()
                 PartyHooks.execute_hook('user.returns')
                 messages.success(request, "Welcome back to the LAN!")
     except UserProfile.DoesNotExist:
         # if we're the first user, we're always an admin
         first_admin = (User.objects.count() == 0)
         # add a new user
         random_password = ''.join(random.choice(string.ascii_lowercase + string.digits) for x in range(12))
         username = request.META['REMOTE_HOST'] or 'User-'+''.join(random.choice(string.ascii_lowercase + string.digits) for x in range(6))
         user = User.objects.create_user(username, None, random_password)
         user.save()
         profile = UserProfile()
         profile.user = user
         profile.hostname = hostname
         if first_admin:
             profile.set_flag(FLAG_ADMIN)
         profile.save()
         request.user = user
         user = auth.authenticate(username=username, password=random_password)
         auth.login(request, user)
         if first_admin:
             # redirect to admin panel for setup
             messages.success(request, "Welcome to pyParty!  As the first user, you're automatically an admin.  Please continue setting up pyParty as you normally would!")
             return HttpResponseRedirect('/admin/')
         else:
             messages.success(request, "Welcome to %s!  We set up an account for you.  There's no need for a password, you will be recognized by your computer.  Feel free to <a href='/accounts/profile/'>continue setting up your profile</a>." % get_setting('lan_name'))
コード例 #23
0
ファイル: views.py プロジェクト: UrangUrang/Guide
def signup(request):
    if request.method == "POST":
        form = UserEmailCreationForm(request.POST)
        try:
            User.objects.get(email=request.POST['email'])
            return render(request, 'registration/signup.html', {
                'form': form,
                'error': "Already Exist Email address!"
            })
        except ObjectDoesNotExist:
            if form.is_valid():
                user = form.save()
                user_profile = UserProfile()
                user_profile.user = user
                user_profile.gender = request.POST['gender']
                user_profile.save()
                return redirect('login')
    else:
        form = UserEmailCreationForm()

    return render(request, 'registration/signup.html', {'form': form})
コード例 #24
0
ファイル: view.py プロジェクト: blx666/MyBlog
def register(request):
    if request.method == 'POST':
        username = request.POST.get('username', '')
        password = request.POST.get('password', '')
        accepted_eula = request.POST.get('accepted_eula', '')
        favorite_animal = request.POST.get('favorite_animal', '')

        is_exit_user = User.objects.filter(username=username).exists()
        if is_exit_user:
            return HttpResponse('user already exists!')
        ##用户自动登陆如果登陆成功说明已经注册,如果不能成功,在注册

        registerform = RegistrationForm({
            'username': username,
            'password': password
        })
        userProfileform = UserProfileForm({
            'accepted_eula': True,
            'favorite_animal': favorite_animal
        })  ##'agency_email': agency_email, 'agency_address': agency_address
        if not registerform.is_valid():
            return HttpResponse(registerform.errors.values())
        if not userProfileform.is_valid():
            return HttpResponse(userProfileform.errors.values())
        user = User.objects.create_user(username=username, password=password)

        profile = UserProfile()
        profile.user = user
        profile.accepted_eula = accepted_eula
        profile.favorite_animal = favorite_animal
        profile.save()
        response = {
            'status': 0,
            'message': 'ok',
            'result': {
                'user_id': user.id
            }
        }
        return HttpResponse(response)
コード例 #25
0
ファイル: forms.py プロジェクト: laonan/dongtingfm
    def save(self, request):
        if self.cleaned_data['city'] or self.cleaned_data[
                'website'] or self.cleaned_data['intro'] or self.cleaned_data[
                    'qq'] or self.cleaned_data['msn'] or self.cleaned_data[
                        'avatar']:

            current_user = request.user

            try:
                profile = current_user.get_profile()
            except UserProfile.DoesNotExist:
                profile = None

            if not profile:
                profile = UserProfile()
                profile.user = current_user
                profile.song_ord_filed = 'post_datetime'

            profile.city = self.cleaned_data['city']
            profile.website = self.cleaned_data['website']
            profile.intro = self.cleaned_data['intro']
            profile.qq = self.cleaned_data['qq']
            profile.msn = self.cleaned_data['msn']
            if 'avatar' in request.FILES:

                #删除掉原头像
                import os
                if profile and profile.avatar and os.path.exists(
                        profile.avatar.path):
                    os.remove(profile.avatar.path)

                profile.avatar = self.cleaned_data[
                    'avatar']  #request.FILES["avatar"]
            profile.save()

            if self.cleaned_data['username'] != current_user.username:
                current_user.username = self.cleaned_data['username']
                current_user.save()
コード例 #26
0
ファイル: views.py プロジェクト: sigurdga/nidarholm
def new_profile(request):

    if not request.user.is_superuser:
        return HttpResponseRedirect(reverse('member-list'))

    profile = UserProfile()
    profile.user = User()
    form_class = ProfileForm

    if request.method == 'POST':
        form = form_class(data=request.POST, files=request.FILES, instance=profile)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(profile.user.get_absolute_url())
    else:
        form = form_class(instance=profile)

    return render_to_response('profiles/edit_profile.html',
            {
                'form': form,
                'profile': profile,
                },
            context_instance=RequestContext(request))
コード例 #27
0
    def create(self, validated_data):
        datas = {}
        datas['username'] = validated_data['username']
        datas['email'] = validated_data['email']
        datas['password'] = validated_data['password']
        datas['first_name'] = validated_data['first_name']
        datas['last_name'] = validated_data['last_name']
        datas['password'] = validated_data['password']

        data = utils.generate_activation_key(datas['username'])     # user defined utility function.
        datas['activation_key'] = data
        datas['file_path'] = "accounts/activate/"
        datas['email_path'] = "/ActivationEmail.txt"
        datas['email_subject'] = "Activate Your domainname account."

        new_user = User.objects.create_user(
                username=datas['username'],
                email=datas['email'],
                password=datas['password'],
                first_name=datas['first_name'],
                last_name=datas['last_name'],
        )
        new_user.is_active = True
        new_user.save()
        user_profile = UserProfile()
        user_profile.user = new_user
        user_profile.activation_key = datas['activation_key']
        user_profile.is_active = False  # Will be true if email is verified.
        user_profile.save()
        utils.send_email(datas)
        # message = '''
        #             A Verification email has been sent to your email address.
        #             Please click the link in the email to verify your email address.
        #             '''
        # utils.display_html_message(message, 'success', request)
        return validated_data
コード例 #28
0
ファイル: views.py プロジェクト: laonan/dongtingfm
def song_details(request, song_id, template_name):
    template_var = {}

    s_list = Song.objects.select_related().filter(id=song_id)[:1]
    if s_list:
        song_detail = s_list[0]

        comments = SongComment.objects.select_related().extra(
            select={"comment_user_avatar": "accounts_userprofile.avatar"},
            tables=["accounts_userprofile"],
            where=["songs_songcomment.user_id=accounts_userprofile.user_id AND songs_songcomment.song_id=%s" % song_id],
        )

        if request.user.is_authenticated() and request.user == song_detail.user:
            SongComment.objects.filter(song__id=song_id).update(read_by_owner=True)

        page = 1

        if request.is_ajax():
            query = request.GET.get("page")
            if query:
                page = query
        else:
            try:
                user_profile = song_detail.user.get_profile()
                template_var["user_profile"] = user_profile
            except UserProfile.DoesNotExist:
                user_profile = UserProfile()
                user_profile.user = song_detail.user
                template_var["user_profile"] = user_profile

            if request.user.is_authenticated():
                user_followers = UserFollower.objects.select_related().filter(
                    user=song_detail.user, follower=request.user
                )
                if user_followers:
                    template_var["user_follower"] = user_followers[0]

                my_blacklist = BlackList.objects.select_related().filter(user=request.user, bad_guy=song_detail.user)
                if my_blacklist:
                    template_var["in_my_blacklist"] = True

        paginator = Paginator(comments, 15)
        try:
            comments = paginator.page(page)
        except (EmptyPage, InvalidPage):
            comments = paginator.page(paginator.num_pages)

        digs = (
            Dig.objects.select_related()
            .extra(
                select={"dig_user_avatar": "accounts_userprofile.avatar", "dig_user_name": "auth_user.username"},
                tables=["songs_song", "songs_dig", "auth_user", "accounts_userprofile"],
                where=[
                    "songs_song.id=songs_dig.song_id AND songs_dig.user_id=accounts_userprofile.user_id AND accounts_userprofile.user_id=auth_user.id AND songs_dig.song_id=%s"
                    % song_id
                ],
            )
            .order_by("?")[:12]
            .values("id", "user_id", "dig_user_avatar", "dig_user_name")
        )

        if "HTTP_USER_AGENT" in request.META:
            ipad = (lambda x: "iPad" in x or False)(request.META["HTTP_USER_AGENT"])
            template_var["ipad"] = ipad

        # 检测是不是新浪微博主
        access_token = request.session.get("oauth_access_token", None)
        if access_token is not None:
            template_var["weibo_user_ret"] = True

        template_var["favorite_action"] = "add"
        template_var["song"] = song_detail
        template_var["comments"] = comments
        template_var["digs"] = digs
        template_var["all_show_media"] = settings.ALL_SHOW_MEDIA

    else:
        template_var["song"] = None

    return render_to_response(template_name, template_var, context_instance=RequestContext(request))
コード例 #29
0
ファイル: views.py プロジェクト: zatan/pleasuresallmine
def login_register(request, *args):
    next_url = '/'
    message = None
    if request.GET.has_key('next'):
        next_url = request.GET.get('next')
    if request.method == 'POST':
        if "register" in request.POST:
            registration_form = RegistrationForm(request.POST)
            if registration_form.is_valid():
                username = generate_username(
                        registration_form.cleaned_data['first_name'],
                        registration_form.cleaned_data['last_name']
                )
                user = User.objects.create_user(
                        username,
                        registration_form.cleaned_data['email'],
                        registration_form.cleaned_data['password'],
                )
                user.first_name = registration_form.cleaned_data['first_name']
                user.last_name = registration_form.cleaned_data['last_name']
                user.is_active = True
                user.save()

                user_profile = UserProfile()
                user_profile.title = registration_form.cleaned_data['title']
                user_profile.date_of_birth = registration_form.cleaned_data['date_of_birth']
                user_profile.phone = registration_form.cleaned_data['phone']
                user_profile.user = user
                user_profile.terms = registration_form.cleaned_data['terms']

                user_profile.save()
                # Billing address
                address = Address()
                address.line_1 = registration_form.cleaned_data['line_1']
                address.line_2 = registration_form.cleaned_data['line_2']
                address.city = registration_form.cleaned_data['city']
                address.county = registration_form.cleaned_data['county']
                address.postcode = registration_form.cleaned_data['postcode']
                address.user = user
                address.save()

                messages.info(request, "Congratulations, you have successfully registered with Pleasures All Mine.")
                send_welcome_email(user_profile.user)
                user = authenticate(
                    username=registration_form.cleaned_data['email'],
                    password=registration_form.cleaned_data['password']
                )
                login_after_registration(request, user)
                return HttpResponseRedirect(next_url)
            else:
                registration_form = RegistrationForm(data=request.POST)
                messages.warning(request, "Sorry, but you missed something, please fill all required fields.")

        if 'login' in request.POST:
            login_form = LoginForm(data=request.POST)
            if login_form.is_valid():
                user = authenticate(username=login_form.cleaned_data['username'],
                        password=login_form.cleaned_data['password'])
                if user is not None:
                    if not request.POST.get('remember_me', None):
                        request.session.set_expiry(0)
                    messages.success(request, "Welcome to Pleasures All Mine, you have successfully logged in.")
                    return login(request, authentication_form=LoginForm,)
                else:
                    login_form = LoginForm()
                    registration_form = RegistrationForm()
                    messages.warning(request, "Sorry, but you missed something, please fill all required fields.")
            else:
                messages.warning(request, "Sorry, but the username or password you have entered is incorrect, please try again.")
                login_form = LoginForm()
                registration_form = RegistrationForm()
        else:
            login_form = LoginForm()
    else:
        registration_form = RegistrationForm()
        login_form = LoginForm()
    return render_to_response(
            'accounts/login_register.html',
            {
                'registration_form': registration_form,
                'login_form': login_form,
                'message': message,
                'next_url': next_url,
                }, RequestContext(request) )
コード例 #30
0
ファイル: views.py プロジェクト: laonan/dongtingfm
def song_details(request, song_id, template_name):
    template_var = {}

    s_list = Song.objects.select_related().filter(id=song_id)[:1]
    if s_list:
        song_detail = s_list[0]

        comments = SongComment.objects.select_related().extra(
            select={'comment_user_avatar': 'accounts_userprofile.avatar'},
            tables=['accounts_userprofile'],
            where=[
                'songs_songcomment.user_id=accounts_userprofile.user_id AND songs_songcomment.song_id=%s'
                % song_id
            ])

        if request.user.is_authenticated(
        ) and request.user == song_detail.user:
            SongComment.objects.filter(song__id=song_id).update(
                read_by_owner=True)

        page = 1

        if request.is_ajax():
            query = request.GET.get('page')
            if query:
                page = query
        else:
            try:
                user_profile = song_detail.user.get_profile()
                template_var['user_profile'] = user_profile
            except UserProfile.DoesNotExist:
                user_profile = UserProfile()
                user_profile.user = song_detail.user
                template_var['user_profile'] = user_profile

            if request.user.is_authenticated():
                user_followers = UserFollower.objects.select_related().filter(
                    user=song_detail.user, follower=request.user)
                if user_followers:
                    template_var['user_follower'] = user_followers[0]

                my_blacklist = BlackList.objects.select_related().filter(
                    user=request.user, bad_guy=song_detail.user)
                if my_blacklist:
                    template_var['in_my_blacklist'] = True

        paginator = Paginator(comments, 15)
        try:
            comments = paginator.page(page)
        except (EmptyPage, InvalidPage):
            comments = paginator.page(paginator.num_pages)

        digs = Dig.objects.select_related().extra(
            select={
                'dig_user_avatar': 'accounts_userprofile.avatar',
                'dig_user_name': 'auth_user.username'
            },
            tables=[
                'songs_song', 'songs_dig', 'auth_user', 'accounts_userprofile'
            ],
            where=[
                'songs_song.id=songs_dig.song_id AND songs_dig.user_id=accounts_userprofile.user_id AND accounts_userprofile.user_id=auth_user.id AND songs_dig.song_id=%s'
                % song_id
            ]).order_by('?')[:12].values('id', 'user_id', 'dig_user_avatar',
                                         'dig_user_name')

        if 'HTTP_USER_AGENT' in request.META:
            ipad = (lambda x: 'iPad' in x or False)(
                request.META['HTTP_USER_AGENT'])
            template_var['ipad'] = ipad

        #检测是不是新浪微博主
        access_token = request.session.get('oauth_access_token', None)
        if access_token is not None:
            template_var['weibo_user_ret'] = True

        template_var['favorite_action'] = 'add'
        template_var['song'] = song_detail
        template_var['comments'] = comments
        template_var['digs'] = digs
        template_var['all_show_media'] = settings.ALL_SHOW_MEDIA

    else:
        template_var['song'] = None

    return render_to_response(template_name,
                              template_var,
                              context_instance=RequestContext(request))
コード例 #31
0
ファイル: views.py プロジェクト: KapilM26/cretronix-2019
def register(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        email_1 = request.POST['email_1']
        email_2 = request.POST['email_2']
        email_3 = request.POST['email_3']
        name_1 = request.POST['name_1']
        name_2 = request.POST['name_2']
        name_3 = request.POST['name_3']
        number_1 = request.POST['number_1']
        number_2 = request.POST['number_2']
        number_3 = request.POST['number_3']

        # for validation of the user

        def validate():
            if username and password and email_1 and name_1 and number_1:
                pass
            else:
                return 1

            if User.objects.filter(username=username).exists():
                return 2

        if validate() == 1:
            return render_to_response('Login.html', {"error": "Some fields are empty !!!"})
        try:
            user = User.objects.create(username=username, password=password)
            user.set_password(password)
            user.save()
        except IntegrityError as e:
            return render(request, 'Login.html', {'error': 'Username already exists!'})
        prof = UserProfile()
        prof.user = user
        prof.name_1 = name_1
        prof.name_2 = name_2
        prof.name_3 = name_3
        prof.email_1 = email_1
        prof.email_2 = email_2
        prof.email_3 = email_3
        prof.number_1 = number_1
        prof.number_2 = number_2
        prof.number_3 = number_3
        try:
            prof.save()
        except IntegrityError as e:
            return render(request, 'Login.html', {'error': 'Username already exists'})
        user = authenticate(username=username, password=password)
        print(user)
        if user is not None:
            login(request, user)
            u = request.user
            data = UserProfile.objects.get(user=u)
            time = datetime.datetime.now() + datetime.timedelta(seconds=1800)
            time_sec = (time.hour*60*60) + \
                (time.minute*60)+(time.second)
            data.timer = time_sec
            ls = range(1, 101)
            sel_q = random.sample(ls, 30)
            sel_q_str = ','.join([str(a) for a in sel_q])
            print(sel_q_str)
            data.sel_ques = sel_q_str
            data.save()
        return display(request)
    else:
        return render(request, 'Login.html')
コード例 #32
0
ファイル: views.py プロジェクト: ikonitas/pleasuresallmine
def login_register(request, *args):
    next_url = '/'
    message = None
    if request.GET.has_key('next'):
        next_url = request.GET.get('next')
    if request.method == 'POST':
        if "register" in request.POST:
            registration_form = RegistrationForm(request.POST)
            if registration_form.is_valid():
                username = generate_username(
                    registration_form.cleaned_data['first_name'],
                    registration_form.cleaned_data['last_name'])
                user = User.objects.create_user(
                    username,
                    registration_form.cleaned_data['email'],
                    registration_form.cleaned_data['password'],
                )
                user.first_name = registration_form.cleaned_data['first_name']
                user.last_name = registration_form.cleaned_data['last_name']
                user.is_active = True
                user.save()

                user_profile = UserProfile()
                user_profile.title = registration_form.cleaned_data['title']
                user_profile.date_of_birth = registration_form.cleaned_data[
                    'date_of_birth']
                user_profile.phone = registration_form.cleaned_data['phone']
                user_profile.user = user
                user_profile.terms = registration_form.cleaned_data['terms']

                user_profile.save()
                # Billing address
                address = Address()
                address.line_1 = registration_form.cleaned_data['line_1']
                address.line_2 = registration_form.cleaned_data['line_2']
                address.city = registration_form.cleaned_data['city']
                address.county = registration_form.cleaned_data['county']
                address.postcode = registration_form.cleaned_data['postcode']
                address.user = user
                address.save()

                messages.info(
                    request,
                    "Congratulations, you have successfully registered with Pleasures All Mine."
                )
                send_welcome_email(user_profile.user)
                user = authenticate(
                    username=registration_form.cleaned_data['email'],
                    password=registration_form.cleaned_data['password'])
                login_after_registration(request, user)
                return HttpResponseRedirect(next_url)
            else:
                registration_form = RegistrationForm(data=request.POST)
                messages.warning(
                    request,
                    "Sorry, but you missed something, please fill all required fields."
                )

        if 'login' in request.POST:
            login_form = LoginForm(data=request.POST)
            if login_form.is_valid():
                user = authenticate(
                    username=login_form.cleaned_data['username'],
                    password=login_form.cleaned_data['password'])
                if user is not None:
                    if not request.POST.get('remember_me', None):
                        request.session.set_expiry(0)
                    messages.success(
                        request,
                        "Welcome to Pleasures All Mine, you have successfully logged in."
                    )
                    return login(
                        request,
                        authentication_form=LoginForm,
                    )
                else:
                    login_form = LoginForm()
                    registration_form = RegistrationForm()
                    messages.warning(
                        request,
                        "Sorry, but you missed something, please fill all required fields."
                    )
            else:
                messages.warning(
                    request,
                    "Sorry, but the username or password you have entered is incorrect, please try again."
                )
                login_form = LoginForm()
                registration_form = RegistrationForm()
        else:
            login_form = LoginForm()
    else:
        registration_form = RegistrationForm()
        login_form = LoginForm()
    return render_to_response(
        'accounts/login_register.html', {
            'registration_form': registration_form,
            'login_form': login_form,
            'message': message,
            'next_url': next_url,
        }, RequestContext(request))
コード例 #33
0
ファイル: views.py プロジェクト: rkandi1/unijive
def userCreate(request):
    if request.method == 'POST':
        fName = str(request.POST.get('fName', ''))
        lName = str(request.POST.get('lName', ''))
        university = str(request.POST.get('university', ''))
        email = str(request.POST.get('email', ''))
        username = str(request.POST.get('username', ''))
        password = str(request.POST.get('password', ''))
        confirmPassword = str(request.POST.get('confirmPassword', ''))
        '''
        print(fName)
        print(lName)
        print(email)
        print(username)
        '''
        # now for some form validation
        #first check database for existing userid and email since these need to be unique to each user

        if isEmailPresent(email):
            messages.error(
                request,
                "This email is already registered to an existing user!")

        if isUsernamePresent(username):
            messages.error(
                request, "This username already belongs to an existing user!")

        if not isEmailPresent(email) and not isUsernamePresent(username):
            # this is checking to make sure first name and last name only include letters
            isFNameValid = fName.isalpha()
            isLNameValid = lName.isalpha()
            isUserNameValid = True if username.isalnum() and len(
                username) in range(5, 12) else False
            isNyuEmail = True if "@nyu.edu" in email else False  #Currently only serves NYU
            passwordsMatch = True if password == confirmPassword else False

            if not isFNameValid:
                messages.error(request, "The First Name Entered is not Valid!")

            if not isLNameValid:
                messages.error(request, "The Last Name Entered is not Valid!")

            if not isUserNameValid:
                messages.error(
                    request,
                    "Username should only include letters and numbers and be between 5 and 12 characters long!"
                )

            if not isNyuEmail:
                messages.error(
                    request,
                    "Please use the email associated with your university!")

            if not passwordsMatch:
                messages.error(request,
                               "Please make sure that the passwords match!")

            elif passwordsMatch:  #already confirmed that they match, now checking if it's valid
                isValid = isPasswordValid(password)
                if not isValid:
                    messages.error(
                        request,
                        "Passwords should be between 8 and 15 characters!")

            if isFNameValid and isLNameValid and isUserNameValid and isNyuEmail and passwordsMatch and isPasswordValid(
                    password):
                #create instance of user and save to db
                print("here")
                newUser = User(email=email)
                newUser.set_password(password)
                newUser.save()

                newUserProfile = UserProfile()
                newUserProfile.user = newUser
                newUserProfile.firstName = fName
                newUserProfile.lastName = lName
                newUserProfile.username = username
                newUserProfile.university = university
                newUserProfile.save()

                user = authenticate(username=email, password=password)
                login(request, user)
                return HttpResponseRedirect('/search_chats/')