コード例 #1
0
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,
    })
コード例 #2
0
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,
    })
コード例 #3
0
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,
    })
コード例 #4
0
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,
        })
コード例 #5
0
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,
        })
コード例 #6
0
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,
    })
コード例 #7
0
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,
    })
コード例 #8
0
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,
    })
コード例 #9
0
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,
    })
コード例 #10
0
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,
    })
コード例 #11
0
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,
    })
コード例 #12
0
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,
    })
コード例 #13
0
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,
    })
コード例 #14
0
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,
    })
コード例 #15
0
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,
    })
コード例 #16
0
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,
        })
コード例 #17
0
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,
        })
コード例 #18
0
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,
        })
コード例 #19
0
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,
        })
コード例 #20
0
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,
    })
コード例 #21
0
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,
    })
コード例 #22
0
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,
    })
コード例 #23
0
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,
    })
コード例 #24
0
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,
        })
コード例 #25
0
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,
        })
コード例 #26
0
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,
    })
コード例 #27
0
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
        })