Esempio n. 1
0
def change_phone(request):
    # Deja un profil
    try:
        instance = UserProfile.objects.get(user=request.user)
    # Creation profil
    except UserProfile.DoesNotExist:
        instance = UserProfile(user=request.user)

    form = PhoneForm(request.POST or None,
                     instance=instance,
                     initial={'phone': instance.phone})

    if request.method == 'POST':
        if form.is_valid():
            form.save()
            messages.success(request, 'Your phone number has been changed.')
            return HttpResponseRedirect('')
        else:
            messages.error(request, 'An error happened.')

    context = {
        'form': form,
    }

    return render(request, 'user_profile/change_phone.html', context)
Esempio n. 2
0
    def post(request):
        """
        Create user
        """

        serializer = UserSerializerCreate(data=request.data,
                                          context={'request': request})
        if serializer.is_valid():
            user = serializer.save()
            user.set_password(serializer.validated_data['password'])
            user.is_active = False
            user.save()
            user = get_object_or_404(User, email=request.data.get('email'))
            code_object = UserActivationCode.objects.create(user=user)
            code = code_object.code
            current_site = get_current_site(request)
            mail_subject = 'Welcome To ProHealth.'
            message = render_to_string('user_activation.html', {
                'user': user.email,
                'domain': current_site.domain,
                'code': code,
            })
            to_email = user.email
            email = EmailMessage(mail_subject, message, to=[to_email])
            email.send()
            UserProfile(user=user).save()
            DoctorProfile(user=user).save()
            return Response(UserSerializer(user).data,
                            status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Esempio n. 3
0
    def setUp(self):
        self.user = User.objects.get(username='******')

        self.user_profile = UserProfile(
            user=self.user,
        )
        self.user_profile.save()
    def post(self, request, *args, **kwargs):
        pk = kwargs.get('pk')
        self.get_object()

        form = self.get_form()
        if form.is_valid():
            user_role_id = int(self.request.POST[u'role'])
            unit_id = int(self.request.POST[u'organizationalunit'])

            user = form.save()
            user_role = UserRole.objects.get(pk=user_role_id)
            unit = OrganizationalUnit.objects.get(pk=unit_id)

            cd = form.cleaned_data
            add_info = cd['additional_information']

            # Create
            if not pk:
                user_profile = UserProfile(
                    user=user,
                    user_role=user_role,
                    organizationalunit=unit,
                    additional_information=add_info,
                )
            else:
                # Update
                user_profile = user.userprofile
                user_profile.user = user
                user_profile.user_role = user_role
                user_profile.organizationalunit = unit
                cd = form.cleaned_data
                user_profile.additional_information = add_info

            user_profile.save()

            # Send email to newly created users
            if not pk:
                try:
                    KUEmailMessage.send_email(
                        EmailTemplateType.system__user_created,
                        {
                            'user': user,
                            'password': form.cleaned_data['password1'],
                        },
                        [user],
                        user
                    )
                except Exception as e:
                    print("Error sending mail to user: %s" % e)

            messages.add_message(
                request,
                messages.INFO,
                _(u'Brugeren %s blev gemt' % user.username)
            )

            return super(CreateUserView, self).form_valid(form)
        else:
            return self.form_invalid(form)
Esempio n. 5
0
    def setUp(self):
        self.user = User.objects.get(username='******')
        self.dialersetting = DialerSetting.objects.get(pk=1)

        self.user_profile = UserProfile(
            user=self.user,
            dialersetting=self.dialersetting
        )
        self.user_profile.save()
Esempio n. 6
0
def start(update, context):

    telegram_id = update.message.from_user.id
    now = datetime.datetime.now(TZ_MOSCOW)
    time_now = now.strftime("%H %M")

    try:
        profile = UserProfile.objects.get(telegram_id=telegram_id)
        if not profile.uuid:
            profile.uuid = uuid.uuid4().hex
            profile.save()
    except Exception as e:
        profile = None

    if profile:
        context.user_data["profile"] = profile
    else:
        profile = UserProfile()

        try:
            new_user = User.objects.create_user(
                username=telegram_id,
                email=f"{telegram_id}@workhours.ru",
                password=f"{uuid.uuid4()}")
            new_user.is_active = True
            new_user.save()
        except Exception as e:
            new_user = User.objects.get(email=f"{telegram_id}@workhours.ru")

        profile = UserProfile()
        profile.user = new_user
        profile.telegram_id = telegram_id
        profile.uuid = uuid.uuid4().hex
        profile.save()
        context.user_data["profile"] = profile

    update.message.reply_text(
        f"""Добро пожаловать http://{INTERFACE_URL}/{profile.uuid}/ 
(ваша личная страница, здесь можно посмотреть календарь сообщений).\n
Время таймера московское (Cейчас у нас {time_now}).\n
Введите сообщение, укажите дату и время отправки и нажмите Отправить""",
        reply_markup=KEYBOARD_MARKUP,
    )
    return CHOOSING
Esempio n. 7
0
def create_user_profile(sender, **kwargs):

    # check if the save is due to creation, then if it is,
    # create the profile.
    if kwargs.get('created', None):
        user = kwargs.get('instance', None)
        if user and user.id:
            print("CREATING user_profile")
            user_profile = UserProfile(user=user)
            user_profile.save()
Esempio n. 8
0
def sign_up(request):
    context = {}
    form = SignUpForm(request.POST or None)
    if request.method == "POST":
        if form.is_valid():
            user = form.save()
            user_profile = UserProfile(user=user)
            user_profile.save()
            login(request, user)
            return redirect('index')
    context['form'] = form
    return render(request, 'registration/sign_up.html', context)
Esempio n. 9
0
def register(request):
    if request.method == 'POST':
        form = RegisterForm(data=request.POST)
        if form.is_valid():
            form.save()
            user_profile = UserProfile()
            user_profile.user = User.objects.get(
                username=form.data['username'])
            user_profile.save()
            return redirect('login')
    else:
        form = RegisterForm
    return render(request, "main/register.html", {'form': form})
Esempio n. 10
0
def signup_view(request):


    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            user = form.save()
            userprofile = UserProfile(user_name=user.username, description='Hello there, this is the description of yours.', user_fk=user)
            userprofile.save()
            return redirect('login')
    else:
        form = UserCreationForm()

    return render(request, 'user_auth/custom_signup.html')
Esempio n. 11
0
def mock_user():
    with open('mock_user.json') as f:
        for mock in json.load(f)[:1]:
            try:
                mock.pop('permissions')
                mock['is_active'] = mock.pop('active')
                data = {
                    'description': mock.pop('description'),
                    'url': mock.pop('url')
                }
                user = User(**mock)
                user.save()
                UserProfile(user=user, **data).save()
            except IntegrityError as err:
                print(err, mock)
Esempio n. 12
0
    def post(self, request):
        #   实例化form,验证表单数据
        register_form = RegisterForm(request.POST)
        #   如果表单数据通过了验证
        if register_form.is_valid():
            user_name = request.POST.get('email', '')
            #   检查用户名是否已存在于数据库
            #   如果用户名已经存在,则返回提示
            if UserProfile.objects.filter(email=user_name):
                return render(request, 'register.html', {
                    'msg': '用户名已存在',
                    'register_form': register_form,
                })

            pass_word = request.POST.get('password', '')

            #   实例化一个UserProfile对象,将表单数据存入数据库
            new_user = UserProfile()
            new_user.username = user_name
            new_user.email = user_name

            #   默认激活状态为False
            new_user.is_active = False

            #   加密password保存
            new_user.password = make_password(pass_word)
            #   保存提交
            new_user.save()

            #   写入欢迎注册信息
            user_message = UserMessage()
            user_message.user = new_user.id
            user_message.message = "欢迎注册rongbaoer慕课小站!!"
            user_message.save()

            #   发送注册激活邮件
            send_register_eamil(user_name, 'register')

            #   跳转到登陆页面
            return render(request, 'register.html', {
                'register_form': register_form,
                'msg': '激活链接已发送,请注意查收'
            })
        #   邮箱注册form失败
        else:
            return render(request, 'register.html', {
                'register_form': register_form,
            })
Esempio n. 13
0
    def perform_create(self, serializer):
        email = self.request.data["email"]
        code = uuid4()

        send_mail(
            'Motion registration code',
            f'Your registration code for the Motion Website is : {code}',
            os.environ.get('DEFAULT_FROM_EMAIL'),
            [email],
            fail_silently=False,
        )
        new_user = User(email=email, username=code)
        new_user.save()
        new_profile = UserProfile(user=new_user)
        new_profile.save()
        serializer.save(code=code, user=new_profile)
Esempio n. 14
0
 def save(self, user):
     """
     Saving a new user and creating the UserProfile
     :param user: Django' user model
     :return:
     """
     # Saving the User model
     user.first_name = self.cleaned_data['first_name']
     user.last_name = self.cleaned_data['last_name']
     # Saving the UserProfile model
     profile = UserProfile(user=user)
     profile.institution = self.cleaned_data['institution']
     profile.phone = self.cleaned_data['phone']
     profile.usage = self.cleaned_data['usage']
     profile.status = UserProfile.WAITING_APPROBATION_STATE
     profile.save()
Esempio n. 15
0
def registerView(request):
    if request.method == 'GET':
        return render(request=request, template_name='register.html')
    elif request.method == 'POST':
        try:
            json_data = json.loads(request.body)  #
            email = json_data['email']
            name = json_data['username']
            password = json_data['password']
        except:
            return HttpResponse(content='Provide values', status=400)
        if UserProfile.objects.filter(username=email).count() > 0:
            return HttpResponse(content='Provide correct values', status=400)
        user = UserProfile(username=email, first_name=name, password=password)
        user.save()
        return HttpResponseRedirect('/login/')
Esempio n. 16
0
 def post(self, request, *args, **kwargs):
     email = request.data.get('email')
     new_user = User(username=email, email=email, is_active=False)
     new_user.save()
     new_user_profile = UserProfile(user=new_user)
     new_user_profile.save()
     registration = Registration(user=new_user_profile)
     registration.save()
     send_mail(
         'Verification code',
         f'Please confirm the verification code {registration.code}',
         '*****@*****.**',
         [email],
         fail_silently=False,
     )
     return Response(status=200)
Esempio n. 17
0
    def register_company(self, request, **kwargs):
        corporate_name = kwargs['corporate_name']
        short_name = kwargs['short_name']
        website = kwargs.get('website', None)
        company_phone = kwargs.get('company_phone', None)
        company_email = kwargs['company_email']
        password = kwargs['password1']

        contact_person = kwargs['contact_person']
        contact_person_phone = kwargs.get('contact_person_phone', None)
        contact_person_email = kwargs['contact_person_email']
        contact_person_position = kwargs.get('contact_person_position', None)

        if Site._meta.installed:
            site = Site.objects.get_current()
        else:
            site = RequestSite(request)

        new_user = RegistrationProfile.objects.create_inactive_user(
            company_email, company_email, password, site, send_email=False)

        new_user.first_name = short_name
        new_user.save()

        new_profile = UserProfile(user=new_user, is_organization=True)

        new_organization = Organization(
            user=new_user,
            corporate_name=corporate_name,
            short_name=short_name,
            website=website,
            company_phone=company_phone,
            company_email=company_email,
            contact_person=contact_person,
            contact_person_phone=contact_person_phone,
            contact_person_email=contact_person_email,
            contact_person_position=contact_person_position,
            approved=False)
        new_organization.save()
        new_profile.organization = new_organization
        new_profile.save()

        signals.user_registered.send(sender=self.__class__,
                                     user=new_user,
                                     request=request)

        return new_user
Esempio n. 18
0
def register_user(request):
    if request.user.is_authenticated():
        return HttpResponse(content="Forbidden", status=403)
    else:
        args = {}
        args.update(csrf(request))
        if request.method == 'POST':
            form = RegistrationForm(request.POST)
            args['form'] = form
            if form.is_valid():
                form.save()  # save user to database if form is valid

                username = form.cleaned_data['username']
                email = form.cleaned_data['email']
                salt = hashlib.sha1(str(random.random())).hexdigest()[:5]
                activation_key = hashlib.sha1(salt + email).hexdigest()
                key_expires = datetime.datetime.today() + datetime.timedelta(2)

                #Get user by username
                user = User.objects.get(username=username)

                # Create and save user profile
                new_profile = UserProfile(user=user,
                                          activation_key=activation_key,
                                          key_expires=key_expires)
                new_profile.save()

                # Send email with activation key
                email_subject = 'User account confirmation'
                email_body = "Hello, %s, thank you for creating your profile! \
                To activate your profile please open this link within next 48h \
                http://127.0.0.1:8000/user-account/submit/%s" % (
                    username, activation_key)

                send_mail(email_subject,
                          email_body,
                          '*****@*****.**', [email],
                          fail_silently=False)

                return HttpResponseRedirect(
                    '/user-account/account-successfully-created')
        else:
            args['form'] = RegistrationForm()

        return render_to_response('user_account/register.html',
                                  args,
                                  context_instance=RequestContext(request))
Esempio n. 19
0
 def create_user(self,
                 username,
                 email,
                 role,
                 first_name=None,
                 last_name=None,
                 unit=None):
     user = User(username=username,
                 first_name=first_name,
                 last_name=last_name,
                 email=email)
     user.save()
     profile = UserProfile(
         user=user,
         user_role=UserRole.objects.filter(role=role).first(),
         organizationalunit=unit)
     profile.save()
     return user
Esempio n. 20
0
def edit_image(request):
    """
        Edit the profile image for a user profile
    """
    username = request.user.username
    user = User.objects.get(username=username)
    fullname = user.get_full_name()
    form = ImageForm(request.POST, request.FILES)

    user_profile = UserProfile.objects.filter(user=user)
    if len(user_profile) != 0:
        current_user_profile = user_profile[0]
    elif form.is_valid():
        current_user_profile = UserProfile(user=user)
        current_user_profile.generate_user_id()
        current_user_profile.save()

    if form.is_valid():
        photo = request.FILES["image"]
        if str(current_user_profile.photo) != "":
            delete_image(MEDIA_ROOT + str(user_profile[0].photo))
        current_user_profile.photo = photo
        current_user_profile.save()
        info = True
        info_message = "Image Succesfully Updated !"
        parameters = {'info': info, 'info_message': info_message}
    else:
        error = True
        error_message = "Please select a valid Image"
        parameters = {'error': error, 'error_message': error_message}

    default_image = "/static/elearning_academy/img/default/user.jpg"
    parameters.update({
        'user_name': fullname,
        'default_image': default_image,
        'profile_exists': True
    })
    user_profile_dictionary = json.loads(current_user_profile.toJson())
    parameters.update(user_profile_dictionary)
    form = get_update_form(user)
    parameters.update(form)
    return render(request, 'user_profile/profile.html', parameters)
Esempio n. 21
0
def edit_user_intro(request):
    """
        Edit the User Intro in User Profile
    """
    user = request.user
    fullname = user.get_full_name()
    form = AboutForm(request.POST)

    user_profile = UserProfile.objects.filter(user=user)
    if len(user_profile) != 0:
        current_user_profile = user_profile[0]
    elif form.is_valid():
        current_user_profile = UserProfile(user=user)
        current_user_profile.generate_user_id()
        current_user_profile.save()

    if form.is_valid():
        user.first_name = form.cleaned_data["first_name"]
        user.last_name = form.cleaned_data["last_name"]
        user.save()
        current_user_profile.about = form.cleaned_data["about"]
        current_user_profile.interests = form.cleaned_data["interests"]
        current_user_profile.save()
        info = True
        info_message = "Introduction Updated !"
        parameters = {'info': info, 'info_message': info_message}
        print "success"
    else:
        error = True
        error_message = "Invalid Form Entry"
        parameters = {'error': error, 'error_message': error_message}
    default_image = "/static/elearning_academy/img/default/user.jpg"
    parameters.update({
        'user_name': fullname,
        'default_image': default_image,
        'profile_exists': True
    })
    user_profile_dictionary = json.loads(current_user_profile.toJson())
    parameters.update(user_profile_dictionary)
    form = get_update_form(user)
    parameters.update(form)
    return render(request, 'user_profile/profile.html', parameters)
Esempio n. 22
0
    def post(self, request, *args, **kwargs):
        form = CreateUserForm(request.POST)
        if form.is_valid():
            user = User(username=form.cleaned_data['username'])
            user.set_password(form.cleaned_data['password'])
            user.is_staff = ( form.cleaned_data['user_role'] == 'dealer' )
            user.is_active = True
            user.save()

            user_profile = UserProfile()
            user_profile.user = user
            user_profile.notes = form.cleaned_data['notes']
            user_profile.comission = form.cleaned_data['comission']
            if not user.is_staff:
                dealer = User.objects.get(pk=form.cleaned_data['select_dealer'])
                user_profile.dealer = dealer
                user_profile.open_password = form.cleaned_data['password']
            user_profile.save()

        return HttpResponseRedirect('/user_list.html')
Esempio n. 23
0
    def register(self, request, **kwargs):
        import hashlib
        from numconv import NumConv

        first_name, last_name = kwargs['first_name'], kwargs['last_name']
        email = kwargs['email']
        password = kwargs['password1']

        if Site._meta.installed:
            site = Site.objects.get_current()
        else:
            site = RequestSite(request)

        # create a hash from email in order to be user as username
        usname = str(hashlib.sha1(email).hexdigest())
        usname = NumConv(16).str2int(usname)
        usname = NumConv(64).int2str(usname)
        # create a new User
        new_user = RegistrationProfile.objects.create_inactive_user(
            usname,
            email,
            password,
            site,
            send_email=not settings.CLOSED_BETA_ACTIVE)

        new_user.first_name = first_name
        new_user.last_name = last_name
        new_user.save()

        if settings.CLOSED_BETA_ACTIVE:
            new_user.is_active = True
            new_user.save()

        new_profile = UserProfile(user=new_user)
        new_profile.save()

        signals.user_registered.send(sender=self.__class__,
                                     user=new_user,
                                     request=request)

        return new_user
Esempio n. 24
0
def signup(request):
    choices=UserProfile.USER_TYPE_CHOICES
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if not form.is_valid():
            return render(request, 'signup.html', {'form': form})

        else: 
            user_type=form.cleaned_data.get('user_type')
            username = form.cleaned_data.get('username')
            email = form.cleaned_data.get('email')
            password = form.cleaned_data.get('password')
            djangouser = User(username=username)
            djangouser.set_password(password)
            djangouser.email = email 
            try:
                djangouser.save()
            except Exception as e:
                form = SignUpForm()
                return render(request,'signup.html',{'form':form})

            new_user=UserProfile()
            new_user.user_type=user_type

            
            user = authenticate(username=username, password=password)
            ## user has been added to the current session
            new_user.user = djangouser
            new_user.save()
                    
            login(request, user)

            if user_type=="team_leader":
                return render_to_response('profile/team_leader_profile2.html',{}, context_instance = RequestContext(request))
            if user_type=='recruiter':
                return render_to_response('recruiter/dashboard.html',{}, context_instance = RequestContext(request))


            ##return redirect('/')
    else:
        return render(request, 'signup.html', {'form': SignUpForm(),'choices':choices})
Esempio n. 25
0
def edit_user_personal_info(request):
    """
        Edit the User Personal Info in User Profile
    """
    user = request.user
    fullname = user.get_full_name()
    form = PersonalInfoForm(request.POST)

    user_profile = UserProfile.objects.filter(user=user)
    if len(user_profile) != 0:
        current_user_profile = user_profile[0]
    elif form.is_valid():
        current_user_profile = UserProfile(user=user)
        current_user_profile.generate_user_id()
        current_user_profile.save()

    if form.is_valid():
        current_user_profile.gender = form.cleaned_data["gender"]
        current_user_profile.dob = form.cleaned_data["dob"]
        current_user_profile.place_city = form.cleaned_data["city"]
        current_user_profile.place_state = form.cleaned_data["state"]
        current_user_profile.place_country = form.cleaned_data["country"]
        current_user_profile.save()
        info = True
        info_message = "Personal Information Updated !"
        parameters = {'info': info, 'info_message': info_message}
    else:
        error = True
        error_message = "Invalid Personal-Info Form Details"
        parameters = {'error': error, 'error_message': error_message}
    default_image = "/static/elearning_academy/img/default/user.jpg"
    parameters.update({
        'user_name': fullname,
        'default_image': default_image,
        'profile_exists': True
    })
    user_profile_dictionary = json.loads(current_user_profile.toJson())
    parameters.update(user_profile_dictionary)
    form = get_update_form(user)
    parameters.update(form)
    return render(request, 'user_profile/profile.html', parameters)
Esempio n. 26
0
def edit_user_social(request):
    """
        Edit User social details
    """
    user = request.user
    fullname = user.get_full_name()
    form = SocialForm(request.POST)

    user_profile = UserProfile.objects.filter(user=user)
    if len(user_profile) != 0:
        current_user_profile = user_profile[0]
    elif form.is_valid():
        current_user_profile = UserProfile(user=user)
        current_user_profile.generate_user_id()
        current_user_profile.save()

    if form.is_valid():
        current_user_profile.website_twitter = form.cleaned_data["twitter"]
        current_user_profile.website_facebook = form.cleaned_data["facebook"]
        current_user_profile.save()
        info = True
        info_message = "Social Networks Updated !"
        parameters = {'info': info, 'info_message': info_message}
    else:
        error = True
        error_message = "Invalid Form Details"
        parameters = {'error': error, 'error_message': error_message}
    default_image = "/static/elearning_academy/img/default/user.jpg"
    parameters.update({
        'user_name': fullname,
        'default_image': default_image,
        'profile_exists': True
    })
    user_profile_dictionary = json.loads(current_user_profile.toJson())
    parameters.update(user_profile_dictionary)
    form = get_update_form(user)
    parameters.update(form)
    return render(request, 'user_profile/profile.html', parameters)
Esempio n. 27
0
 def post(self, request):
     try:
         register_form = RegisterForm(request.POST)
         if register_form.is_valid():
             username = request.POST.get('username', '')
             user = UserProfile.objects.filter(username=username).exists()
             if not user:
                 user = UserProfile()
                 user.username = username
                 user.password = make_password(
                     request.POST.get('password', ''))
                 user.name = request.POST.get('name', '')
                 user.is_superuser = False
                 user.is_active = True
                 user.is_staff = True
                 user.save()
                 return HttpResponse(json.dumps({
                     "status": "success",
                     "msg": "人员添加成功!"
                 }),
                                     content_type="application/json")
             else:
                 return HttpResponse(json.dumps({
                     "status": "fail",
                     "msg": "所添加的用户已经存在!"
                 }),
                                     content_type="application/json")
         else:
             return render(request, 'add_staffs.html',
                           {"register_form": register_form})
     except Exception as e:
         return HttpResponse(json.dumps({
             "status": "fail",
             "msg": "执行错误!"
         }),
                             content_type="application/json")
Esempio n. 28
0
 def post(self, request):
     try:
         register_form = RegisterForm(request.POST)
         if register_form.is_valid():
             username = request.POST.get('username', '')
             user = UserProfile.objects.filter(username=username).exists()
             if not user:
                 user = UserProfile()
                 user.username = username
                 user.password = make_password(
                     request.POST.get('password', ''))
                 user.name = request.POST.get('name', '')
                 user.is_superuser = True
                 user.is_active = True
                 user.is_staff = True
                 user.save()
                 return HttpResponseRedirect('/')
             else:
                 return render(request, 'regist.html', {"msg": "用户已经存在"})
         else:
             return render(request, 'regist.html',
                           {"register_form": register_form})
     except Exception as e:
         return render(request, 'regist.html', {})
Esempio n. 29
0
 def testUserProfile(self):
     obj = UserProfile(user_id=1, address='xyz', city='abc')
     obj.save()
     self.assertEquals(1, obj.user_id)
     self.assertNotEquals(obj.id, None)
     obj.delete()
Esempio n. 30
0
def save_form(form):
    user = User.objects.create_user(form.cleaned_data['username'], form.cleaned_data['email'], form.cleaned_data['password'])
    user_prof = UserProfile(user=user, address=form.cleaned_data['address'], phone_number=form.cleaned_data['phone_number'])
    user_prof.save()