Ejemplo n.º 1
0
def home(request):
    if request.user.is_authenticated():
        s = Session.objects.get(session_key=request.session.session_key)
        t = Tracker.objects.create(session=s, source='2')
        if request.user.userprofile.workplace_type in ['A', 'B']:
            return render(request, 'home.html')
        elif request.user.userprofile.workplace_type in ['C', 'O']:
            return redirect('/feed')
        else:
            return redirect('/set/')
    else:
        q = request.GET.get('q')
        try:
            s = Session.objects.get(session_key=request.session.session_key)
        except Exception:
            s = None
        t = Tracker.objects.create(session=s, source=q)
        if request.GET.get('audience') == 'team':
            return render(request, 'cover_team.html', {
                'form_signup': SignupForm(),
                'form_login': LoginForm()
            })
        else:
            return render(request, 'cover.html', {
                'form_signup': SignupForm(),
                'form_login': LoginForm()
            })
Ejemplo n.º 2
0
def login_form(request):
    """Creates context for a login form custom template
    and sends it for validation."""
    if 'login' and 'password' in request.POST:
        return {'allauth_login_form': LoginForm(request.POST)}
    else:
        return {'allauth_login_form': LoginForm()}
Ejemplo n.º 3
0
def mf_login(request):
    form = LoginForm()
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            form.login(request)
            return redirect('mf-index')
    ctx = {
        "page": "login",
        "form": form,
        "registration_open": settings.REGISTRATION_OPEN,
    }
    return render(request, "accounts/login.html", ctx)
Ejemplo n.º 4
0
def login(request):
    categories = Category.objects.all()
    cart = Cart(request)
    if request.method == "POST":
        form = LoginForm(request=request, data=request.POST)
        if form.is_valid():
            return redirect('shop:index')
    else:
        form = LoginForm()

    return render(request, 'registration/login.html', {
        'form': form,
        'categories': categories,
        'cart': cart
    })
Ejemplo n.º 5
0
    def get_context_data(self, **kwargs):
        context_data = super(StudentInfoView, self).get_context_data(**kwargs)
        reg = self.temporaryRegistration

        context_data.update({
            'reg':
            reg,
            'payAtDoor':
            reg.payAtDoor,
            'currencySymbol':
            getConstant('general__currencySymbol'),
            'subtotal':
            sum([x.price for x in reg.temporaryeventregistration_set.all()]),
        })

        if reg.payAtDoor or self.request.user.is_authenticated or not getConstant(
                'registration__allowAjaxSignin'):
            context_data['show_ajax_form'] = False
        else:
            # Add a login form and a signup form
            context_data.update({
                'show_ajax_form': True,
                'login_form': LoginForm(),
                'signup_form': SignupForm(),
            })

        return context_data
Ejemplo n.º 6
0
def index(request):
    """
    This view provides the landing page for zhehe application

    Containing two forms:
        - Signin
        - Newsletter

    And several other information regarding the application.
    Also access to user registration etc.

    :param request: Django request Object
    :type request: django.core.handlers.wsgi.WSGIRequest
    :return: Django render object containing HttpResponse
    :rtype: django.http.response.HttpResponse
    """
    template_name: str = 'zhehe_user_app/zhehe_index/skeleton.html'
    newsletter_form = Newsletter()
    signin_form = LoginForm()
    if request.method == 'POST':
        newsletter_form = Newsletter(request.POST)
        if newsletter_form.is_valid():
            print(newsletter_form.cleaned_data)
        else:
            print(newsletter_form.errors)
    return render(request=request,
                  template_name=template_name,
                  status=200,
                  context={
                      'newsletter': newsletter_form,
                      'signin': signin_form
                  })
Ejemplo n.º 7
0
    def get(self, request):
        search_query = request.GET.get('search', '')

        if search_query:
            products_list = Product.objects.filter(
                Q(title__icontains=search_query)
                | Q(text__icontains=search_query))
        else:
            products_list = Product.objects.filter(available=True)

        paginator = Paginator(products_list, 2)
        page_number = request.GET.get('page', 1)
        page, prev_url, next_url = product_paginator(paginator, page_number)
        formlogin = LoginForm()

        category = get_object_or_404(Category)

        context = {
            'category': category,
            'page_object': page,
            'next_url': next_url,
            'prev_url': prev_url,
            'formlogin': formlogin,
        }

        return render(request, 'index.html', context)
Ejemplo n.º 8
0
def add_login_form(context):
    """Return LoginForm is user is not already logged in."""
    from allauth.account.forms import LoginForm
    user = context['request'].user
    if not user.is_authenticated():
        context['login_form'] = LoginForm()
        return context
Ejemplo n.º 9
0
    def get_context_data(self, **kwargs):
        context_data = super(StudentInfoView, self).get_context_data(**kwargs)

        context_data.update({
            'regInfo':
            self.request.session[REG_VALIDATION_STR].get('regInfo', {}),
            'payAtDoor':
            self.request.session[REG_VALIDATION_STR].get('payAtDoor', False),
            'currencySymbol':
            getConstant('general__currencySymbol'),
        })

        # Add the Series, Event, and DanceRole objects to the context data based on what was submitted
        # through the form.
        subtotal = 0

        for k, v in context_data['regInfo'].get('events', {}).items():
            event = Event.objects.prefetch_related('pricingTier').get(id=k)

            dropin_keys = [x for x in v.keys() if x.startswith('dropin_')]
            if dropin_keys:

                name = _('DROP IN: %s' % event.name)
                base_price = event.getBasePrice(dropIns=len(dropin_keys))
            else:
                name = event.name
                base_price = event.getBasePrice(
                    payAtDoor=context_data['payAtDoor'])

            subtotal += base_price

            if v.get('role'):
                role_name = DanceRole.objects.get(id=v.get('role')).name
            else:
                role_name = None

            context_data['regInfo']['events'][k].update({
                'name':
                name,
                'role_name':
                role_name,
                'base_price':
                base_price,
            })

        context_data['subtotal'] = subtotal

        if context_data[
                'payAtDoor'] or self.request.user.is_authenticated or not getConstant(
                    'registration__allowAjaxSignin'):
            context_data['show_ajax_form'] = False
        else:
            # Add a login form and a signup form
            context_data.update({
                'show_ajax_form': True,
                'login_form': LoginForm(),
                'signup_form': SignupForm(),
            })

        return context_data
Ejemplo n.º 10
0
def profile(request):
    """ Display the user's profile. """
    profile = get_object_or_404(UserProfile, user=request.user)

    if request.method == 'POST':
        form = UserProfileForm(request.POST, instance=profile)
        if form.is_valid():
            form.save()
            messages.success(request, 'Profile updated successfully')
        else:
            messages.error(request,
                           'Update failed. Please ensure the form is valid.')
    else:
        form = UserProfileForm(instance=profile)
    orders = profile.orders.all()
    fav_list = Favourite.objects.filter(user=request.user, status=True)

    template = 'profiles/profile.html'
    context = {
        'form': form,
        'orders': orders,
        'fav_list': fav_list,
        'on_profile_page': True,
        'login_form': LoginForm(),
    }

    return render(request, template, context)
Ejemplo n.º 11
0
def user_login(request):
    """
    Функция авторизации по ajax
    """
    if request.is_ajax:
        print('ajax')
        login_form = LoginForm(request.POST)
        login = request.POST.get('login')
        password = request.POST.get('password')
        if login_form.is_valid():
            user = auth.authenticate(username=login, password=password)
            print(user)
            if user and user.is_active:
                auth.login(request, user)
                data = {'reload': True}
                return JsonResponse(data)

        context = {
            'reload': False,
            'login_form': login_form,
            'signup_form': SignupForm,
        }
        context.update(csrf(request))
        html_content = loader.render_to_string(
            template_name='include/user/user.html', context=context)
        data = {'html_content': html_content}
        return JsonResponse(data)
    else:
        return Http404
Ejemplo n.º 12
0
def create_password(request, token):
    if request.user.is_authenticated():
        return redirect('order:details', token=token)
    order = get_object_or_404(Order, token=token)
    email = order.user_email
    form_data = request.POST.copy()
    if form_data:
        form_data.update({'email': email})
    register_form = PasswordForm(form_data or None)
    if User.objects.filter(email=email).exists():
        login_form = LoginForm(initial={'login': email})
    else:
        login_form = None
    if register_form.is_valid():
        register_form.save(request)
        password = form_data.get('password1')
        auth_user = auth.authenticate(email=email, password=password)
        if auth_user is not None:
            auth.login(request, auth_user)
        attach_order_to_user(order, auth_user)
        return redirect('order:details', token=token)
    ctx = {
        'form': register_form,
        'email': email,
        'order': order,
        'login_form': login_form
    }
    return TemplateResponse(request, 'order/create_password.html', ctx)
Ejemplo n.º 13
0
def home(request):
    if not request.user.is_authenticated():
        login_form = LoginForm()
    else:
        login_form = None

    return render(request, 'core/home.html', {'form': login_form})
Ejemplo n.º 14
0
    def post(self, request, *args, **kwargs):
        """POSTリクエスト用のメソッド"""
        # リクエストからフォームを作成
        form = LoginForm(request.POST)
        # バリデーション(ユーザーの認証も合わせて実施)
        if not form.is_valid():
            # バリデーションNGの場合はログイン画面のテンプレートを再表示
            return render(request, 'accounts/login.html', {'form': form})

        # ユーザーオブジェクトをフォームから取得
        user = form.get_user()

        # ログイン処理(取得したユーザーオブジェクトをセッションに保存 & ユーザーデータを更新)
        auth_login(request, user)

        # ログイン後処理(ログイン回数を増やしたりする。本来は user_logged_in シグナルを使えばもっと簡単に書ける)
        user.post_login()

        # ロギング
        logger.info("User(id={}) has logged in.".format(user.id))

        # フラッシュメッセージを画面に表示
        messages.info(request, "ログインしました。")

        # ダッシュボード画面にリダイレクト
        return redirect(reverse('dashborad:index'))
Ejemplo n.º 15
0
def home(request):
    if not request.user.is_authenticated:
        login_form = LoginForm()
        login_form.fields['login'].widget.attrs.pop("autofocus", None)
    else:
        login_form = None

    return render(request, 'core/home.html', {'form': login_form})
Ejemplo n.º 16
0
def login(request, checkout):
    """
    Allows user to choose if he wants to login before checkout or continue
    as an anonymous user
    """
    if request.user.is_authenticated:
        return redirect('checkout:index')
    form = LoginForm()
    ctx = {'form': form}
    return TemplateResponse(request, 'checkout/login.html', ctx)
Ejemplo n.º 17
0
 def get(self, request, *args, **kwargs):
     if request.user.is_authenticated():
         buildings = request.user.building_set.all()
         context = {'object_list': buildings}
         return render(request, 'dashboard/buildings/list_building.html',
                       context)
     else:
         form = LoginForm()
         context = {'form': form}
         return render(request, 'account/login.html', context)
Ejemplo n.º 18
0
    def get(self, request, *args, **kwargs):
        """GETリクエスト用のメソッド"""
        # すでにログインしている場合はショップ画面へリダイレクト
        if request.user.is_authenticated:
            return redirect(reverse('dashborad:index'))

        context = {
            'form': LoginForm(),
        }
        # ログイン画面用のテンプレートに値が空のフォームをレンダリング
        return render(request, 'accounts/login.html', context)
Ejemplo n.º 19
0
    def get_context_data(self, **kwargs):
        if 'form' in self.request.session and 'login_form' in self.request.session:
            ctx = {}
            if self.request.session['form']:
                ctx['form'] = SignupForm(self.request.session['form'])
                ctx['form'].is_valid()
            else:
                ctx['form'] = SignupForm()
            if self.request.session['login_form']:
                ctx['login_form'] = LoginForm(self.request.session['login_form'])
                ctx['login_form'].is_valid()

            else:
                ctx['login_form'] = LoginForm()
            del self.request.session['form']
            del self.request.session['login_form']
        else:
            ctx = super(SignupView, self).get_context_data(**kwargs)
            ctx['login_form'] = LoginForm()
        return ctx
Ejemplo n.º 20
0
def login(request):
    # template based on allauth login page
    t = loader.get_template("courses/login.html")
    c = {'login_form': LoginForm(), 'signup_url': reverse("account_signup")}

    if 'shibboleth' in django.conf.settings.INSTALLED_APPS:
        c['shibboleth_login'] = reverse("shibboleth:login")
    else:
        c['shibboleth_login'] = False

    return HttpResponse(t.render(c, request))
Ejemplo n.º 21
0
def addLoginForm(request):
    # let us customize the login form!
    loginForm = LoginForm()
    loginForm.fields['password'].widget.attrs.update(
        {'class': 'mdl-textfield__input'})
    loginForm.fields['login'].widget.attrs.update(
        {'class': 'mdl-textfield__input'})
    loginForm.fields['remember'].widget.attrs.update(
        {'class': 'mdl-checkbox__input'})

    return {'login_form': loginForm}
Ejemplo n.º 22
0
def upload_media(request):
    """Upload media view"""

    from allauth.account.forms import LoginForm

    form = LoginForm()
    context = {}
    context["form"] = form
    context["can_add"] = user_allowed_to_upload(request)
    can_upload_exp = settings.CANNOT_ADD_MEDIA_MESSAGE
    context["can_upload_exp"] = can_upload_exp

    return render(request, "cms/add-media.html", context)
Ejemplo n.º 23
0
def home(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect(reverse('projects'))
    else:
        if settings.SHIBBOLETH:
            return render(request, 'core/home.html')
        elif settings.ACCOUNT or settings.SOCIALACCOUNT:
            from allauth.account.forms import LoginForm
            return render(request, 'core/home.html', {'form': LoginForm()})
        else:
            from django.contrib.auth.forms import AuthenticationForm
            return render(request, 'core/home.html',
                          {'form': AuthenticationForm()})
Ejemplo n.º 24
0
def login(request):
    """
    A view to render the login page
    """
    login_form = LoginForm()
    signup_form = SignupForm()

    context = {
        'login_form': login_form,
        'signup_form': signup_form,
    }

    return render(request, 'login.html', context)
Ejemplo n.º 25
0
def all_pieces(request):
    """ A view to show all pieces, including sorting and search queries """

    pieces = Piece.objects.all()
    query = None
    categories = None
    sort = None
    direction = None

    if request.GET:
        if 'sort' in request.GET:
            sortkey = request.GET['sort']
            sort = sortkey
            if sortkey == 'name':
                sortkey = 'lower_name'
                pieces = pieces.annotate(lower_name=Lower('name'))
            if sortkey == 'category':
                sortkey = 'category__name'
            if 'direction' in request.GET:
                direction = request.GET['direction']
                if direction == 'desc':
                    sortkey = f'-{sortkey}'
            pieces = pieces.order_by(sortkey)

        if 'category' in request.GET:
            categories = request.GET['category'].split(',')
            pieces = pieces.filter(category__name__in=categories)
            categories = Category.objects.filter(name__in=categories)

        if 'q' in request.GET:
            query = request.GET['q']
            if not query:
                messages.error(request,
                               "You forgot to enter any search criteria!")
                return redirect(reverse('pieces'))

            queries = Q(name__icontains=query) | Q(
                type_of_piece__icontains=query)
            pieces = pieces.filter(queries)

    current_sorting = f'{sort}_{direction}'

    context = {
        'pieces': pieces,
        'search_term': query,
        'current_categories': categories,
        'current_sorting': current_sorting,
        'login_form': LoginForm(),
    }

    return render(request, 'pieces/pieces.html', context)
Ejemplo n.º 26
0
def login(request, **kwargs):
    success_url = kwargs.pop("success_url", None)

    if success_url is None:
        success_url = "/"

    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            return form.login(request, redirect_url=success_url)
    else:
        form = LoginForm()

    registerform = SignupForm()

    ctx = {
        "form": form,
        "registerform": registerform,
        "redirect_field_name": "next",
        "redirect_field_value": request.REQUEST.get("next"),
        "apps": SocialApp.objects.all(),
    }
    return render_to_response('users/login.html', RequestContext(request, ctx))
Ejemplo n.º 27
0
def signin(request:HttpRequest):
    '''
    perform login using credentials email and pass
    '''
    if request.method == 'POST':
        form = LoginForm(request.POST)

        if form.is_valid():

            credentials = form.user_credentials()
            user = authenticate(request, username = credentials['username'], password = credentials['password'])
            print("user is ", user)
            if user:
                login(request,user)
                print('is authenticated', user.is_authenticated)
                print("login successful")
                return redirect('projectMgr:userhome')


        return render(request, 'projectMgr/signin.html', {'form': form})


    form = LoginForm()
    return render(request,'projectMgr/signin.html', {'form':form})
Ejemplo n.º 28
0
def piece_detail(request, piece_id):
    """ A view to show an individual piece """

    piece = get_object_or_404(Piece, pk=piece_id)
    comments = Comment.objects.filter(piece=piece_id)
    fav_product = Favourite.objects.filter(piece=piece_id).last()

    context = {
        'piece': piece,
        'comments': comments,
        'fav_product': fav_product,
        'login_form': LoginForm(),
    }

    return render(request, 'pieces/piece_detail.html', context)
Ejemplo n.º 29
0
def finance_website(request):
    if request.method == "GET":
        stock = finance_stock(request)
        data = get_stock_price_data(stock)
        script, div = create_stock_price_plot(data)
        bid, ask, range_day, market_cap, beta, estimate, price = get_stock_summary_data(
            stock)

        movers = get_stock_movers(5)
        watchlist_list = Watchlist.objects.filter(user=request.user.id)
        feed = news_feed(stock)
        login_form = LoginForm()
        signup_form = SignupForm()

        context = {
            "stock": stock,
            "bid": bid,
            "ask": ask,
            "range": range_day,
            "market_cap": market_cap,
            "beta": beta,
            "estimate": estimate,
            "the_script": script,
            "the_div": div,
            "movers": movers,
            "watchlist_list": watchlist_list,
            "news": feed,
            "price": price,
            "login_form": login_form,
            "signup_form": signup_form
        }

        return render(request, "finance.html", context)

    else:
        form = WatchlistForm(request.POST)
        form.save()
        return redirect(request.get_full_path())
Ejemplo n.º 30
0
def checkout_home(request):
    cart_obj, cart_created = Cart.objects.new_or_get(request)

    if cart_created:
        return redirect('cart:cart')
    else:
        order_obj, new_order_obj = Order.objects.get_or_create(cart=cart_obj)

    user = request.user
    billing_profile = None
    form = LoginForm()

    if user.is_authenticated:
        billing_profile, billing_profile_created = BillingProfile.objects.get_or_create(
            user=user, email=user.email)

    context = {
        'order': order_obj,
        'billing_profile': billing_profile,
        'form': form,
    }

    return render(request, 'carts/checkout.html', context)