break project))

remotes/origin/HEAD
Max Yakovenko 7 years ago
parent a2bfb481ae
commit aace6dd8df
  1. 4
      accounts_ext/admin.py
  2. 40
      cabinet/views.py
  3. 14
      eshop_project/settings/base.py
  4. 4
      eshop_project/urls.py
  5. 18
      index/views.py
  6. 8
      products/admin.py
  7. 54
      products/context_processors.py
  8. 4
      products/templatetags/products_filters.py
  9. 8
      products/views.py
  10. 12
      referral/middleware.py
  11. 11
      referral/models.py
  12. 6
      templates/components/footer.html
  13. 9
      templates/components/header.html
  14. 6
      templates/components/navbar.html

@ -9,7 +9,7 @@ from jet.filters import DateRangeFilter
from rangefilter.filter import DateTimeRangeFilter
from core.admin import SafeModelAdmin
from referral.admin import ReferralAdminInline
# from referral.admin import ReferralAdminInline
from .forms import UserChangeForm, UserCreationForm
from .models import Profile, Company, Group
@ -27,7 +27,7 @@ class CustomUserResource(resources.ModelResource):
@admin.register(get_user_model())
class UserAdmin(SafeModelAdmin, BaseUserAdmin):
inlines = (
ReferralAdminInline,
# ReferralAdminInline,
)
fieldsets = (

@ -3,7 +3,7 @@ from django.core.paginator import Paginator
from django.utils.translation import ugettext_lazy as _
# Create your views here.
from cart.models import BUYING_STATUS_PAID
# from cart.models import BUYING_STATUS_PAID
from core.views import ProtectedTemplateView
@ -11,20 +11,20 @@ class IndexTemplateView(ProtectedTemplateView):
template_name = 'cabinet/index.html'
title = _('Личный кабинет')
def get_ref_link(self,user):
return "{path}?ref={ref_link}".format(**{
'path': user.referral.url,
'ref_link': user.referral.code
})
def get_bought_item_list(self,user):
bought_item_queryset = user.buying_set.filter(status=BUYING_STATUS_PAID).order_by('-create_at').all()
paginator = Paginator(
object_list=bought_item_queryset,
per_page=5
)
the_page = 1
return paginator.page(the_page)
# def get_ref_link(self,user):
# return "{path}?ref={ref_link}".format(**{
# 'path': user.referral.url,
# 'ref_link': user.referral.code
# })
# def get_bought_item_list(self,user):
# bought_item_queryset = user.buying_set.filter(status=BUYING_STATUS_PAID).order_by('-create_at').all()
# paginator = Paginator(
# object_list=bought_item_queryset,
# per_page=5
# )
# the_page = 1
# return paginator.page(the_page)
def get_full_name(self,user):
return '{last_name} {first_name} {patronymic}'.format(**{
@ -33,18 +33,18 @@ class IndexTemplateView(ProtectedTemplateView):
'patronymic': user.profile.patronymic or ""
})
def get_user_points(self,user):
return user.referral.referralstats.points
# def get_user_points(self,user):
# return user.referral.referralstats.points
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['title'] = self.title
context['ref_link'] = self.get_ref_link(self.request.user)
context['bought_item_list'] = self.get_bought_item_list(self.request.user)
# context['ref_link'] = self.get_ref_link(self.request.user)
# context['bought_item_list'] = self.get_bought_item_list(self.request.user)
context['full_name'] = self.get_full_name(self.request.user)
context['email'] = self.request.user.email
context['phone_number'] = self.request.user.profile.phone
context['company'] = self.request.user.company or None
context['profile'] = self.request.user.profile or None
context['referral_points'] = self.get_user_points(user=self.request.user)
# context['referral_points'] = self.get_user_points(user=self.request.user)
return context

@ -44,10 +44,10 @@ INSTALLED_APPS = [
'core',
'cabinet',
'referral',
# 'referral',
'products',
'cart',
'blog_ext',
# 'cart',
# 'blog_ext',
'accounts_ext',
'index',
'contact_us',
@ -88,7 +88,7 @@ MIDDLEWARE = [
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
'cart.middleware.CartMonkeyPatchingMiddleware',
# 'cart.middleware.CartMonkeyPatchingMiddleware',
'referral.middleware.ReferralMiddleware',
]
@ -110,11 +110,11 @@ TEMPLATES = [
'django.contrib.messages.context_processors.messages',
'core.context_processors.breadcrumbs',
'contact_us.context_processors.contact_us_form',
'products.context_processors.product_search_form',
'products.context_processors.product_fitler_formset',
# 'products.context_processors.product_search_form',
# 'products.context_processors.product_fitler_formset',
'products.context_processors.product_categories',
'products.context_processors.product_manufacture_list',
'cart.context_processors.cart_basket',
# 'cart.context_processors.cart_basket',
],
},
},

@ -41,9 +41,9 @@ urlpatterns = [
re_path(r'^products/', include(('products.urls', 'products'), namespace='products')),
re_path(r'^cabinet/', include(('cabinet.urls', 'cabinet'), namespace='cabinet')),
re_path(r'^cart/', include(('cart.urls', 'cart'), namespace='cart')),
# re_path(r'^cart/', include(('cart.urls', 'cart'), namespace='cart')),
re_path(r'^news/', include(('blog_ext.urls','blog_ext'), namespace='news')),
# re_path(r'^news/', include(('blog_ext.urls','blog_ext'), namespace='news')),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) \
+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

@ -1,23 +1,23 @@
from django.views.generic import TemplateView
from django.utils.translation import ugettext_lazy as _
from cart.models import Client
from core.models import Certificate
# from cart.models import Client
# from core.models import Certificate
class IndexView(TemplateView):
template_name = 'index/index.html'
title = _('Русские программы')
def get_clients(self):
return Client.active.only('name', 'image').all()
def get_certs(self):
return Certificate.active.only('name', 'image').all()
# def get_clients(self):
# return Client.active.only('name', 'image').all()
#
# def get_certs(self):
# return Certificate.active.only('name', 'image').all()
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['title'] = self.title
context['clients'] = self.get_clients()
context['certs'] = self.get_certs()
# context['clients'] = self.get_clients()
# context['certs'] = self.get_certs()
return context

@ -7,10 +7,10 @@ from import_export.admin import ImportExportModelAdmin
from jet.admin import CompactInline
from rangefilter.filter import DateRangeFilter, DateTimeRangeFilter
from cart.admin import ProductOfferInlineAdmin
# from cart.admin import ProductOfferInlineAdmin
from core.admin import SafeModelAdmin
from .forms import ProductAdminForm
# from .forms import ProductAdminForm
from .models import (
Product, ProductCategory, ProductImage, Manufacturer
)
@ -128,11 +128,11 @@ class ProductImageInlineAdmin(CompactInline):
class ProductAdmin(ImportExportModelAdmin, SafeModelAdmin):
inlines = (
ProductImageInlineAdmin,
ProductOfferInlineAdmin,
# ProductOfferInlineAdmin,
)
list_display = ('name', 'parent', 'manufacturer', 'status')
list_filter = ('status', 'create_at', 'updated_at', 'parent')
search_fields = ('name', 'id',)
readonly_fields = ('slug',)
resource_class = ProductResource
form = ProductAdminForm
# form = ProductAdminForm

@ -1,6 +1,6 @@
from django.urls import reverse_lazy
from cart.forms import ProductOfferPriceFilterForm, ProductOfferSupplyTypeFilterForm, ProductOfferSupplyTargetFilterForm
# from cart.forms import ProductOfferPriceFilterForm, ProductOfferSupplyTypeFilterForm, ProductOfferSupplyTargetFilterForm
from products.forms import (
ProductSearchForm, ProductManufacturerFilterForm
)
@ -34,32 +34,32 @@ def product_search_form(request):
}
def product_fitler_formset(request):
if not "products" in request.resolver_match.view_name:
product_form_action = {'viewname': 'products:product_list', 'kwarg': {}}
else:
product_form_action = {'viewname': request.resolver_match.view_name, 'kwargs': request.resolver_match.kwargs}
return {
'left_product_filter_formset':{
'manufacturer': ProductManufacturerFilterForm(
product_form_action=product_form_action,
query_params=request.GET
),
'price': ProductOfferPriceFilterForm(
product_form_action=product_form_action,
query_params=request.GET
),
'supply_type': ProductOfferSupplyTypeFilterForm(
product_form_action=product_form_action,
query_params=request.GET
),
'supply_target': ProductOfferSupplyTargetFilterForm(
product_form_action=product_form_action,
query_params=request.GET
)
}
}
# def product_fitler_formset(request):
# if not "products" in request.resolver_match.view_name:
# product_form_action = {'viewname': 'products:product_list', 'kwarg': {}}
# else:
# product_form_action = {'viewname': request.resolver_match.view_name, 'kwargs': request.resolver_match.kwargs}
#
# return {
# 'left_product_filter_formset':{
# 'manufacturer': ProductManufacturerFilterForm(
# product_form_action=product_form_action,
# query_params=request.GET
# ),
# 'price': ProductOfferPriceFilterForm(
# product_form_action=product_form_action,
# query_params=request.GET
# ),
# 'supply_type': ProductOfferSupplyTypeFilterForm(
# product_form_action=product_form_action,
# query_params=request.GET
# ),
# 'supply_target': ProductOfferSupplyTargetFilterForm(
# product_form_action=product_form_action,
# query_params=request.GET
# )
# }
# }
def product_manufacture_list(request):

@ -5,8 +5,8 @@ from django.utils.translation import ugettext_lazy as _
from django.template import Library
from cart.forms import CartAddInlineForm
from products.utils import ProductDesctipionHtmlParser
# from cart.forms import CartAddInlineForm
# from products.utils import ProductDesctipionHtmlParser
register = Library()

@ -5,7 +5,7 @@ from django.urls import reverse_lazy
from django.utils.translation import ugettext_lazy as _
from django.views.generic import ListView, DetailView
from cart.forms import CartAddInlineForm
# from cart.forms import CartAddInlineForm
from core.utils import parse_path
from .forms import (ProductSortForm)
from .models import (Product,ProductCategory)
@ -72,8 +72,8 @@ class ProductListView(ListView):
qs = self.sort_products(qs)
return qs
def get_cart_add_formset(self, products):
return { product.id: CartAddInlineForm(initial={'offer': product.id,'amount': 1}) for product in products}
# def get_cart_add_formset(self, products):
# return { product.id: CartAddInlineForm(initial={'offer': product.id,'amount': 1}) for product in products}
def get_product_sorting_form(self):
@ -91,5 +91,5 @@ class ProductListView(ListView):
context = super().get_context_data(object_list=object_list, **kwargs)
context['title'] = self.title
context['product_sort_form'] = self.get_product_sorting_form()
context['product_cart_add_formset'] = self.get_cart_add_formset(self.object_list)
# context['product_cart_add_formset'] = self.get_cart_add_formset(self.object_list)
return context

@ -2,7 +2,7 @@ from django.http import HttpResponseRedirect
from django.urls import reverse
from core.models import STATUS_ACTIVE
from .models import Referral
# from .models import Referral
from .utils import set_cookie, pop_cookie, get_cookie
@ -29,11 +29,11 @@ class ReferralMiddleware:
cookie_code = get_cookie(request.COOKIES, 'referral')
if code != cookie_code:
referral_code = request.GET.get('ref')
referral = Referral.active.filter(code__exact=referral_code).first()
if referral and referral.is_active:
referral.referralstats.visits += 1
referral.referralstats.save()
set_cookie(response, 'referral', referral_code)
# referral = Referral.active.filter(code__exact=referral_code).first()
# if referral and referral.is_active:
# referral.referralstats.visits += 1
# referral.referralstats.save()
# set_cookie(response, 'referral', referral_code)
elif request.user.is_authenticated:
pop_cookie(response, 'referral')
return response

@ -15,8 +15,8 @@ from django.utils.translation import ugettext_lazy as _
# Create your models here.
from registration.signals import user_activated
from cart.models import Buying
from cart.signals import buying_bought
# from cart.models import Buying
# from cart.signals import buying_bought
from core.models import AbstractStatusModel, STATUS_ACTIVE, STATUS_CHOICES
from referral.mixins import StatsFormatterMixin
from referral.utils import get_cookie
@ -106,6 +106,7 @@ def update_ref_stats(sender, user, request, **kwargs):
logger.warning("Missing referral code in database: " + referral_code)
@receiver(buying_bought, sender=Buying)
def charge_referral_points(sender, buying, *args, **kwargs):
pass
# @receiver(buying_bought, sender=Buying)
# def charge_referral_points(sender, buying, *args, **kwargs):
# pass
#

@ -10,8 +10,10 @@
<div class="col-md col-md-2 col-5">
<ul class="footer__menu">
<li><a href="{% url 'products:product_list' %}">Каталог</a></li>
<li><a href="{% url 'news:blog' %}">Новости</a></li>
<li><a href="{% url 'cart:discounts' %}">Акции</a></li>
{# <li><a href="{% url 'news:blog' %}">Новости</a></li>#}
{# <li><a href="{% url 'cart:discounts' %}">Акции</a></li>#}
<li><a href="#">Новости</a></li>
<li><a href="#">Акции</a></li>
<li><a href="{% url 'django.contrib.flatpages.views.flatpage' url='about-us/' %}">О компании</a></li>
</ul>
</div>

@ -15,10 +15,12 @@
<a href="{% url 'products:product_list' %}">Каталог</a>
</li>
<li>
<a href="{% url 'news:blog' %}">Новости</a>
{# <a href="{% url 'news:blog' %}">Новости</a>#}
<a href="#">Новости</a>
</li>
<li>
<a href="{% url 'cart:discounts' %}">Акции</a>
{# <a href="{% url 'cart:discounts' %}">Акции</a>#}
<a href="#">Акции</a>
</li>
<li>
<a href="{% url 'django.contrib.flatpages.views.flatpage' url='about-us/' %}">О компании</a>
@ -51,7 +53,8 @@
</div>
{% endif %}
{% if request.user.is_authenticated %}
<a href="{% url 'cart:buyings' %}" class="header__cart">
{# <a href="{% url 'cart:buyings' %}" class="header__cart">#}
<a href="#" class="header__cart">
<img src="{% static "img/header/cart-icon.svg" %}"
alt="Перейти в корзину">
{% if cart|length > 0 %}

@ -4,8 +4,10 @@
<div class="container">
<ul class="mobail-menu__list">
<li><a href="{% url 'products:product_list' %}">Каталог</a></li>
<li><a href="{% url 'news:blog' %}">Новости</a></li>
<li><a href="{% url 'cart:discounts' %}">Акции</a></li>
{# <li><a href="{% url 'news:blog' %}">Новости</a></li>#}
{# <li><a href="{% url 'cart:discounts' %}">Акции</a></li>#}
<li><a href="#">Новости</a></li>
<li><a href="#">Акции</a></li>
<li><a href="{% url 'django.contrib.flatpages.views.flatpage' url='about-us/' %}">О компании</a></li>
{% if not user.is_authenticated %}
<li><a href="{% url 'accounts_ext:register' %}">Регистрация</a></li>

Loading…
Cancel
Save