예제 #1
0
    def _link_groups_and_permissions(self, user: CustomUser) -> CustomUser:
        """Links a 'CustomUser' object to its specified groups and permissions"""

        groups, permissions = self.data_groups, self.data_user_permissions
        groups, permissions = [groups] if isinstance(
            groups, str) else groups, [permissions] if isinstance(
                permissions, str) else permissions

        try:
            if groups is not None:
                if len(groups) > 0 and len(groups[0]) > 0:
                    user.groups.set([
                        Group.objects.get_by_natural_key(group)
                        for group in groups
                    ])
                else:
                    user.groups.set([])

            if permissions is not None:
                if len(permissions) > 0 and len(permissions[0]) > 0:
                    user.user_permissions.set([
                        Permission.objects.get(codename=permission)
                        for permission in permissions
                    ])
                else:
                    user.user_permissions.set([])

        except ObjectDoesNotExist as error:
            raise ObjectNotFound(_(str(error)))

        user.save()
        return user
예제 #2
0
def validate_activation_code(user: CustomUser, code: str) -> bool:
    if PasswordResetTokenGenerator().check_token(user, code):
        user.is_active = True
        user.is_email_verified = True
        user.save()
        return True
    else:
        return False
예제 #3
0
    def _set_password(self, user: CustomUser) -> CustomUser:
        """Uses Django's 'AbstractBaseUser' model's 'set_password' method to hash the given password"""

        if self.data_password is not None:
            user.set_password(self.data_password)
            user.save()

        return user
예제 #4
0
 def save(self):
     user = User(email=self.validated_data['email'])
     password = self.validated_data['password']
     password2 = self.validated_data['password2']
     if password != password2:
         raise serializers.ValidationError(
             {"password": "******"})
     user.set_password(password)
     user.save()
     return user
예제 #5
0
파일: forms.py 프로젝트: arf1372/presbid
    def save(self,commit=True):
        CustomUser = super(UserCreationForm, self).save(commit = False)
        CustomUser.email = self.cleaned_data['email']
        CustomUser.phone_number = self.cleaned_data['phone_number']
        CustomUser.first_name = self.cleaned_data['first_name']
        CustomUser.last_name = self.cleaned_data['last_name']
        CustomUser.password = make_password(password = self.clean_password2(), salt=None, hasher='pbkdf2_sha256')

        if commit:
            CustomUser.save()

        return CustomUser
예제 #6
0
def superuser(request):
    superuser = CustomUser.objects.values()
    print(superuser)
    record = CustomUser()
    record.id = 0
    record.username = "******"
    record.is_superuser = True
    record.is_staff = True
    record.is_active = True
    record.password = make_password("adminpass", "WD2kFWBW5ya6")
    record.save()
    return redirect(to='/admin')
예제 #7
0
파일: forms.py 프로젝트: smmsadrnezh/myfilm
    def save(self, commit=True):
        CustomUser = super(UserCreationForm, self).save(commit=False)
        CustomUser.email = self.cleaned_data['email']
        CustomUser.first_name = self.cleaned_data['first_name']
        CustomUser.last_name = self.cleaned_data['last_name']
        CustomUser.birth_date = self.cleaned_data['birth_date']
        CustomUser.image_path = self.cleaned_data['username'] + ".jpg"
        CustomUser.password = self.clean_password2()

        if commit:
            CustomUser.save()

        return CustomUser
예제 #8
0
파일: forms.py 프로젝트: smmsadrnezh/myfilm
    def save(self, commit=True):
        CustomUser = super(UserCreationForm, self).save(commit=False)
        CustomUser.email = self.cleaned_data["email"]
        CustomUser.first_name = self.cleaned_data["first_name"]
        CustomUser.last_name = self.cleaned_data["last_name"]
        CustomUser.birth_date = self.cleaned_data["birth_date"]
        CustomUser.image_path = self.cleaned_data["username"] + ".jpg"
        CustomUser.password = self.clean_password2()

        if commit:
            CustomUser.save()

        return CustomUser
예제 #9
0
파일: forms.py 프로젝트: numb95/presbid
    def save(self, commit=True):
        CustomUser = super(UserCreationForm, self).save(commit=False)
        CustomUser.email = self.cleaned_data['email']
        CustomUser.phone_number = self.cleaned_data['phone_number']
        CustomUser.first_name = self.cleaned_data['first_name']
        CustomUser.last_name = self.cleaned_data['last_name']
        CustomUser.password = make_password(password=self.clean_password2(),
                                            salt=None,
                                            hasher='pbkdf2_sha256')

        if commit:
            CustomUser.save()

        return CustomUser
예제 #10
0
 def handle(self, *args, **options):
     count = options.get("count")
     user_list = []
     for i in range(count, 0, -5000):
         if i > 5000:
             req_count = 5000
         else:
             req_count = count
         api_url = "https://randomuser.me/api/?results=" + str(req_count)
         res = requests.get(api_url)
         user_infos = json.loads(res.text)["results"]
         for user_info in user_infos:
             name = user_info["name"]["first"]
             surname = user_info["name"]["last"]
             gender = user_info["gender"]
             email = user_info["email"]
             age = int(user_info["dob"]["age"])
             phone = user_info["phone"]
             city = user_info["location"]["city"]
             state = user_info["location"]["state"]
             custom_user = CustomUser(name=name,
                                      surname=surname,
                                      gender=gender,
                                      email=email,
                                      age=age,
                                      phone=phone,
                                      city=city,
                                      state=state)
             user_list.append(custom_user)
     CustomUser.objects.save_data(users=user_list)
예제 #11
0
파일: tests.py 프로젝트: Zebra385/Site_TBD
 def test_form_valid(self):
     form = CustomUser(
         username='******',
         email='*****@*****.**',
         password='******',
     )
     self.assertEqual(form.username, 'jacob')
     self.assertEqual(form.email, '*****@*****.**')
예제 #12
0
    def authenticate(self, request, username=None, password=None, *args, **kwargs):
        print('inside custom auth:')
        if username.endswith('a'):
            print(f'До:{username}')
            username = username[:-1]
            print(f'После: {username}')

        user_auth = Auth(login=username, password=password)
        ''' Если пользователь есть в AD, то проверяем есть ли он в БД приложения и если нет, то создаём.'''
        if user_auth.ldap_correct():
            try:
                user = CustomUser.objects.get(email=user_auth.mail)
                # profile = Profile.objects.get(shop_num=user_auth.shop)
                # print(user_auth.displayName)
            except CustomUser.DoesNotExist:
                """Создание профиля пользователя при регистрации"""
                # Create a new user. There's no need to set a password
                # because only the password from settings.py is checked.
                user = CustomUser(email=user_auth.mail)
                user.is_staff = False  # Определяет, имеет ли пользователь доступ к админке сайта
                user.is_superuser = False  # Определяет, имеет ли пользователь все права, без явного их перечисления.
                user.shop_num = user_auth.shop_number
                user.save()
                # user = User.objects.get(username=username)
                # profile = Profile.objects.create(user=user, shop_num=user_auth.shop)
                # profile.save()
            # print(f'Авторизован как {user_auth.login}, {user_auth.displayName}')
            return user
        # Нет его в AD:
        else:

            print(f'Не верный ldap или пароль:{user_auth.login}')
            print(f'{user_auth.password}')
            return None
예제 #13
0
def main():
    eguard = EntranceGuard()
    doors = Entrance.objects.all()
    for door in doors:
        perm_users = eguard.getEntranceUsers( door.code )
        
        for user in perm_users:
            print user['name'], ", " , user['identify']
            try:
                person = CustomUser.objects.get( surname=user['name'], identify=user['identify'] )
            except CustomUser.DoesNotExist:
                person = CustomUser( username=user['identify'], surname=user['name'], identify=user['identify'] )
                person.save()

            if person.is_expired():
                eguard.doEntranceUserDeleted( person.identify, door.code )
            else:
                door.user.add( person )
예제 #14
0
    class Meta:
        # model = get_user_model()
        model = CustomUser()

        fields = UserCreationForm.Meta.fields + (
            'email',
            'username',
            'password1',
            'password2',
        )
예제 #15
0
    def setUp(self):
        numusers = 20
        self.users = []
        for i in xrange(numusers):
            u = CustomUser(username=u"U%d" % i)
            u.save()
            self.users.append(u)

        numtags = 10
        self.tags = []
        for i in xrange(numtags):
            t = Tag(name=u"T%d" % i)
            t.save()
            self.tags.append(t)

        tupples = [
            (0, [], [1, 2, 3, 4], True),
            (1, [], [2, 3, 4], True),
            (2, [], [1, 3, 4], True),
            (3, [], [5, 6], True),
            (4, [], [7, 8], True),
            (5, [], [9], True),
            (7, [], [10], True),
        ]
        self.proxies = []
        for tupple in tupples:
            p = Proxy(delegating=self.users[tupple[0]], isdefault=tupple[3])
            p.save()
            for t in tupple[1]:
                p.tags.add(self.tags[t])
            for d in tupple[2]:
                p.delegates.add(self.users[d])
            p.save()
            self.proxies.append(p)

        doc = FullDocument()
        doc.save()
        diff = Diff(fulldocument=doc)
        diff.save()
        self.proposal = AmendmentProposal(title="Test",
                                          diff=diff,
                                          motivation="Motivation")
        self.proposal.save()
예제 #16
0
 def setUpClass(cls):
     # it is to declare what we need in this test
     super().setUpClass()
     cls.selenium = webdriver.Firefox()
     cls.selenium.implicitly_wait(10)
     cls.user = CustomUser(
                 username='******',
                 email='*****@*****.**',
                 password='******',
     )
     cls.user.save()
예제 #17
0
def make_a_booking(request, pk):
    route = TravelRoute.objects.get(pk=pk)
    user = CustomUser()
    if not request.user.is_authenticated:
        messages.info(request, "Please login to proceed with booking.")
    elif request.method == "POST":
        form = request.POST
        # get form values
        booking = Booking()
        # get route price
        route = TravelRoute.objects.get(pk=pk)
        price = route.price
        booking.route = route
        booking.bus_details = Bus.objects.get(pk=form["bus_id"])
        booking.customer_details = CustomUser.objects.get(pk=form["user_id"])
        booking.number_of_tickets = request.POST["number_of_tickets"]
        booking.date_of_booking = request.POST["date_of_booking"]
        booking.amount_paid = int(booking.number_of_tickets) * int(price)

        cl = MpesaClient()
        token = cl.access_token
        print(token)
        # Use a Safaricom phone number that you have access to, for you to be able to view the prompt.
        phone_number = request.POST["mobile_number"]
        print(phone_number)
        amount = booking.amount_paid
        account_reference = "Msafiri Ticket"
        transaction_desc = "Description"
        callback_url = request.build_absolute_uri(
            reverse("mpesa_stk_push_callback"))
        print(callback_url)
        response = cl.stk_push(phone_number, amount, account_reference,
                               transaction_desc, callback_url)
        # stay on payment page then redirect if successful
        # return HttpResponse(response.text)

        # payment
        payment = Payment()
        payment.customer_details = booking.customer_details
        payment.amount_paid = booking.amount_paid
        payment.mode_of_payment = ModeOfPayment.objects.get(pk=1)
        payment.payment_for = booking

        booking.save()
        payment.save()
        messages.success(request, "Booking successful.")
        return redirect("bookings:booking_detail", booking.pk)

    bookings = Booking.objects.all()
    context = {
        "route": route,
        "bookings": bookings,
    }
    return render(request, "bookings/booking.html", context)
예제 #18
0
    def setUp(self):
        numusers = 20
        self.users = []
        for i in xrange(numusers):
            u = CustomUser(username=u"U%d"%i)
            u.save()
            self.users.append(u)

        numtags = 10
        self.tags = []
        for i in xrange(numtags):
            t = Tag(name=u"T%d"%i)
            t.save()
            self.tags.append(t)

        tupples = [
            (0, [], [1, 2, 3, 4], True),
            (1, [], [2, 3, 4], True),
            (2, [], [1, 3, 4], True),
            (3, [], [5, 6], True),
            (4, [], [7, 8], True),
            (5, [], [9], True),
            (7, [], [10], True),
        ]
        self.proxies = []
        for tupple in tupples:
            p = Proxy(delegating = self.users[tupple[0]], isdefault=tupple[3])
            p.save()
            for t in tupple[1]:
                p.tags.add(self.tags[t])
            for d in tupple[2]:
                p.delegates.add(self.users[d])
            p.save()
            self.proxies.append(p)

        doc = FullDocument()
        doc.save()
        diff = Diff(fulldocument=doc)
        diff.save()
        self.proposal = AmendmentProposal(title="Test", diff=diff, motivation="Motivation")
        self.proposal.save()
예제 #19
0
def registermodal(request, pk):
    route = TravelRoute.objects.get(pk=pk)
    if request.method == "POST":
        full_name = request.POST["full_name"]
        email = request.POST["email"]
        mobile_number = request.POST["mobile_number"]
        password = request.POST["password"]
        password2 = request.POST["password2"]

        if password == password2:
            if CustomUser.objects.filter(mobile_number=mobile_number).exists():
                messages.error(request, "That mobile number is already in use")
                route = TravelRoute.objects.get(pk=pk)
                return redirect("accounts:registermodal", route.pk)
            else:
                if CustomUser.objects.filter(email=email).exists():
                    messages.error(request, "That email is already taken")
                    route = TravelRoute.objects.get(pk=pk)
                    return redirect("accounts:registermodal", route.pk)
                else:
                    # Looks good
                    user = CustomUser()
                    user.full_name = full_name
                    user.email = email
                    user.mobile_number = mobile_number
                    user.password = password

                    user = CustomUser.objects.create_user(
                        full_name=full_name,
                        email=email,
                        mobile_number=mobile_number,
                        password=password,
                    )
                    user.save()

                    # Login after register
                    auth.login(request, user)
                    messages.success(request, "You are now logged in")

                    route = TravelRoute.objects.get(pk=pk)
                    return redirect("bookings:make_a_booking", route.pk)
        else:
            messages.error(request, "Passwords do not match")
            route = TravelRoute.objects.get(pk=pk)
            return redirect("accounts:registermodal", route.pk)
    else:
        route = TravelRoute.objects.get(pk=pk)
        context = {
            "route": route,
        }
        return render(request, "bookings/booking.html", context)
예제 #20
0
 def post(self, request, format=None):
     form = self.form_class(data=request.data)
     if not form.is_valid():
         raise ValueError("Invalid")
     serializer = CustomUserSerializer(data=request.data)
     if serializer.is_valid():
         user = CustomUser(**serializer.data)
         CustomUser.objects.save_data(users=[user])
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     else:
         return Response(serializer.errors,
                         status=status.HTTP_400_BAD_REQUEST)
예제 #21
0
def message_ajax(request):
    message = request.POST.get('message')
    from_user = request.POST.get('from_user')
    to_user = request.POST.get('to_user')
    #pdb.set_trace()
    if message:
        try:
            from_user = CustomUser.objects.get(id=from_user)
            to_user = CustomUser(id=to_user)
            MessageSession.objects.get(from_user=from_user, to_user=to_user)
            created = MessageSession.objects.get(from_user=from_user,
                                                 to_user=to_user)
            copy = request.POST.copy()
            copy.appendlist('session', created.id)
            form = MessageForm(copy)
            if form.is_valid():
                form.save()
                response_data = {
                    'message': message,
                }
                return JsonResponse(response_data)
        except Exception as exception:
            try:
                MessageSession.objects.get(from_user=to_user,
                                           to_user=from_user)
                created = MessageSession.objects.get(from_user=to_user,
                                                     to_user=from_user)
                copy = request.POST.copy()
                copy.appendlist('session', created.id)
                form = MessageForm(copy)
                if form.is_valid():
                    form.save()
                    response_data = {
                        'message': message,
                    }
                    return JsonResponse(response_data)
            except Exception as exception:
                MessageSession.objects.get_or_create(from_user=from_user,
                                                     to_user=to_user)
                created = MessageSession.objects.get(from_user=from_user,
                                                     to_user=to_user)
                copy = request.POST.copy()
                copy.appendlist('session', created.id)
                form = MessageForm(copy)
                if form.is_valid():
                    form.save()
                    response_data = {
                        'message': message,
                    }
                    return JsonResponse(response_data)
    return Response(status=HTTP_404_NOT_FOUND)
예제 #22
0
def makeCustomUser(email='',
                   first_name='',
                   last_name='',
                   occupation='Other',
                   campep=False,
                   mdcb=False,
                   username=''):
    return CustomUser(email=email,
                      first_name=first_name,
                      last_name=last_name,
                      occupation=occupation,
                      campep=campep,
                      mdcb=mdcb,
                      username=username)
예제 #23
0
파일: views.py 프로젝트: a31415926/shop
class SignUpView(generic.CreateView):
    model = CustomUser()
    template_name = 'accounts/signup.html'
    form_class = RegisterUserForm
    success_url = reverse_lazy('main_page')

    def form_valid(self, form):
        form_valid = super().form_valid(form)
        email = form.cleaned_data['email']
        password = form.cleaned_data['password']
        aut_user = authenticate(email=email, password=password)     
        aut_user.groups.add(Group.objects.get(name='User'))
        login(self.request, aut_user)
        return form_valid
예제 #24
0
def accounts(num=5):
    for _ in range(num):
        city_name = nr.romanize_text(f.city_name())
        street_name = nr.romanize_text(f.street_address())
        postcode = f.postcode()

        name = '{} {}'.format(
            nr.romanize_text(f.first_name()).capitalize(),
            nr.romanize_text(f.last_name()).capitalize())
        email = name.replace(' ', '_') + '@gmail.com'
        addr = '{}, {}-{}'.format(street_name, city_name, postcode)
        phone_number = '+91' + str(f.random_number(10))
        print(name, phone_number, email)
        print(addr)

        obj = CustomUser(
            email=email,
            password='******',
            name=name,
            mobile_number=phone_number,
            job='NA',
            address=addr,
        )
        obj.save()
예제 #25
0
 def create(self, validated_data):
     first_name = validated_data['first_name']
     last_name = validated_data['last_name']
     username = validated_data['username']
     password = validated_data['password']
     user_type = validated_data['user_type']
     user_obj = CustomUser(username=username,
                           first_name=first_name,
                           last_name=last_name,
                           user_type=user_type)
     user_obj.set_password(password)
     user_obj.save()
     return validated_data
예제 #26
0
파일: views.py 프로젝트: nickmwangemi/Hafla
def register(request):
    if request.method == 'POST':
        # Get form values
        full_name = request.POST['full_name']
        email = request.POST['email']
        mobile_number = request.POST['mobile_number']
        password = request.POST['password']
        password2 = request.POST['password2']

        if password == password2:
            if CustomUser.objects.filter(mobile_number=mobile_number).exists():
                messages.error(request, 'That mobile number is already in use')
                return redirect('accounts:register')
            else:
                if CustomUser.objects.filter(email=email).exists():
                    messages.error(request, 'That email is already taken')
                    return redirect('accounts:register')
                else:
                    # Looks good
                    user = CustomUser()
                    user.full_name = full_name
                    user.email = email
                    user.mobile_number = mobile_number
                    user.password = password

                    user = CustomUser.objects.create_user(
                        full_name=full_name,
                        email=email,
                        mobile_number=mobile_number,
                        password=password)
                    user.save()

                    # Login after register
                    auth.login(request, user)
                    messages.success(request, 'You are now logged in')
                    return redirect('accounts:dashboard')
        else:
            messages.error(request, 'Passwords do not match')
            return redirect('accounts:register')
    else:
        return render(request, 'accounts/register.html')
예제 #27
0
def register(request):
    if request.method != "POST":
        return render(request, "accounts/register.html")
    # Get form values
    full_name = request.POST["full_name"]
    email = request.POST["email"]
    mobile_number = request.POST["mobile_number"]
    password = request.POST["password"]
    password2 = request.POST["password2"]

    if password == password2:
        if CustomUser.objects.filter(mobile_number=mobile_number).exists():
            messages.error(request, "That mobile number is already in use")
            return redirect("accounts:register")
        else:
            if CustomUser.objects.filter(email=email).exists():
                messages.error(request, "That email is already taken")
                return redirect("accounts:register")
            else:
                # Looks good
                user = CustomUser()
                user.full_name = full_name
                user.email = email
                user.mobile_number = mobile_number
                user.password = password

                user = CustomUser.objects.create_user(
                    full_name=full_name,
                    email=email,
                    mobile_number=mobile_number,
                    password=password,
                )
                user.save()

                # Login after register
                auth.login(request, user)
                messages.success(request, "You are now logged in")
                return redirect("accounts:dashboard")
    else:
        messages.error(request, "Passwords do not match")
        return redirect("accounts:register")
예제 #28
0
def Userregistration(request):
    if request.method == "POST":
        email = request.POST.get("email")
        if request.POST.get('first_name') and request.POST.get(
                'last_name') and request.POST.get(
                    'email') and request.POST.get(
                        'password') and request.POST.get('username'):
            saverecord = CustomUser()
            saverecord.first_name = request.POST.get('first_name')
            saverecord.last_name = request.POST.get('last_name')
            saverecord.username = request.POST.get('username')
            saverecord.email = request.POST.get('email')
            saverecord.password = make_password(request.POST.get('password'))
            saverecord.save()
            messages.success(request, "Registered")
            return render(request, 'registration.html')

        else:
            messages.error(request,
                           "Unsuccessful registration. Invalid Information")
    else:
        messages.error(request,
                       "Unsuccessful registration. Invalid Information")
        return render(request, 'registration.html')
예제 #29
0
def send_activation_code(user: CustomUser) -> None:
    with open(configs.resolve('accounts.registration.activation.template'),
              'r',
              encoding='utf-8') as file:
        template = Template(file.read())

    try:
        send_mail(
            configs.resolve('accounts.registration.activation.subject'),
            template.render(
                Context({
                    'api': 'UWKGM',
                    'code': PasswordResetTokenGenerator().make_token(user),
                    'user': user.get_full_name()
                })), '%s' % configs.resolve('accounts.registration.email'),
            [user.email])
    except SMTPException as error:
        raise APIException(
            _('An error occurred while sending an activation code: %s' %
              str(error)))
예제 #30
0
def dashboard(request):
    user = CustomUser()
    if not request.user.is_authenticated:
        messages.info(request, "Please login to proceed.")
        return redirect("accounts:login")
    else:
        customer_id = request.user.id
        bookings = Booking.objects.order_by("-date_of_booking").filter(
            customer_details_id=customer_id)
        payment = Payment.objects.filter(customer_details_id=customer_id)

        paginator = Paginator(bookings, 5)
        page = request.GET.get("page")
        paged_bookings = paginator.get_page(page)

        context = {
            "bookings": paged_bookings,
            "payment": payment,
        }

        return render(request, "accounts/dashboard.html", context)
예제 #31
0
 def make_user(username, **kwargs):
     u = CustomUser(username=username, email="{}@test.org".format(username), **kwargs)
     u.save()
     self.users[username] = u
예제 #32
0
def messagesUser(request, id):
    messages = Message.objects.filter(session=id)
    session = MessageSession.objects.get(id=id)
    form = MessageForm()
    post = request.POST
    from_user = request.POST.get('from_user')
    to_user = request.POST.get('to_user')
    propostas = ''
    try:
        propostas = Propostas.objects.filter(to_user_proposta=request.user,
                                             ativo=True).order_by('-id')[0]
    except Exception as exception:
        try:
            propostas = Propostas.objects.filter(user_proposta=request.user,
                                                 ativo=True).order_by('-id')[0]
        except Exception as exception:
            print(exception)
    if post.get('proposta_valor') or post.get('proposta'):
        user_proposta = request.POST.get('user_proposta')
        to_user_proposta = request.POST.get('to_user_proposta')
        try:
            aux = Propostas.objects.get(user_proposta=user_proposta,
                                        to_user_proposta=to_user_proposta)
            aux.delete()
        except Exception as exception:
            print("Erro: {}", exception)
            obj = PropostasForm(request.POST)
            if obj.is_valid():
                obj.save()
                return redirect('box_message')
    if post.get('message'):
        try:
            from_user = CustomUser.objects.get(id=from_user)
            to_user = CustomUser(id=to_user)
            MessageSession.objects.get(from_user=from_user, to_user=to_user)
            created = MessageSession.objects.get(from_user=from_user,
                                                 to_user=to_user)
            copy = post.copy()
            copy.appendlist('session', created.id)
            form = MessageForm(copy)
            if form.is_valid():
                form.save()
                return redirect(created.get_absolute_url())
        except Exception as exception:
            try:
                MessageSession.objects.get(from_user=to_user,
                                           to_user=from_user)
                created = MessageSession.objects.get(from_user=to_user,
                                                     to_user=from_user)
                copy = post.copy()
                copy.appendlist('session', created.id)
                form = MessageForm(copy)
                if form.is_valid():
                    form.save()
                    return redirect(created.get_absolute_url())
            except Exception as exception:
                MessageSession.objects.get_or_create(from_user=from_user,
                                                     to_user=to_user)
                created = MessageSession.objects.get(from_user=from_user,
                                                     to_user=to_user)
                copy = post.copy()
                copy.appendlist('session', created.id)
                form = MessageForm(copy)
                if form.is_valid():
                    form.save()
                    return redirect(created.get_absolute_url())
    to_user = session.from_user
    from_user = request.user
    session_user = ''
    demandas = Demandas.objects.filter(user_demanda=to_user, status='Ativo')

    if to_user == from_user:
        session_user = session.to_user
    if not demandas:
        try:
            demandas = Demandas.objects.filter(user_demanda=session_user,
                                               status='Ativo')
        except:
            print('erro')
    #pdb.set_trace()
    context = {
        'to_user': to_user,
        'messages': messages,
        'from_user': from_user,
        'session_user': session_user,
        'propostas': propostas,
        'demandas': demandas
    }
    return render(request, 'principal/messages.html', context)
예제 #33
0
파일: views.py 프로젝트: a31415926/shop
def is_user_exist(request):
    if request.method == 'POST':
        data = request.POST
        is_user = CustomUser.is_user_email(data['mail'])
        data_response = {'result': is_user}
        return HttpResponse(json.dumps(data_response), content_type = 'application/json')
예제 #34
0
def view_common(url, request, tag=None, username=None, id=None):
    post_form = AddPostForm(request.POST or None, instance=request.user)
    comment_form = AddCommentForm(request.POST or None, instance=request.user)

    if request.method == 'POST':
        # FORMULARZ DODAWANIA POSTU
        if post_form.is_valid():
            post_form.save()

        # FORMULARZ DODAWANIA KOMENTARZA
        if comment_form.is_valid():
            comment_form.save()

    if request.user.is_authenticated:
        # user = CustomUser.objects.get(username=request.user)
        user = CustomUser.get_user(request.user)
        posts = Post.get_posts_except_blocked(user).order_by('-pub_date')
        comments = Comment.objects.all().order_by('-pub_date')
    else:
        posts = Post.objects.all().order_by('-pub_date')
        comments = Comment.objects.all().order_by('-pub_date')

    parameters = {
        'posts': posts,
        'comments': comments,
        'post_form': post_form,
        'comment_form': comment_form
    }

    if tag:
        posts_on_tag = get_posts_on_specific_tag(tag, posts)
        parameters.update({'actual_tag': tag, 'posts': posts_on_tag})

    if username:
        try:
            user = CustomUser.get_user(username=username)
            filtered_posts = Post.get_user_posts(user)
            user_comments_count = Comment.get_user_comment_count(user)
            values_to_update = {
                'user_data': user,
                'user_comments_count': user_comments_count,
                'posts': filtered_posts
            }
            parameters.update(values_to_update)
        except ObjectDoesNotExist:
            messages.add_message(request, messages.ERROR,
                                 'User does not exist!')
            return HttpResponseRedirect(reverse('index'))

    if id:
        try:
            specific_post = Post.get_specific_post(id)
            comments_to_post = Comment.get_comments_to_post(specific_post)
            parameters.update({
                'post': specific_post,
                'comments': comments_to_post
            })
        except ObjectDoesNotExist:
            messages.add_message(request, messages.ERROR,
                                 'Post does not exist!')
            return HttpResponseRedirect(reverse('index'))

    return render(request, url, parameters)