Esempio n. 1
0
def menu_moderator(request):
    context = RequestContext(request)
    if request.method == 'POST':
        form = BulkPartnerFeedbacksForm(request.POST, partner_user=request.user)
        if form.is_valid():
            if form.cleaned_data['action'] == 'delete':
                for feedback in form.cleaned_data['selected_items']:
                    feedback.delete()
            elif form.cleaned_data['action'] == 'approve':
                for feedback in form.cleaned_data['selected_items']:
                    feedback.is_approved = True
                    feedback.save()
        return redirect('partners.views.menu_moderator')
    context = load_menu_context(context)
    context['ADMIN_MENU_ACTIVE'] = 'Модерация'
    feedbacks_list = UserFeedbacks.moderation_objects.filter(partner_user=request.user)
    page = request.GET.get('page', 1)
    per_page = 20
    paginator = Paginator(feedbacks_list, per_page)
    try:
        context['feedbacks_list'] = paginator.page(page)
    except PageNotAnInteger:
        context['feedbacks_list'] = paginator.page(1)
    except EmptyPage:
        context['feedbacks_list'] = paginator.page(paginator.num_pages)
    return render_to_response('partners/menu/moderator/index.html', context)
Esempio n. 2
0
def menu_offers_add(request):
    context = RequestContext(request)
    context = load_menu_context(context)
    context['ADMIN_MENU_ACTIVE'] = 'Акции'
    if request.method == 'POST':
        offers_form = OffersForm(request.POST, partner_user=request.user)
        seo_meta_form = SeoModelMetaForm(request.POST)
        seo_url_form = SeoModelUrlForm(request.POST)
        if offers_form.is_valid() and seo_meta_form.is_valid() and seo_url_form.is_valid():
            offers_form.instance.type = 1
            instance = offers_form.save()
            instance.is_published = False
            instance.save()
            seo_meta_form.instance.content_object = offers_form.instance
            seo_meta_form.save()
            seo_url_form.instance.content_object = offers_form.instance
            seo_url_form.save()
            return redirect('partners.views.menu_offers_index')
    else:
        offers_form = OffersForm(partner_user=request.user)
        seo_meta_form = SeoModelMetaForm()
        seo_url_form = SeoModelUrlForm()
    context['offers_form'] = offers_form
    context['seo_meta_form'] = seo_meta_form
    context['seo_url_form'] = seo_url_form
    context['page_title'] = 'Добавить акцию'
    return render_to_response('partners/menu/offers/form.html', context)
Esempio n. 3
0
def menu_offers_edit(request, offer_id):
    offer_id = int(offer_id)
    offer = get_object_or_404(Offers.all_objects, pk=offer_id, partner__admin_user=request.user)
    context = RequestContext(request)
    context = load_menu_context(context)
    context['ADMIN_MENU_ACTIVE'] = 'Акции'
    if request.method == 'POST':
        offers_form = OffersForm(request.POST, request.FILES, instance=offer, partner_user=request.user)
        seo_meta_form = SeoModelMetaForm(request.POST, instance=offer.get_seo_meta_object())
        seo_url_form = SeoModelUrlForm(request.POST, instance=offer.get_seo_url_object())
        if request.POST.get('delete') is not None:
            offer.delete()
            return redirect('partners.views.menu_offers_index')
        else:
            if offers_form.is_valid() and seo_meta_form.is_valid() and seo_url_form.is_valid():
                offers_form.instance.type = 1
                instance = offers_form.save()
                instance.is_published = False
                instance.save()
                seo_meta_form.save()
                seo_url_form.save()
                return redirect('partners.views.menu_offers_index')
    else:
        offers_form = OffersForm(instance=offer, partner_user=request.user)
        seo_meta_form = SeoModelMetaForm(instance=offer.get_seo_meta_object())
        seo_url_form = SeoModelUrlForm(instance=offer.get_seo_url_object())

    context['offers_form'] = offers_form
    context['seo_meta_form'] = seo_meta_form
    context['seo_url_form'] = seo_url_form
    context['page_title'] = offer.title
    context['offer'] = offer
    return render_to_response('partners/menu/offers/form.html', context)
Esempio n. 4
0
def menu_offers_index(request):
    per_page = 20
    page = request.GET.get('page', 1)
    context = RequestContext(request)
    context = load_menu_context(context)
    context['ADMIN_MENU_ACTIVE'] = 'Акции'
    offers_list = Offers.all_objects.filter(partner__admin_user=request.user)
    paginator = Paginator(offers_list, per_page)
    try:
        context['offers_list'] = paginator.page(page)
    except PageNotAnInteger:
        context['offers_list'] = paginator.page(1)
    except EmptyPage:
        context['offers_list'] = paginator.page(paginator.num_pages)
    return render_to_response('partners/menu/offers/index.html', context)
Esempio n. 5
0
def pin_codes(request):
    context = RequestContext(request)
    context = load_menu_context(context)
    context['ADMIN_MENU_ACTIVE'] = 'Проверка пин-кодов'
    if request.method == 'POST':
        pin_code_form = PinCodeForm(request.POST, partner_user=request.user)
        use_pin_code = request.POST.get('use_pin_code')

        if pin_code_form.is_valid():
            code = CouponCodes.objects.get(code=pin_code_form.cleaned_data['pin_code'], is_used=False)
            if code.get_order().offer.type == 1 and not code.get_order().offer.activation_due_date:
                messages.info(request, 'У акции не указан срок активации! Акция %s' % code.get_order().offer.get_administration_edit_url())
                return redirect('partner_menu_pin_codes')
            else:
                if code.get_order().offer.activation_due_date.date() < now().date():
                    messages.info(request, 'Невозможно погасить! Истёк срок действия купона!')
                    return redirect('partner_menu_pin_codes')
                elif use_pin_code is not None:
                    pin_code_form.pin_code_code.set_used()
                    order = pin_code_form.pin_code_code.order_set.all()[0]
                    transaction = PincodeTransaction(action_name=order.offer.title,
                                                     price=order.price,
                                                     consumer=order.user,
                                                     buy_date=order.add_date,
                                                     maturity_date=now(),
                                                     operator=request.user,
                                                     is_gift=pin_code_form.pin_code_code.is_gift,
                                                     add_date=now(),
                                                     is_completed=True)
                    #TODO Если купон подарен, то указать User, кому подарен
                    # if pin_code_form.pin_code_code.is_gift:

                    transaction.save()
                    messages.info(request, 'Пин-код помечен, как использованный')
                    return redirect('partner_menu_pin_codes')
    else:
        pin_code_form = PinCodeForm(partner_user=request.user)
    context['pin_code_form'] = pin_code_form
    return render_to_response('partners/menu/pin_code_form.html', context)
Esempio n. 6
0
 def get_context_data(self, **kwargs):
     context = super(BasePartnerMenuView, self).get_context_data(**kwargs)
     context = load_menu_context(context)
     return context
Esempio n. 7
0
def reports(request):
    context = RequestContext(request)
    context = load_menu_context(context)
    context['ADMIN_MENU_ACTIVE'] = 'Отчеты'
    context['offers_list'] = Offers.all_objects.filter(partner__admin_user=request.user)
    return render_to_response('partners/menu/reports.html', context)