def detail_post(request, post_slug): post = get_object_or_404(blog_models.Post, slug=post_slug) comments = blog_models.Comment.objects.filter(post=post.id, status=1, parent_id__isnull=True).order_by("created_date") images = general_models.Image.objects.filter(album=post.album) blog_filter_form = blog_forms.PostFilter() num_comments = len(blog_models.Comment.objects.filter(post=post.id, status=1)) #related_posts = related_posts(post.title, post.category, post.tags, post.author) shoppingcart = shop_views.getShoppingCart(request.session) comment_form = getCommentForm(request) return render(request, "post_detail.html", { # 'comment_parent_id': 1, "post": post, "related_posts": related_posts(post_slug), "images": images, #"categories": getBlogCategories(), "comments":comments, "num_comments": num_comments, "comment_form": comment_form, #"answer_form": getCommentForm(request), 'blog_filter_form': blog_filter_form, #'shoppingcart_form': getShoppingCart(), "search_form": general_views.getSearchForm(), 'subscribe_form': general_views.getSubscribeForm(), 'shoppingcart': shoppingcart, })
def home(request): from blog import models as blog_models from blog import views as blog_views from shop import models as shop_models from shop import forms as shop_forms from shop import views as shop_views from awards import models as award_models from awards import views as award_views last_posts = blog_views.last_posts() # last_products = shop_models.Product.objects.filter(status=1, stock__gte=1).order_by("-created_date")[:6] # next events # best_awards = award_models.Award.objects.filter(status=1).order_by("-created_date")[:3] shoppingcart = shop_views.getShoppingCart(request.session) return render(request, "home.html", { "search_form":getSearchForm(), "last_posts": last_posts, "last_products": shop_views.last_products(), "best_awards": award_views.best_awards(), 'subscribe_form': getSubscribeForm(), 'shoppingcart_form': shop_forms.ShoppingCartForm(), 'shoppingcart': shoppingcart, })
def custom_reset_password(request): from shop import views as shop_views if request.method == 'POST': form = general_forms.CustomPasswordResetForm(data=request.POST) if form.is_valid(): data = form.cleaned_data email = data['email'] current_site = get_current_site(request) mail_subject = 'Activa tu cuenta.' message = render_to_response('confirmation_email.html', { 'user': user, 'domain': current_site.domain, 'uid': urlsafe_base64_encode(force_bytes(user.pk)), 'token': account_activation_token.make_token(user), }) to_email = form.cleaned_data.get('email') email = EmailMessage(mail_subject, message, to_email) email.send() #sendEmail(request) return redirect('home') else: form = general_forms.CustomPasswordResetForm() shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'custom_password_reset.html', { "search_form": getSearchForm, "form": form, 'subscribe_form': getSubscribeForm(), 'shoppingcart': shoppingcart, })
def nutrition(request): """ View for nutrition section Search nutritional information """ food_information = None nutrition_filter_form = getNutritionFilterForm(request) if nutrition_filter_form.is_valid(): food_name = nutrition_filter_form.cleaned_data['name'] print(food_name) else: food_name = None if food_name is not None: food_information = getNutritionixApiInformation(food_name) #food_information = json.loads(food_information) print(food_information) shoppingcart = shop_views.getShoppingCart(request.session) return render( request, 'nutrition.html', { "search_form": general_views.getSearchForm(), 'subscribe_form': general_views.getSubscribeForm(), 'search_food_form': getNutritionFilterForm(request), 'food_information': food_information, 'shoppingcart': shoppingcart, })
def health(request): shoppingcart = shop_views.getShoppingCart(request.session) return render( request, 'health.html', { "search_form": general_views.getSearchForm(), 'subscribe_form': general_views.getSubscribeForm(), 'shoppingcart': shoppingcart, })
def legal_information(request): from shop import views as shop_views shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'aviso_legal.html', { "search_form":getSearchForm(), 'subscribe_form': getSubscribeForm(), 'shoppingcart': shoppingcart, })
def health_profile(request, username): from shop import views as shop_views shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'health_profile.html', { "search_form": getSearchForm(), 'subscribe_form': getSubscribeForm(), 'shoppingcart': shoppingcart, })
def know_us_company(request, companyname): from shop import views as shop_views company = models.Company.objects.get(slug=companyname) shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'company.html', { "company": company, "search_form":getSearchForm(), 'subscribe_form': getSubscribeForm(), 'shoppingcart': shoppingcart, })
def category_posts(request, category): category = blog_models.Category.objects.get(slug=category) posts = blog_models.Post.objects.filter(status=1, category=category.id) shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'post_list.html', { "posts":posts, "categories": getBlogCategories(), "search_form": general_views.getSearchForm(), 'subscribe_form': general_views.getSubscribeForm(), 'shoppingcart': shoppingcart, })
def author_posts(request, username): author = User.objects.get(username=username) posts = blog_models.Post.objects.filter(status=1, author=author.id) categories = blog_models.Category.objects.order_by("name") shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'post_list.html', { "posts":posts, "categories": getBlogCategories(), "search_form": general_views.getSearchForm(), 'subscribe_form': general_views.getSubscribeForm(), 'shoppingcart': shoppingcart, })
def profile(request, username): """ View for user information section https://www.codementor.io/lakshminp/handling-multiple-forms-on-the-same-page-in-django-fv89t2s3j """ from shop import views as shop_views from PIL import Image print("profile view") user = User.objects.get(username=username) user_profile = general_models.UserProfile.objects.get(user_id=user.id) bank_information = general_models.BankInformation.objects.get(user_id=user.id, is_company=False) address = general_models.Address.objects.get(user_id=user.id, is_company=False) if request.method == 'POST' and 'user_profile' in request.POST: user_profile_form = general_forms.UserProfileForm(request.POST, request.FILES, instance=request.user.userprofile) if user_profile_form.is_valid(): user_profile_form.save() else: #print(user_profile_form.errors) user_profile_form = general_forms.UserProfileForm(instance=request.user.userprofile) if request.method == 'POST' and 'bank_information' in request.POST: bank_information_form = general_forms.BankInformationForm(data=request.POST, instance=bank_information) if bank_information_form.is_valid(): bank_information_form.save() else: bank_information_form = general_forms.BankInformationForm(instance=bank_information) if request.method == 'POST' and 'address' in request.POST: address_form = general_forms.AddressForm(data=request.POST, instance=address) if address_form.is_valid(): address_form.save() else: address_form = general_forms.AddressForm(instance=address) shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'profile.html', { "user": user, "bank_information_form": bank_information_form, "address_form": address_form, "user_profile_form": user_profile_form, "user_profile": user_profile, "search_form": getSearchForm(), 'subscribe_form': getSubscribeForm(), 'shoppingcart': shoppingcart, })
def know_us_collaborator(request, username): from shop import views as shop_views user = User.objects.get(username=username) collaborator = models.CollaboratorProfile.objects.get(user_id=user.id) shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'collaborator.html', { "collaborator": collaborator, "search_form":getSearchForm(), 'subscribe_form': getSubscribeForm(), 'shoppingcart': shoppingcart, })
def work_with_our(request): """ Vista que regitra a un colaborador y le da permisos """ from shop import views as shop_views if request.method == 'POST': # perfil colaborador user_form = general_forms.CustomRegisterColaboratorForm(data=request.POST) if user_form.is_valid(): data = user_form.cleaned_data user = user_form.save(commit=False) user.is_staff = True user.save() collaborator = general_models.CollaboratorProfile.objects.create(user_id = user.id) if data['blog_colaborator'] == True: blog_colaborator_group = Group.objects.get(name='colaboradores_blog') blog_colaborator_group.user_set.add(user) if data['shop_colaborator'] == True: shop_colaborator_group = Group.objects.get(name='colaboradores_tienda') shop_colaborator_group.user_set.add(user) """ if data['award_colaborator'] == True: award_colaborator_group = Group.objects.get(name='colaboradores_premios') award_colaborator_group.user_set.add(user) """ if data['sport_colaborator'] == True: sport_colaborator_group = Group.objects.get(name='colaboradores_deporte') sport_colaborator_group.user_set.add(user) if data['nutrition_colaborator'] == True: nutrition_colaborator_group = Group.objects.get(name='colaboradores_nutricion') nutrition_colaborator_group.user_set.add(user) if data['health_colaborator'] == True: health_colaborator_group = Group.objects.get(name='colaboradores_salud') health_colaborator_group.user_set.add(user) award_colaborator_group = Group.objects.get(name='colaboradores_premios') award_colaborator_group.user_set.add(user) return redirect('home') else: user_form = general_forms.CustomRegisterColaboratorForm() shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'work_with_our.html', { "user_form": user_form, 'subscribe_form': getSubscribeForm(), 'shoppingcart': shoppingcart, })
def tag_posts(request, tag_slug): print(tag_slug) tag = blog_models.Tag.objects.filter(slug=tag_slug) print(tag) posts = blog_models.Post.objects.filter(status=1, tags=tag) shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'post_list.html', { "posts":posts, "categories": getBlogCategories(), "search_form": general_views.getSearchForm(), 'subscribe_form': general_views.getSubscribeForm(), 'shoppingcart': shoppingcart, })
def know_us(request): from shop import views as shop_views collaborators = general_models.CollaboratorProfile.objects.all() companies = general_models.Company.objects.all() shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'know_us.html', { "search_form":getSearchForm(), "companies": companies, "collaborators": collaborators, 'subscribe_form': getSubscribeForm(), 'shoppingcart': shoppingcart, })
def award_detail(request, award_slug): """ View for award details """ award = award_models.Award.objects.filter(slug=award_slug) shoppingcart = shop_views.getShoppingCart(request.session) return render( request, 'award_detail.html', { 'award': award, 'awards_filter_form': getAwardsFilterForm(request), 'subscribe_form': general_views.getSubscribeForm(), "search_form": general_views.getSearchForm(), 'shoppingcart': shoppingcart, })
def sport(request): """ """ sport_information = None sport_filter_form = getSportFilterForm(request) shoppingcart = shop_views.getShoppingCart(request.session) return render( request, 'sport.html', { "search_form": general_views.getSearchForm(), 'subscribe_form': general_views.getSubscribeForm(), 'sport_filter_form': getSportFilterForm(request), 'sport_information': sport_information, 'shoppingcart': shoppingcart, })
def awards(request): """ """ awards_filter_form = getAwardsFilterForm(request) awards = None shoppingcart = shop_views.getShoppingCart(request.session) return render( request, 'awards.html', { "search_form": general_views.getSearchForm(), 'subscribe_form': general_views.getSubscribeForm(), 'awards_filter_form': getAwardsFilterForm(request), 'awards': awards, 'shoppingcart': shoppingcart, })
def awards_profile(request, username): """ View that returns the awards that a user has obtained """ user = User.objects.filter(username=username) awards = award_models.Award.objects.filter(users=user) print("secion de premios del perfil") print(awards) shoppingcart = shop_views.getShoppingCart(request.session) return render( request, 'awards_profile.html', { 'awards': awards, "search_form": general_views.getSearchForm(), 'subscribe_form': general_views.getSubscribeForm(), 'shoppingcart': shoppingcart, })
def custom_reset_password_form(request): from shop import views as shop_views if request.method == 'POST': form = general_forms.CustomPasswordResetForm(data=request.POST) if form.is_valid(): data = form.cleaned_data return redirect('home') else: form = general_forms.CustomPasswordResetForm() shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'custom_password_reset.html', { "search_form": getSearchForm, "form": form, 'subscribe_form': getSubscribeForm(), 'shoppingcart': shoppingcart, })
def contact(request): from shop import views as shop_views form = general_forms.ContactForm(request.POST or None) if form.is_valid(): email_form = form.cleaned_data.get("email") message_form = form.cleaned_data.get("mensaje") name_form = form.cleaned_data.get("nombre") asunto = 'Mensaje de contacto' email_to = email email_from = settings.EMAIL_HOST_USER email_message = "%s: %a enviado por %s" %(name_form, message_form, email_form) send_mail(asunto, email_from, email_to, email_message, fail_silently=True) shoppingcart = shop_views.getShoppingCart(request.session) return render(request, "contact.html", { "contact_form": form, "search_form":getSearchForm(), 'subscribe_form': getSubscribeForm(), 'shoppingcart': shoppingcart, })
def custom_login(request): from shop import views as shop_views if request.method == 'POST': print("metodo post") form = general_forms.CustomAuthenticationForm(data=request.POST) if form.is_valid(): print("formulario valido") data = form.cleaned_data user = authenticate(username=data['username'], password=data['password']) if user is not None: print("user correcto") if user.is_active: login(request, user) return redirect('home') #return HttpResponseRedirect(request.POST.get('next', reverse('index'))) """ if request.POST["next"] is not "": print("next no esta vacio") return HttpResponseRedirect(request.POST["next"]) else: print("next esta vacio") #HttpResponseRedirect(settings.LOGIN_REDIRECT_URL) return redirect(settings.LOGIN_REDIRECT_URL) """ else: print("metodo no post") form = general_forms.CustomAuthenticationForm() shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'custom_login.html', { "search_form": getSearchForm, "form": form, 'subscribe_form': getSubscribeForm(), 'shoppingcart': shoppingcart, })
def custom_registration(request): from shop import views as shop_views if request.method == 'POST': form = general_forms.CustomRegisterForm(data=request.POST) if form.is_valid(): user = form.save(commit=False) user.is_active = False user.save() #sendEmail(request) return redirect('home') else: form = general_forms.CustomRegisterForm() shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'custom_registration.html', { "search_form": getSearchForm, "form": form, 'subscribe_form': getSubscribeForm(), 'shoppingcart': shoppingcart, })
def day(request, username, year, month, day): month = int(month) year = int(year) day = int(day) last_day_number = monthrange(year, month)[1] if day > last_day_number: month = month + 1 day = 1 if month == 13: year = year + 1 month = 1 month = unicode(month) year = unicode(year) day = unicode(day) return redirect('calendar:day_calendar', username=username, year=year, month=month, day=day) if day == 0: month = month - 1 if month == 0: year = year - 1 month = 12 day = monthrange(year, month)[1] month = unicode(month) year = unicode(year) day = unicode(day) return redirect('calendar:day_calendar', username, year, month, day) day_name = getDayName(datetime.datetime(year, month, day).weekday()) month_name = getMonthName(month) previous_day = day - 1 next_day = day + 1 previous_day = unicode(previous_day) next_day = unicode(next_day) shoppingcart = shop_views.getShoppingCart(request.session) return render( request, 'day_calendar.html', { 'day': day, 'month': month, 'month_name': month_name, 'day_name': day_name, 'year': year, 'previous_day': previous_day, 'next_day': next_day, 'event_form': getEventform(request), "search_form": general_views.getSearchForm(), 'shoppingcart': shoppingcart, })
def collaborator_profile(request, username): """ Vista que muestra la informacion del perfil de colaborador """ from shop import views as shop_views print("collaborator view") user = User.objects.get(username=username) collaborator_profile = general_models.CollaboratorProfile.objects.get(user_id=user.id) try: company = general_models.Company.objects.get(user_id=user.id) except: company = None try: bank_information = general_models.BankInformation.objects.get(user_id=user.id, is_company=True) except: bank_information = None try: address = general_models.Address.objects.get(user_id=user.id, is_company=True) except: address = None if request.method == 'POST' and 'collaborator_profile' in request.POST: print("collaborator profile actualizado") collaborator_profile_form = general_forms.CollaboratorProfileForm(request.POST, request.FILES, instance=collaborator_profile) if collaborator_profile_form.is_valid(): #image = collaborator_profile_form.cleaned_data.get('collaborator_image') #collaborator_profile = collaborator_profile_form.save() #image = normalize_image(image, "collaborator") #collaborator_profile.collaborator_image = image collaborator_profile_form.save() else: print("collaborator profile no actualizado") collaborator_profile_form = general_forms.CollaboratorProfileForm(instance=collaborator_profile) if request.method == 'POST': if user.is_staff: if company is None: company_form = general_forms.CompanyForm(request.POST, request.FILES) if company_form.is_valid(): data = company_form.cleaned_data company_image = collaborator_profile_form.cleaned_data.get('collaborator_image') company_image = normalize_image(company_image, "company") company = general_models.Company.objects.create( user_id=user.id, company_name=data['company_name'], description=data['description'], phone=data['phone'], web=data['web'], company_image = company_image) company.save() else: company_form = general_forms.CompanyForm(request.POST, request.FILES, instance=company) if company_form.is_valid(): company_form.save() if bank_information is None: bank_information_form = general_forms.BankInformationForm(data=request.POST) if bank_information_form.is_valid(): data_bank_information = bank_information_form.cleaned_data # bank_information_form.save() data_bank_information = general_models.BankInformation.objects.create( bank_name = data_bank_information['bank_name'], account = data_bank_information['account'], month = data_bank_information['month'], year = data_bank_information['year'], security_code = data_bank_information['security_code'], user_id = user.id, is_company = True) else: bank_information_form = general_forms.BankInformationForm(data=request.POST, instance=bank_information) if bank_information_form.is_valid(): bank_information_form.save() if address is None: address_form = general_forms.AddressForm(data=request.POST) if address_form.is_valid(): data = address_form.cleaned_data address = general_models.Address.objects.create( user_id=user.id, address_name=data['address_name'], city=data['city'], postal_code=data['postal_code'], street = data['street'], number = data['number'], floor = data['floor'], door = data['door'], is_company = True) address.save() else: address_form = general_forms.AddressForm(data=request.POST, instance=address) if address_form.is_valid(): address_form.save() else: if company is None: company_form = general_forms.CompanyForm() else: company_form = general_forms.CompanyForm(instance=company) if bank_information is None: bank_information_form = general_forms.BankInformationForm() else: bank_information_form = general_forms.BankInformationForm(instance=bank_information) if address is None: address_form = general_forms.AddressForm() else: address_form = general_forms.AddressForm(instance=address) #collaborator_profile_form = general_forms.CollaboratorProfileForm(instance=collaborator_profile) shoppingcart = shop_views.getShoppingCart(request.session) return render(request, 'collaborator_profile.html', { "bank_information_form": bank_information_form, "address_form": address_form, "company_form": company_form, "company": company, "search_form": getSearchForm(), "collaborator_profile_form": collaborator_profile_form, "collaborator_profile": collaborator_profile, 'subscribe_form': getSubscribeForm(), 'shoppingcart': shoppingcart, })
def list_posts(request, blog_category_slug=None): category = None posts = blog_models.Post.objects.filter(status=1) # blog_filter_form = None if blog_category_slug: category = get_object_or_404(blog_models.Category, slug=blog_category_slug) post = posts.filter(category=category) if request.method == 'POST': blog_filter_form = blog_forms.PostFilter(request.POST) if blog_filter_form.is_valid(): data = blog_filter_form.cleaned_data if data['title'] is not None: print(data['title']) posts = posts.filter( Q(title__icontains=data["title"]) | Q(description__icontains=data["title"]) | Q(tags__name__icontains=data["title"])) if data['category'] is not None: print("categoria introducido") posts = posts.filter(category_id=data['category'].id) """ if data['minimum_date'] is not None: print("fecha minima introducido") posts = posts.filter(created_date__gte=data['minimum_date']) if data['maximum_date'] is not None: print("fecha maxima introducido") posts = posts.filter(created_date__lte=data['maximum_date']) """ if data['order_by'] == 1: print("ordenacion introducido") posts = posts.all().order_by('created_date') #posts = posts.all().order_by('-created_date') else: print(blog_filter_form.errors) else: blog_filter_form = blog_forms.PostFilter() posts = posts.all().order_by('-created_date') #print(posts) paginator = Paginator(posts, 12) page = request.GET.get('page') try: posts = paginator.page(page) except PageNotAnInteger: posts = paginator.page(1) except EmptyPage: posts = paginator.page(paginator.num_pages) shoppingcart = shop_views.getShoppingCart(request.session) return render(request, "post_list.html", { 'category': category, "posts": posts, #"categories": getBlogCategories(), 'blog_filter_form': blog_filter_form, #'shoppingcart_form': getShoppingCart(), "search_form": general_views.getSearchForm(), 'subscribe_form': general_views.getSubscribeForm(), 'shoppingcart': shoppingcart, })
def month(request, username, year, month): """ Calendar month view Calulate days of month """ month = int(month) year = int(year) if month == 0: year = year - 1 month = 12 month = unicode(month) year = unicode(year) return redirect('calendar:month_calendar', username=username, year=year, month=month) if month == 13: year = year + 1 month = 1 month = unicode(month) year = unicode(year) return redirect('calendar:month_calendar', username=username, year=year, month=month) first_day_of_week_number = monthrange(year, month)[0] last_day_number = monthrange(year, month)[1] previous_month = month - 1 next_month = month + 1 days = [] max_number = None num = 1 # calculate minimum and maximum calendar days if last_day_number == 28: if first_day_of_week_number == 0: max_number = 28 else: max_number = 35 elif last_day_number == 29: max_number = 35 elif last_day_number == 30: if first_day_of_week_number <= 5: max_number = 35 else: max_number = 42 elif last_day_number == 31: if first_day_of_week_number <= 4: max_number = 35 else: max_number = 42 else: max_number = None #create calendar days for item in range(0, max_number): if item >= first_day_of_week_number and num <= last_day_number: days.append(num) num += 1 else: days.append(0) month_name = getMonthName(month) month = unicode(month) year = unicode(year) previous_month = unicode(previous_month) next_month = unicode(next_month) shoppingcart = shop_views.getShoppingCart(request.session) return render( request, 'month_calendar.html', { 'days': days, 'month': month, 'month_name': month_name, 'year': year, 'previous_month': previous_month, 'next_month': next_month, 'event_form': getEventform(request), 'shoppingcart': shoppingcart, # 'type': 1, #'current_day': current_day, #'current_month': current_month, #'current_year': current_year })