Esempio n. 1
0
def register_distributor(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')

    registration_result = ""

    if request.method == 'POST':  # Formulário enviado
        form = RegisterDistributorForm(request.POST, request.FILES)

        if form.is_valid():
            checked_form = form.cleaned_data
            new_distributor = Distributor(name=checked_form['name'].strip())

            new_distributor.save()
            registration_result = SUCCESS_REGISTER_NEW_DISTRIBUTOR

            form = RegisterDistributorForm()

    else:  # Página acessada via link (método GET)
        form = RegisterDistributorForm()

    return render_to_response('bookstore/register_distributor.html', {
        'form': form,
        'registration_result': registration_result,
        'is_manager': validate_manager_session(request),
        'is_seller': validate_seller_session(request)
    },
                              context_instance=RequestContext(request))
Esempio n. 2
0
def show_user_informations(request, id):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        user = User.objects.get(id=id)
        phones = Phone.objects.filter(user=user.id)

        information = {}
        str_phones = []

        for phone in phones:
            str_phones.append("( " + phone.ddd + " ) " + phone.number)

        information['name'] = user.first_name + " " + user.last_name
        information['login'] = user.login
        information['email'] = user.email
        information['phones'] = str_phones
        if len(user.address.all()) == 0:
            information['address'] = ""
        else:
            address = user.address.all()[0]
            information['address'] = address.street + " " + address.number + " " + \
            address.complement + " - " + address.neighborhood + " - CEP: " + \
            address.zipcode

        return render_to_response(
            'library/show_user_informations.html', {
                'information': information,
                'is_manager': validate_manager_session(request),
                'is_seller': validate_seller_session(request)
            },
            context_instance=RequestContext(request))
Esempio n. 3
0
def show_user_informations(request, id):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        user = User.objects.get(id=id)
        phones = Phone.objects.filter(user = user.id)

        information = {}   
        str_phones = []
             
        for phone in phones:
            str_phones.append("( " + phone.ddd + " ) " + phone.number)
            
        information['name'] = user.first_name + " " + user.last_name
        information['login'] = user.login
        information['email'] = user.email
        information['phones'] = str_phones
        if len(user.address.all()) == 0:
            information['address'] = ""
        else:
            address = user.address.all()[0]
            information['address'] = address.street + " " + address.number + " " + \
            address.complement + " - " + address.neighborhood + " - CEP: " + \
            address.zipcode
        
        return render_to_response('library/show_user_informations.html', 
                                  {'information': information,
                                   'is_manager': validate_manager_session(request),
                                   'is_seller': validate_seller_session(request)
                                   }, 
                                  context_instance=RequestContext(request))   
Esempio n. 4
0
def register_distributor(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    
    registration_result = ""
        
    if request.method == 'POST': # Formulário enviado
        form = RegisterDistributorForm(request.POST, request.FILES)
        
        if form.is_valid():
            checked_form = form.cleaned_data            
            new_distributor = Distributor(name = checked_form['name'].strip())
            
            new_distributor.save()                        
            registration_result = SUCCESS_REGISTER_NEW_DISTRIBUTOR
            
            form = RegisterDistributorForm()    
            
    else: # Página acessada via link (método GET)
        form = RegisterDistributorForm()
        
    return render_to_response('bookstore/register_distributor.html', 
                              {'form': form,
                               'registration_result': registration_result,
                               'is_manager': validate_manager_session(request),
                               'is_seller': validate_seller_session(request)
                               }, 
                              context_instance=RequestContext(request))
Esempio n. 5
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')      
                 
    return render_to_response('user_profiles/register_employee.html', 
                              {'is_manager': validate_manager_session(request),
                               'is_seller': validate_seller_session(request)},
                              context_instance=RequestContext(request))
Esempio n. 6
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:   
        return render_to_response('bookstore/manage_bookstore.html', 
                                  {
                                   'is_manager': validate_manager_session(request),
                                   'is_seller': validate_seller_session(request)
                                   }, 
                                   context_instance=RequestContext(request))
Esempio n. 7
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        return render_to_response(
            'bookstore/manage_bookstore.html', {
                'is_manager': validate_manager_session(request),
                'is_seller': validate_seller_session(request)
            },
            context_instance=RequestContext(request))
def index(request):    
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        form_bookstore_book = RegisterBookstoreBookForm()
        return render_to_response('bookstore/register_bookstore_book.html', 
                                  {'form_bookstore_book': form_bookstore_book,
                                   'is_manager': validate_manager_session(request),
                                   'is_seller': validate_seller_session(request)
                                   },
                                  context_instance=RequestContext(request)) 
Esempio n. 9
0
def index(request):    
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        form_payment = RegisterPaymentForm()
        return render_to_response('financial/register_payment.html', 
                                  {
                                   'form_payment': form_payment,
                                   'is_manager': validate_manager_session(request),
                                   'is_seller': validate_seller_session(request) 
                                   },
                                  context_instance=RequestContext(request)) 
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')

    form = GenerateSaleReportForm()

    return render_to_response('financial/generate_sale_report.html', {
        'form': form,
        'is_manager': validate_manager_session(request),
        'is_seller': validate_seller_session(request)
    },
                              context_instance=RequestContext(request))
Esempio n. 11
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        form_bookstore_book = RegisterBookstoreBookForm()
        return render_to_response(
            'bookstore/register_bookstore_book.html', {
                'form_bookstore_book': form_bookstore_book,
                'is_manager': validate_manager_session(request),
                'is_seller': validate_seller_session(request)
            },
            context_instance=RequestContext(request))
Esempio n. 12
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        form_invoice = RegisterInvoiceForm()
        return render_to_response(
            'financial/register_invoice.html', {
                'form_invoice': form_invoice,
                'is_manager': validate_manager_session(request),
                'is_seller': validate_seller_session(request)
            },
            context_instance=RequestContext(request))
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        form = GenerateMonthBalanceForm()
            
        return render_to_response('financial/generate_month_balance.html', 
                                  {
                                   'form': form,
                                   'is_manager': validate_manager_session(request),
                                   'is_seller': validate_seller_session(request) 
                                   },
                                  context_instance=RequestContext(request))
Esempio n. 14
0
def show(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')

    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')

    if request.method == 'GET' and 'purchase_order' in request.GET:
        form = PurchaseOrderForm(request.GET, request.FILES)

        if form.is_valid():
            checked_form = form.cleaned_data
            purchase_order = checked_form['purchase_order']

            items = purchase_order.itens.all()

            items_grid_format = [
                PurchaseItemGridFormat(item) for item in items
            ]

            partial_response = serializers.serialize("json", items_grid_format)

            items_json = json.loads(partial_response)
            response_dic = {
                'read_only': purchase_order.date_of_order is not None,
                'items': items_json,
            }

            response = json.dumps(response_dic)
            return HttpResponse(response, mimetype="text/javascript")
        else:
            return HttpResponse([], mimetype="text/javascript")
    else:
        return HttpResponseRedirect('/gerenciarlivraria/')
Esempio n. 15
0
def register_publisher(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    
    result = {}
    result['success_message'] = ""
    result['error_message'] = ""
    result['validation_message'] = []  
         
    if request.method == 'GET' and 'publisher_name' in request.GET:
        form = RegisterPublisherForm(request.GET, request.FILES)
        
        if form.is_valid():
            checked_form = form.cleaned_data            
            new_publisher = Publisher(name = checked_form['publisher_name'].strip())
            
            new_publisher.save()           
            result['success_message'] = SUCCESS_REGISTER_NEW_PUBLISHER
                    
        else:                              
            if form._errors and 'publisher_name' in form._errors:
                if form._errors['publisher_name'][0] == ERROR_REQUIRED_PUBLISHER_NAME:
                    result['validation_message'].append(form._errors['publisher_name'][0])
                else:
                    result['error_message'] = form._errors['publisher_name'][0]
       
        response = json.dumps(result)                
        return HttpResponse(response, mimetype="text/javascript") 
    else:
        return HttpResponseRedirect('/acervo/') 
def register(request):

    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        result = {}
        result['success_message'] = ""
        result['error_message'] = ""
        result['validation_message'] = []      
              
        if request.method == 'GET' and 'book' in request.GET and \
                                       'price' in request.GET and \
                                       'total_quantity' in request.GET and \
                                       'available_quantity' in request.GET :
            
            form = RegisterBookstoreBookForm(request.GET, request.FILES)

            if form.is_valid():
                checked_form = form.cleaned_data
                book = checked_form['book']  
                price = checked_form['price']  
                total_quantity = checked_form['total_quantity']  
                available_quantity = checked_form['available_quantity']

                bookstore_book = BookstoreBook(id = book.id,
                                               total_quantity = total_quantity,
                                               available_quantity = available_quantity,
                                               suggested_price = Decimal(price),
                                               name = book.name,
                                               photo = book.photo,
                                               description = book.description,
                                               publisher = book.publisher, 
                                               )

                bookstore_book.save()
                             
                result['success_message'] = SUCCESS_REGISTER_BOOKSTORE_BOOK
                    
            else:                                 
                if form._errors and 'book' in form._errors:
                    if form._errors['book'][0] == ERROR_REQUIRED_BOOKSTORE_BOOK:
                        result['validation_message'].append(form._errors['book'][0])
                    else:
                        result['error_message'] = form._errors['book'][0]
                        
                if form._errors and 'price' in form._errors:
                    result['validation_message'].append(form._errors['price'][0]) 

                if form._errors and 'total_quantity' in form._errors:
                    result['validation_message'].append(form._errors['total_quantity'][0])  
                    
                if form._errors and 'available_quantity' in form._errors:
                    result['validation_message'].append(form._errors['available_quantity'][0]) 
                          
            response = json.dumps(result)   
            return HttpResponse(response, mimetype="text/javascript") 
        else:
            return HttpResponseRedirect('/gerenciarlivraria/') 
Esempio n. 17
0
def register_publisher(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')

    result = {}
    result['success_message'] = ""
    result['error_message'] = ""
    result['validation_message'] = []

    if request.method == 'GET' and 'publisher_name' in request.GET:
        form = RegisterPublisherForm(request.GET, request.FILES)

        if form.is_valid():
            checked_form = form.cleaned_data
            new_publisher = Publisher(
                name=checked_form['publisher_name'].strip())

            new_publisher.save()
            result['success_message'] = SUCCESS_REGISTER_NEW_PUBLISHER

        else:
            if form._errors and 'publisher_name' in form._errors:
                if form._errors['publisher_name'][
                        0] == ERROR_REQUIRED_PUBLISHER_NAME:
                    result['validation_message'].append(
                        form._errors['publisher_name'][0])
                else:
                    result['error_message'] = form._errors['publisher_name'][0]

        response = json.dumps(result)
        return HttpResponse(response, mimetype="text/javascript")
    else:
        return HttpResponseRedirect('/acervo/')
Esempio n. 18
0
def change_status(request):   
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    
    if request.method == 'POST': 
        
        user = None   
        id = request.session['user_id']          
        if User.objects.filter(id=id).exists() == True:
                user = User.objects.get(id=id)
                       
        profile_phrase = request.POST['description'] 
               
        if len(profile_phrase) > 100:
            error_msg = ERROR_MAX_LENGTH_STATUS
            return render_to_response('user_profiles/profile.html', 
                                      {'user': user,
                                       'error_msg': error_msg,
                                       'profile_phrase': profile_phrase, 
                                       'is_manager': validate_manager_session(request),
                                       'is_seller': validate_seller_session(request)}, 
                                       context_instance=RequestContext(request))
        else:
            user.set_profile_phrase(profile_phrase)
            user.save()
    return HttpResponseRedirect('/perfil/')
Esempio n. 19
0
def exclude(request, purchase_order_id):  
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    
    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    
    purchase_order = PurchaseOrder.objects.get(id=purchase_order_id)
    purchase_items = purchase_order.itens.all()
    
    for item in purchase_items:
        orders = item.book_order.all()
        
        for order in orders:
            order.return_order()
            order.save()
    
    purchase_order.delete()
    
    result = {}
    result['success_message'] = 'Pedido excluído com sucesso!'
  
    response = json.dumps(result)
    return HttpResponse(response, mimetype="text/javascript") 
    
Esempio n. 20
0
def register(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        result = {}
        result['success_message'] = ""
        result['validation_message'] = []      
              
        if request.method == 'GET' and 'book' in request.GET:   
            
            form = RegisterLibraryBookForm(request.GET, request.FILES)

            if form.is_valid():
                checked_form = form.cleaned_data
                book = checked_form['book']

                library_book = LibraryBook(book = book)
                library_book.save()
                
                new_book = LibraryBook.objects.order_by('-pk')[0]
                book_code = new_book.id
                             
                result['success_message'] = SUCCESS_REGISTER_LIBRARY_BOOK + str(book_code) + ')'
                result['book_id'] = str(book_code)
                    
            else:                                 
                if form._errors and 'book' in form._errors:
                        result['validation_message'].append(form._errors['book'][0])
                          
            response = json.dumps(result)   
            return HttpResponse(response, mimetype="text/javascript") 
        else:
            return HttpResponseRedirect('/gerenciarbiblioteca/') 
Esempio n. 21
0
def show(request):  
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    
    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    
    if request.method == 'GET' and 'purchase_order' in request.GET:   
        form = PurchaseOrderForm(request.GET, request.FILES)

        if form.is_valid():
            checked_form = form.cleaned_data
            purchase_order = checked_form['purchase_order']  
    
            items = purchase_order.itens.all()
            
            items_grid_format = [PurchaseItemGridFormat(item) for item in items]
            
            partial_response = serializers.serialize("json", items_grid_format)
    
            items_json = json.loads(partial_response)
            response_dic = {
                'read_only': purchase_order.date_of_order is not None,
                'items': items_json,
            }
    
            response = json.dumps(response_dic)
            return HttpResponse(response, mimetype="text/javascript")
        else:
            return HttpResponse([], mimetype="text/javascript")            
    else:
        return HttpResponseRedirect('/gerenciarlivraria/')
Esempio n. 22
0
def search(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/') 
    
    if request.method == 'POST':
        return HttpResponseRedirect('/cadastrarfuncionario/') 
    
    elif 'first_name' in request.GET and 'last_name' in request.GET and 'login' in request.GET and 'email' in request.GET:
        first_name = request.GET['first_name']
        last_name = request.GET['last_name']  
        login = request.GET['login']  
        email = request.GET['email']  
        
        kwargs = {}
        if(first_name != ""):
            kwargs['first_name__contains'] = first_name
        if(last_name != ""):
            kwargs['last_name__contains'] = last_name
        if(login != ""):
            kwargs['login'] = login
        if(email != ""):
            kwargs['email'] = email
        
        if(kwargs != {}):
            users = User.objects.filter(**kwargs).order_by('first_name')
        else:
            users = User.objects.all().order_by('first_name')
            
        response = serializers.serialize("json",  users)     
        return HttpResponse(response, mimetype="text/javascript")
    
    else:
        return HttpResponseRedirect('/cadastrarfuncionario/') 
Esempio n. 23
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')

    id = request.session['user_id']

    user = None
    if User.objects.filter(id=id).exists() == True:
        user = User.objects.get(id=id)

    result = ""

    if request.method == 'POST':  # Formulário enviado
        form = LibraryRegisterForm(request.POST, request.FILES)

        if form.is_valid():
            checked_form = form.cleaned_data
            street = checked_form['street']
            number = checked_form['number']
            complement = checked_form['complement']
            zipcode = checked_form['zipcode']
            neighborhood = checked_form['neighborhood']

            if len(user.address.all()) == 0:
                address = Address(user=user,
                                  street=street,
                                  number=number,
                                  complement=complement,
                                  zipcode=zipcode,
                                  neighborhood=neighborhood)
            else:
                address = user.address.all()[0]
                address.set_data(street, number, complement, zipcode,
                                 neighborhood)

            registered_phones = Phone.objects.filter(user=user.id)
            for phone in registered_phones:
                phone.delete()

            register_phone(user, checked_form['ddd1'], checked_form['phone1'])
            register_phone(user, checked_form['ddd2'], checked_form['phone2'])
            register_phone(user, checked_form['ddd3'], checked_form['phone3'])
            register_phone(user, checked_form['ddd4'], checked_form['phone4'])

            address.save()

            result = SUCCESS_LIBRARY_REGISTER

    else:  #método GET

        form = LibraryRegisterForm(instance=user)

    return render_to_response('library/library.html', {
        'form': form,
        'result': result,
        'is_manager': validate_manager_session(request),
        'is_seller': validate_seller_session(request)
    },
                              context_instance=RequestContext(request))
Esempio n. 24
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        form_author = RegisterAuthorForm() 
        form_publisher = RegisterPublisherForm() 
        form_book = RegisterBookForm() 
        return render_to_response('books/books_collection.html', 
                                  {
                                   'form_book':form_book,
                                   'form_author': form_author,
                                   'form_publisher':form_publisher,
                                   'is_manager': validate_manager_session(request),
                                   'is_seller': validate_seller_session(request)
                                   }, 
                                  context_instance=RequestContext(request)) 
Esempio n. 25
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        form_author = RegisterAuthorForm()
        form_publisher = RegisterPublisherForm()
        form_book = RegisterBookForm()
        return render_to_response(
            'books/books_collection.html', {
                'form_book': form_book,
                'form_author': form_author,
                'form_publisher': form_publisher,
                'is_manager': validate_manager_session(request),
                'is_seller': validate_seller_session(request)
            },
            context_instance=RequestContext(request))
Esempio n. 26
0
def index(request):   
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        form_borrow = BorrowBookForm()
        form_receive = ReceiveBookForm()
        form_library_book = RegisterLibraryBookForm()

        return render_to_response('library/manage_library.html', 
                                  {'form_library_book': form_library_book,
                                   'form_borrow': form_borrow,
                                   'form_receive': form_receive,
                                   'is_manager': validate_manager_session(request),
                                   'is_seller': validate_seller_session(request)
                                   }, 
                                  context_instance=RequestContext(request)) 
Esempio n. 27
0
def index(request):    
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        form_purchase_item = NewPurchaseItemForm()
        form_new_purchase_order = NewPurchaseOrderForm()
        form_purchase_order = PurchaseOrderForm()
        
        return render_to_response('bookstore/purchase_order.html', 
                                  {'form_purchase_item': form_purchase_item,
                                   'form_new_purchase_order': form_new_purchase_order,
                                   'form_purchase_order': form_purchase_order,
                                   'is_manager': validate_manager_session(request),
                                   'is_seller': validate_seller_session(request)
                                   },
                                  context_instance=RequestContext(request))
Esempio n. 28
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        form_borrow = BorrowBookForm()
        form_receive = ReceiveBookForm()
        form_library_book = RegisterLibraryBookForm()

        return render_to_response(
            'library/manage_library.html', {
                'form_library_book': form_library_book,
                'form_borrow': form_borrow,
                'form_receive': form_receive,
                'is_manager': validate_manager_session(request),
                'is_seller': validate_seller_session(request)
            },
            context_instance=RequestContext(request))
Esempio n. 29
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        form_purchase_item = NewPurchaseItemForm()
        form_new_purchase_order = NewPurchaseOrderForm()
        form_purchase_order = PurchaseOrderForm()

        return render_to_response(
            'bookstore/purchase_order.html', {
                'form_purchase_item': form_purchase_item,
                'form_new_purchase_order': form_new_purchase_order,
                'form_purchase_order': form_purchase_order,
                'is_manager': validate_manager_session(request),
                'is_seller': validate_seller_session(request)
            },
            context_instance=RequestContext(request))
Esempio n. 30
0
def register(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        result = {}
        result['success_message'] = ""
        result['error_message'] = ""
        result['validation_message'] = []

        if request.method == 'GET' and 'invoice' in request.GET and \
                                       'duplicate' in request.GET and \
                                       'payment_date' in request.GET:

            form = RegisterPaymentForm(request.GET, request.FILES)

            if form.is_valid():
                checked_form = form.cleaned_data
                form_duplicate = checked_form['duplicate']
                form_date = checked_form['payment_date']

                payment = Payment(payment_date=form_date)
                payment.save()

                payment = Payment.objects.order_by('-id')[0]
                duplicate = Duplicate.objects.get(id=form_duplicate.id)
                duplicate.set_payment(payment)
                duplicate.save()

                result['success_message'] = SUCCESS_REGISTER_PAYMENT

            else:
                if form._errors and 'invoice' in form._errors:
                    result['validation_message'].append(
                        form._errors['invoice'][0])

                if form._errors and 'duplicate' in form._errors:
                    if form._errors['duplicate'][
                            0] == ERROR_REQUIRED_DUPLICATE:
                        result['validation_message'].append(
                            form._errors['duplicate'][0])
                    else:
                        result['error_message'] = form._errors['duplicate'][0]

                if form._errors and 'payment_date' in form._errors:
                    result['validation_message'].append(
                        form._errors['payment_date'][0])

            response = json.dumps(result)
            return HttpResponse(response, mimetype="text/javascript")
        else:
            return HttpResponseRedirect('/gerenciarlivraria/')
def list_sales(request):     
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        result = {}
        result['validation_message'] = []
                        
        if request.method == 'GET' and 'initial_date' in request.GET and 'ending_date' in request.GET:
         
            form = GenerateSaleReportForm(request.GET, request.FILES)
            
            if form.is_valid():
                checked_form = form.cleaned_data
                initial_date = checked_form['initial_date']
                ending_date = checked_form['ending_date']
                
                shelf_sales = ShelfSale.objects.filter(date_of_sale__range = (initial_date, ending_date))
                order_sales = OrderSale.objects.filter(date_of_sale__range = (initial_date, ending_date))    
                
                shelf_sale_grid_format = get_shelf_sale_grid_format(shelf_sales)
                order_sale_grid_format = get_order_sale_grid_format(order_sales)
                
                sales = get_all_sales(shelf_sale_grid_format, order_sale_grid_format)  
                
                # Ordenando a lista
                sales.sort(key=lambda x: datetime.strptime(x.date, '%d/%m/%Y'))
                                
                total_sales_price = calculate_total_of_sales(shelf_sales, order_sales) 

                partial_response = serializers.serialize("json", sales)        
                sales_json = json.loads(partial_response)
                                    
                response_dic = {
                    'sales': sales_json,
                    'total_sales_price': str(total_sales_price),
                }
                
                response = json.dumps(response_dic)       
       
            else:
                if form._errors and 'initial_date' in form._errors:
                    result['validation_message'].append(form._errors['initial_date'][0])  
                                  
                if form._errors and 'ending_date' in form._errors:
                    result['validation_message'].append(form._errors['ending_date'][0])
       
                response = json.dumps(result)
                
            return HttpResponse(response, mimetype="text/javascript") 
        else:
            return HttpResponseRedirect('/gerenciarlivraria/') 
Esempio n. 32
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')  #tela de login

    form = EditAccountForm()

    return render_to_response('user_profiles/edit_account.html', {
        'form': form,
        'is_manager': validate_manager_session(request),
        'is_seller': validate_seller_session(request)
    },
                              context_instance=RequestContext(request))
Esempio n. 33
0
def index(request):    
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    elif validate_seller_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        form_shelfsale = ShelfSaleForm()
        return render_to_response('bookstore/sell_books.html', 
                                  {'form_shelf_sale': form_shelfsale,
                                   'is_manager': validate_manager_session(request),
                                   'is_seller': validate_seller_session(request)
                                   },
                                  context_instance=RequestContext(request)) 
Esempio n. 34
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') #tela de login
        
    form = EditAccountForm()  
        
    return render_to_response('user_profiles/edit_account.html', 
                              {
                               'form': form,
                               'is_manager': validate_manager_session(request),
                               'is_seller': validate_seller_session(request)
                               }, 
                               context_instance=RequestContext(request)) 
Esempio n. 35
0
def save(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/') 
    
    if request.method == 'GET' and 'users_ids' in request.GET and 'is_manager' in request.GET:        
        str_ids = request.GET['users_ids']
        is_manager = request.GET['is_manager'] 

        result = {}
        result['warning_message'] = ""
        result['success_message'] = ""
                
        str_array_ids = str_ids.split(',')
                  
        for id in str_array_ids:
            int_id = int(id)
            if User.objects.filter(id=int_id).exists() == True: 
                user = User.objects.get(id=int_id)
                                     
                if is_manager == 'false' and Seller.objects.filter(id=int_id).exists() == True:
                    result['warning_message'] += create_message(WARNING_ALREADY_REGISTERED_SELLER,
                                                                user.login)
                    
                elif is_manager == 'true' and Manager.objects.filter(id=int_id).exists() == True:
                    result['warning_message'] += create_message(WARNING_ALREADY_REGISTERED_MANAGER,
                                                                user.login)
                                        
                elif is_manager == 'false' and Seller.objects.filter(id=int_id).exists() == False:
                    seller = Seller(user_ptr_id = user.id)
                    seller.save()
                    user.save()
                    result['success_message'] += create_message(SUCCESS_REGISTER_SELLER,
                                                                user.login)
                    
                else: #cadastrar como gerente
                    seller = Seller(user_ptr_id = user.id)
                    if Seller.objects.filter(id=user.id).exists() == True:
                        seller = Seller.objects.get(id=user.id)
                    seller.save()
                    manager = Manager(seller_ptr_id = seller.id)
                    manager.save()    
                    user.save() 
                    result['success_message'] += create_message(SUCCESS_REGISTER_MANAGER,
                                                                user.login)
                    
        response = json.dumps(result)
        return HttpResponse(response, mimetype="text/javascript")
    else:
        return HttpResponseRedirect('/cadastrarfuncionario/') 
Esempio n. 36
0
def save(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')

    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')

    if request.method == 'POST':
        distributor_id = int(request.POST['distributor'])
        purchase_items = json.loads(request.POST['purchaseItems'])

        distributor = Distributor.objects.get(id=distributor_id)

        #TODO: Tirar o date_of_order e rodar syncdb
        purchase_order = PurchaseOrder(distributor=distributor)
        purchase_order.save()

        for purchase_item in purchase_items:
            book_id = int(purchase_item['bookId'])
            book_orders_ids = [int(p) for p in purchase_item['bookOrdersIds']]
            quantity = int(purchase_item['quantity'])

            # TODO: Tirar o price e rodar o syncdb
            purchase_item = PurchaseItem(
                book=BookstoreBook.objects.get(id=book_id),
                quantity=quantity,
                price=Decimal("100.00"))
            purchase_item.save()

            #TODO trocar para book_orders em PurchaseItem Model
            for book_order_id in book_orders_ids:
                book_order = BookOrder.objects.get(id=book_order_id)
                purchase_item.book_order.add(book_order)

                book_order.accept_order()
                book_order.save()

            #TODO trocar para items em PurchaseOrder Model
            purchase_order.itens.add(purchase_item)

        result = {}
        result['success_message'] = SUCCESS_NEW_PURCHASE_ORDER + str(
            purchase_order.id) + ")"
        result['purchase_order_id'] = str(purchase_order.id)

        response = json.dumps(result)
        return HttpResponse(response, mimetype="text/javascript")

    else:  #Método GET
        return HttpResponseRedirect('/gerenciarlivraria/pedidodecompra/')
Esempio n. 37
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_seller_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        form_shelfsale = ShelfSaleForm()
        return render_to_response(
            'bookstore/sell_books.html', {
                'form_shelf_sale': form_shelfsale,
                'is_manager': validate_manager_session(request),
                'is_seller': validate_seller_session(request)
            },
            context_instance=RequestContext(request))
Esempio n. 38
0
def register(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        result = {}
        result['success_message'] = ""
        result['error_message'] = ""
        result['validation_message'] = []      
              
        if request.method == 'GET' and 'invoice' in request.GET and \
                                       'duplicate' in request.GET and \
                                       'payment_date' in request.GET:
         
            form = RegisterPaymentForm(request.GET, request.FILES)

            if form.is_valid():
                checked_form = form.cleaned_data
                form_duplicate = checked_form['duplicate']  
                form_date = checked_form['payment_date']                
               
                payment = Payment(payment_date = form_date)
                payment.save()
                
                payment = Payment.objects.order_by('-id')[0]
                duplicate = Duplicate.objects.get(id=form_duplicate.id)
                duplicate.set_payment(payment)
                duplicate.save()
                
                result['success_message'] = SUCCESS_REGISTER_PAYMENT       
                    
            else:
                if form._errors and 'invoice' in form._errors:
                    result['validation_message'].append(form._errors['invoice'][0])  
                                  
                if form._errors and 'duplicate' in form._errors:
                    if form._errors['duplicate'][0] == ERROR_REQUIRED_DUPLICATE:
                        result['validation_message'].append(form._errors['duplicate'][0])
                    else:
                        result['error_message'] = form._errors['duplicate'][0]
                        
                if form._errors and 'payment_date' in form._errors:
                    result['validation_message'].append(form._errors['payment_date'][0]) 
       
            response = json.dumps(result)                
            return HttpResponse(response, mimetype="text/javascript") 
        else:
            return HttpResponseRedirect('/gerenciarlivraria/') 
Esempio n. 39
0
def list_loans(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        if request.method == 'GET':
            loans = Loan.objects.all().order_by('-loan_date')

            grid_loans = transform_to_grid_loan_list(loans)

            response = serializers.serialize("json", grid_loans)
            return HttpResponse(response, mimetype="text/javascript")
        else:
            return HttpResponseRedirect('/gerenciarbiblioteca/')
Esempio n. 40
0
def list_loans(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        if request.method == 'GET':                        
            loans = Loan.objects.all().order_by('-loan_date')
                  
            grid_loans = transform_to_grid_loan_list(loans)    
    
            response = serializers.serialize("json",  grid_loans)     
            return HttpResponse(response, mimetype="text/javascript")
        else:
            return HttpResponseRedirect('/gerenciarbiblioteca/')
Esempio n. 41
0
def save(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    
    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
                                        
    if request.method == 'POST':
        distributor_id = int(request.POST['distributor'])        
        purchase_items = json.loads(request.POST['purchaseItems'])
        
        distributor = Distributor.objects.get(id=distributor_id)
        
        #TODO: Tirar o date_of_order e rodar syncdb        
        purchase_order = PurchaseOrder(distributor=distributor)  
        purchase_order.save()
        
        for purchase_item in purchase_items:
            book_id = int(purchase_item['bookId'])
            book_orders_ids = [int(p) for p in purchase_item['bookOrdersIds']]
            quantity = int(purchase_item['quantity'])
            
            # TODO: Tirar o price e rodar o syncdb            
            purchase_item = PurchaseItem(book=BookstoreBook.objects.get(id=book_id),
                                         quantity=quantity,
                                         price=Decimal("100.00"))  
            purchase_item.save()
            
            #TODO trocar para book_orders em PurchaseItem Model
            for book_order_id in book_orders_ids:
                book_order = BookOrder.objects.get(id=book_order_id)                                
                purchase_item.book_order.add(book_order)
                
                book_order.accept_order()
                book_order.save()
                
            #TODO trocar para items em PurchaseOrder Model    
            purchase_order.itens.add(purchase_item)
    
        result = {}
        result['success_message'] = SUCCESS_NEW_PURCHASE_ORDER + str(purchase_order.id) + ")"   
        result['purchase_order_id'] = str(purchase_order.id)
      
        response = json.dumps(result)
        return HttpResponse(response, mimetype="text/javascript") 
    
    else: #Método GET
        return HttpResponseRedirect('/gerenciarlivraria/pedidodecompra/')
Esempio n. 42
0
def conclude(request, purchase_order_id):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')

    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')

    purchase_order = PurchaseOrder.objects.get(id=purchase_order_id)

    purchase_order.conclude()
    purchase_order.save()

    result = {}
    result['success_message'] = SUCCESS_ENDING_PURCHASE_ORDER

    response = json.dumps(result)
    return HttpResponse(response, mimetype="text/javascript")
Esempio n. 43
0
def conclude(request, purchase_order_id):  
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    
    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    
    purchase_order = PurchaseOrder.objects.get(id=purchase_order_id)
    
    purchase_order.conclude()
    purchase_order.save()        
    
    result = {}
    result['success_message'] = SUCCESS_ENDING_PURCHASE_ORDER
  
    response = json.dumps(result)
    return HttpResponse(response, mimetype="text/javascript")
Esempio n. 44
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/') #tela de login
    
    id = request.session['user_id']
    
    user = None
    
    if User.objects.filter(id=id).exists() == True:
        user = User.objects.get(id=id)     
            
    favorite_books = user.favorite_books.all()
               
    return render_to_response('user_profiles/profile.html', 
                              {'user': user,
                               'favorite_books': favorite_books,
                               'is_manager': validate_manager_session(request),
                               'is_seller': validate_seller_session(request)}, 
                               context_instance=RequestContext(request))
Esempio n. 45
0
def show_book_informations(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    elif request.method == 'GET' and 'book_id' in request.GET:
        str_id = request.GET['book_id']

        book_list = []
        if (str_id != ""):
            book_id = int(str_id)
            library_book = LibraryBook.objects.get(id=book_id)
            book = LibraryBookGridFormat(library_book)
            book_list.append(book)

        response = serializers.serialize("json", book_list)
        return HttpResponse(response, mimetype="text/javascript")
    else:
        return HttpResponseRedirect('/gerenciarbiblioteca/')
Esempio n. 46
0
def show_book_informations(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    elif request.method == 'GET' and 'book_id' in request.GET:   
        str_id = request.GET['book_id'] 
        
        book_list = []
        if(str_id != ""):                     
            book_id = int(str_id)            
            library_book = LibraryBook.objects.get(id=book_id)
            book = LibraryBookGridFormat(library_book)            
            book_list.append(book)
               
        response = serializers.serialize("json", book_list)     
        return HttpResponse(response, mimetype="text/javascript")
    else:
        return HttpResponseRedirect('/gerenciarbiblioteca/')        
Esempio n. 47
0
def edit(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')  #tela de login

    if request.method == 'POST':  # Formulário enviado
        form = EditAccountForm(request.POST, request.FILES)
        result = ""

        if form.is_valid():
            checked_form = form.cleaned_data

            id = request.session['user_id']

            if User.objects.filter(id=id).exists() == True:
                user = User.objects.get(id=id)

            if checked_form['login'].strip() != "":
                user.login = checked_form['login'].strip().lower()
            if checked_form['password'] != "":
                user.set_encrypted_password(checked_form['password'])

            if checked_form['login'].strip(
            ) == "" and checked_form['password'] == "":
                result = WARNING_EDIT_ACCOUNT
            else:
                user.save()
                result = SUCCESS_EDIT_ACCOUNT

            form = EditAccountForm()

        return render_to_response(
            'user_profiles/edit_account.html', {
                'form': form,
                'result': result,
                'is_manager': validate_manager_session(request),
                'is_seller': validate_seller_session(request)
            },
            context_instance=RequestContext(request))

    return HttpResponseRedirect('/perfil/')  #se o método nao for POST
Esempio n. 48
0
def edit(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') #tela de login

    id = request.session['user_id']

    user = None    
    if User.objects.filter(id=id).exists() == True:
        user = User.objects.get(id=id)
    
    result = ""
           
    if request.method == 'POST': # Formulário enviado    
        form = EditProfileForm(request.POST, request.FILES)
        
        if form.is_valid():
            checked_form = form.cleaned_data
            
            data = {}
            data['first_name'] = checked_form['first_name']
            data['last_name'] = checked_form['last_name']
            data['photo'] = checked_form['photo']
            data['institution'] = checked_form['institution']
            data['gender'] = checked_form['gender']
            data['birthday'] = checked_form['birthday']

            user.set_profile_data(data)          
            user.save()
            result = SUCCESS_EDIT_PROFILE
            
    else: #método GET          
        form = EditProfileForm(instance=user)      
    
    return render_to_response('user_profiles/edit_profile.html', 
                              {'form': form,
                               'result': result, 
                               'is_manager': validate_manager_session(request),
                               'is_seller': validate_seller_session(request)}, 
                              context_instance=RequestContext(request))
Esempio n. 49
0
def register(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        result = {}
        result['success_message'] = ""
        result['validation_message'] = []

        if request.method == 'GET' and 'book' in request.GET:

            form = RegisterLibraryBookForm(request.GET, request.FILES)

            if form.is_valid():
                checked_form = form.cleaned_data
                book = checked_form['book']

                library_book = LibraryBook(book=book)
                library_book.save()

                new_book = LibraryBook.objects.order_by('-pk')[0]
                book_code = new_book.id

                result[
                    'success_message'] = SUCCESS_REGISTER_LIBRARY_BOOK + str(
                        book_code) + ')'
                result['book_id'] = str(book_code)

            else:
                if form._errors and 'book' in form._errors:
                    result['validation_message'].append(
                        form._errors['book'][0])

            response = json.dumps(result)
            return HttpResponse(response, mimetype="text/javascript")
        else:
            return HttpResponseRedirect('/gerenciarbiblioteca/')
Esempio n. 50
0
def edit(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') #tela de login
    
    if request.method == 'POST': # Formulário enviado
        form = EditAccountForm(request.POST, request.FILES)
        result = "" 
        
        if form.is_valid():
            checked_form = form.cleaned_data
            
            id = request.session['user_id']
        
            if User.objects.filter(id=id).exists() == True:
                user = User.objects.get(id=id)     
            
            if checked_form['login'].strip() != "":
                user.login = checked_form['login'].strip().lower()
            if checked_form['password'] != "":  
                user.set_encrypted_password(checked_form['password']) 
                      
            if checked_form['login'].strip() == "" and checked_form['password'] == "":
                result = WARNING_EDIT_ACCOUNT 
            else:
                user.save()            
                result = SUCCESS_EDIT_ACCOUNT    
        
            form = EditAccountForm()  

        return render_to_response('user_profiles/edit_account.html', 
                                  {'form': form,
                                   'result': result, 
                                   'is_manager': validate_manager_session(request),
                                   'is_seller': validate_seller_session(request)}, 
                                   context_instance=RequestContext(request))
            
    return HttpResponseRedirect('/perfil/') #se o método nao for POST        
Esempio n. 51
0
def exclude(request, purchase_order_id):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')

    if validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')

    purchase_order = PurchaseOrder.objects.get(id=purchase_order_id)
    purchase_items = purchase_order.itens.all()

    for item in purchase_items:
        orders = item.book_order.all()

        for order in orders:
            order.return_order()
            order.save()

    purchase_order.delete()

    result = {}
    result['success_message'] = 'Pedido excluído com sucesso!'

    response = json.dumps(result)
    return HttpResponse(response, mimetype="text/javascript")
def calculate(request):           
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        result = {}
        result['validation_message'] = []
        result['error_message'] = "" 
            
        if request.method == 'GET' and 'month' in request.GET and 'year' in request.GET:
            form = GenerateMonthBalanceForm(request.GET, request.FILES)
            
            if form.is_valid():
                checked_form = form.cleaned_data
                str_month = checked_form['month']
                str_year = checked_form['year']
                
                int_month = int(str_month)
                int_year = int(str_year)
                
                previous_month_year = get_previous_month_year(int_month, int_year)
                
                previous_balance = get_previous_balance(previous_month_year)     
                sale_total = get_total_of_sales(int_month, int_year)        
                payment_total = get_total_of_payments(int_month, int_year)
                current_balance = previous_balance + sale_total - payment_total
                                                  
                result['previous_balance'] = str(previous_balance)
                result['sale_total'] = str(sale_total)
                result['payment_total'] = str(payment_total)
                result['current_balance'] = str(current_balance)     
                                              
                if MonthBalance.objects.filter(month = int_month, year = int_year).exists() == False:                 
                    balance = MonthBalance (month = int_month,
                                            year = int_year,
                                            value = current_balance)
                    balance.save()
                    
                else:
                    balance = MonthBalance.objects.get(month = int_month, year = int_year)
                    
                    if (int_year < date.today().year) or (int_year == date.today().year \
                                                          and int_month < date.today().month):
                        result['current_balance'] = str(balance.value)
                    else:    
                        balance.update_value(current_balance)
                        balance.save()
                
            if form._errors and 'month' in form._errors:
                result['validation_message'].append(form._errors['month'][0])  
                              
            if form._errors and 'year' in form._errors:
                if form._errors['year'][0] == ERROR_MISSING_PREVIOUS_BALANCE:
                    result['error_message'] = form._errors['year'][0]
                else:
                    result['validation_message'].append(form._errors['year'][0])
       
            response = json.dumps(result)
            return HttpResponse(response, mimetype="text/javascript") 
        else:
            return HttpResponseRedirect('/gerenciarlivraria/') 
def list_sales(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        result = {}
        result['validation_message'] = []

        if request.method == 'GET' and 'initial_date' in request.GET and 'ending_date' in request.GET:

            form = GenerateSaleReportForm(request.GET, request.FILES)

            if form.is_valid():
                checked_form = form.cleaned_data
                initial_date = checked_form['initial_date']
                ending_date = checked_form['ending_date']

                shelf_sales = ShelfSale.objects.filter(
                    date_of_sale__range=(initial_date, ending_date))
                order_sales = OrderSale.objects.filter(
                    date_of_sale__range=(initial_date, ending_date))

                shelf_sale_grid_format = get_shelf_sale_grid_format(
                    shelf_sales)
                order_sale_grid_format = get_order_sale_grid_format(
                    order_sales)

                sales = get_all_sales(shelf_sale_grid_format,
                                      order_sale_grid_format)

                # Ordenando a lista
                sales.sort(key=lambda x: datetime.strptime(x.date, '%d/%m/%Y'))

                total_sales_price = calculate_total_of_sales(
                    shelf_sales, order_sales)

                partial_response = serializers.serialize("json", sales)
                sales_json = json.loads(partial_response)

                response_dic = {
                    'sales': sales_json,
                    'total_sales_price': str(total_sales_price),
                }

                response = json.dumps(response_dic)

            else:
                if form._errors and 'initial_date' in form._errors:
                    result['validation_message'].append(
                        form._errors['initial_date'][0])

                if form._errors and 'ending_date' in form._errors:
                    result['validation_message'].append(
                        form._errors['ending_date'][0])

                response = json.dumps(result)

            return HttpResponse(response, mimetype="text/javascript")
        else:
            return HttpResponseRedirect('/gerenciarlivraria/')
Esempio n. 54
0
def register(request):

    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_manager_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        result = {}
        result['success_message'] = ""
        result['error_message'] = ""
        result['validation_message'] = []

        if request.method == 'GET' and 'book' in request.GET and \
                                       'price' in request.GET and \
                                       'total_quantity' in request.GET and \
                                       'available_quantity' in request.GET :

            form = RegisterBookstoreBookForm(request.GET, request.FILES)

            if form.is_valid():
                checked_form = form.cleaned_data
                book = checked_form['book']
                price = checked_form['price']
                total_quantity = checked_form['total_quantity']
                available_quantity = checked_form['available_quantity']

                bookstore_book = BookstoreBook(
                    id=book.id,
                    total_quantity=total_quantity,
                    available_quantity=available_quantity,
                    suggested_price=Decimal(price),
                    name=book.name,
                    photo=book.photo,
                    description=book.description,
                    publisher=book.publisher,
                )

                bookstore_book.save()

                result['success_message'] = SUCCESS_REGISTER_BOOKSTORE_BOOK

            else:
                if form._errors and 'book' in form._errors:
                    if form._errors['book'][
                            0] == ERROR_REQUIRED_BOOKSTORE_BOOK:
                        result['validation_message'].append(
                            form._errors['book'][0])
                    else:
                        result['error_message'] = form._errors['book'][0]

                if form._errors and 'price' in form._errors:
                    result['validation_message'].append(
                        form._errors['price'][0])

                if form._errors and 'total_quantity' in form._errors:
                    result['validation_message'].append(
                        form._errors['total_quantity'][0])

                if form._errors and 'available_quantity' in form._errors:
                    result['validation_message'].append(
                        form._errors['available_quantity'][0])

            response = json.dumps(result)
            return HttpResponse(response, mimetype="text/javascript")
        else:
            return HttpResponseRedirect('/gerenciarlivraria/')