Example #1
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))
Example #2
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/')
Example #3
0
def login(request):
    c = {}
    c.update(csrf(request))

    if validate_session(request) == True:
        return HttpResponseRedirect("/perfil/")

    if request.method == "POST":  # Formulário enviado
        provided_login = request.POST["login"].strip().lower()
        provided_password = request.POST["password"]
        registered_user = None

        if User.objects.filter(login=provided_login).exists() == True:
            registered_user = User.objects.get(login=provided_login)
        if provided_login == "" or provided_password == "":
            c["error"] = ERROR_MANDATORY_FIELDS
        elif registered_user is None:
            c["error"] = ERROR_LOGIN_NOT_REGISTERED
        elif registered_user.member_since is None:
            c["error"] = ERROR_INACTIVE_ACCOUNT
        elif compare_passwords(provided_password, registered_user.password) == False:
            c["error"] = ERROR_INVALID_PASSWORD
        else:  # sucesso na validação
            create_session(request, registered_user.id)
            return HttpResponseRedirect("perfil/")

    context = RequestContext(request, c)
    template = loader.get_template("user_profiles/login.html")
    return HttpResponse(template.render(context))
Example #4
0
def cancel_orders(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')

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

    if request.method == 'GET' and 'order_ids' in request.GET:
        order_id = int(request.GET['order_ids'])

        order = BookOrder.objects.get(id=order_id)

        if (order.situation == 'R' or order.situation == 'A' or \
            order.situation == 'D' or order.situation == 'V'):
            result['error_message'] = ERROR_CANCELING_ORDER
        elif (order.situation == 'C'):
            result['error_message'] = ERROR_ORDER_ALREADY_CANCELED
        else:
            order.cancel_order()
            order.save()
            result['success_message'] = SUCCESS_CANCELING_ORDER

        response = json.dumps(result)
        return HttpResponse(response, mimetype="text/javascript")
    else:
        return HttpResponseRedirect('/livraria/')
Example #5
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") 
    
Example #6
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/')
Example #7
0
def search_user_orders(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_seller_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        if request.method == 'GET' and 'login' in request.GET and 'email' in request.GET:
            user_login = request.GET['login'].strip()
            user_email = request.GET['email'].strip()
            user = None
            available_orders = []

            kwargs = {}
            if (user_login != ""):
                kwargs['login'] = user_login
            if (user_email != ""):
                kwargs['email'] = user_email

            if (kwargs != {}):
                if User.objects.filter(**kwargs).exists() == True:
                    user = User.objects.get(**kwargs)

            if user is not None:
                if BookOrder.objects.filter(user=user.id,
                                            situation="D").exists() == True:
                    available_orders = BookOrder.objects.filter(user=user.id,
                                                                situation="D")

            user_orders = transform_to_grid_order_list(available_orders)

            response = serializers.serialize("json", user_orders)
            return HttpResponse(response, mimetype="text/javascript")
        else:
            return HttpResponseRedirect('/vendas/')
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))
Example #9
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/')
Example #10
0
def login(request):
    c = {}
    c.update(csrf(request)) 

    if validate_session(request) == True:
        return HttpResponseRedirect('/perfil/')
           
    if request.method == 'POST': # Formulário enviado
        provided_login = request.POST['login'].strip().lower()   
        provided_password = request.POST['password']
        registered_user = None
        
        if User.objects.filter(login=provided_login).exists() == True:
            registered_user = User.objects.get(login=provided_login)  
        if(provided_login == "" or provided_password == ""):
            c['error'] = ERROR_MANDATORY_FIELDS
        elif registered_user is None:
            c['error'] = ERROR_LOGIN_NOT_REGISTERED
        elif registered_user.member_since is None:
            c['error'] = ERROR_INACTIVE_ACCOUNT
        elif compare_passwords(provided_password, registered_user.password) == False:
            c['error'] = ERROR_INVALID_PASSWORD
        else: #sucesso na validação
            create_session(request, registered_user.id)
            return HttpResponseRedirect('perfil/')
            
    context = RequestContext(request, c)
    template = loader.get_template('user_profiles/login.html')
    return HttpResponse(template.render(context))  
Example #11
0
def cancel_orders(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')

    result = {}
    result['success_message'] = ""
    result['error_message'] = ""
    result['warning_message'] = ""
    result['validation_message'] = []
            
    if request.method == 'GET' and 'order_ids' in request.GET:              
        order_id = int(request.GET['order_ids'])
 
        order = BookOrder.objects.get(id=order_id) 
        
        if (order.situation == 'R' or order.situation == 'A' or \
            order.situation == 'D' or order.situation == 'V'):
            result['error_message'] = ERROR_CANCELING_ORDER
        elif(order.situation == 'C'):
            result['error_message'] = ERROR_ORDER_ALREADY_CANCELED
        else:
            order.cancel_order()        
            order.save()
            result['success_message'] = SUCCESS_CANCELING_ORDER
            
        response = json.dumps(result)
        return HttpResponse(response, mimetype="text/javascript")
    else:
        return HttpResponseRedirect('/livraria/')
Example #12
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/')
Example #13
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))
Example #14
0
def order_books(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')

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

    if request.method == 'GET' and 'book_ids' in request.GET and 'quantity' in request.GET:
        if validate_quantity(request.GET['quantity']) == False:
            result['validation_message'].append(ERROR_INVALID_QUANTITY)
        else:
            book_id = int(request.GET['book_ids'])
            quantity = int(request.GET['quantity'])
            user_id = request.session['user_id']

            user = User.objects.get(id=user_id)
            book = BookstoreBook.objects.get(id=book_id)

            book_order = BookOrder(
                user=user,
                book=book,
                quantity=quantity,
                situation='S',  #Solicitada
                order_date=datetime.now())

            book_order.save()
            result['success_message'] = SUCCESS_ORDERING_BOOK

        response = json.dumps(result)
        return HttpResponse(response, mimetype="text/javascript")
    else:
        return HttpResponseRedirect('/livraria/')
Example #15
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/') 
Example #16
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/') 
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/') 
Example #18
0
def order_books(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')

    result = {}
    result['success_message'] = ""
    result['error_message'] = ""
    result['warning_message'] = ""
    result['validation_message'] = []
            
    if request.method == 'GET' and 'book_ids' in request.GET and 'quantity' in request.GET:              
        if validate_quantity(request.GET['quantity']) == False:
            result['validation_message'].append(ERROR_INVALID_QUANTITY)
        else:
            book_id = int(request.GET['book_ids'])
            quantity = int(request.GET['quantity'])  
            user_id = request.session['user_id']    
                
            user = User.objects.get(id=user_id)  
            book = BookstoreBook.objects.get(id=book_id)  
            
            book_order = BookOrder(user=user,
                                   book=book,
                                   quantity = quantity,
                                   situation='S', #Solicitada
                                   order_date= datetime.now())
            
            book_order.save()
            result['success_message'] = SUCCESS_ORDERING_BOOK
            
        response = json.dumps(result)
        return HttpResponse(response, mimetype="text/javascript")
    else:
        return HttpResponseRedirect('/livraria/') 
Example #19
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))   
Example #20
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/') 
Example #21
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))
Example #22
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
               
    return render_to_response('user_profiles/favorite_books.html', 
                              {'is_manager': validate_manager_session(request),
                               'is_seller': validate_seller_session(request)},
                              context_instance=RequestContext(request))
Example #23
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')

    return render_to_response('user_profiles/favorite_books.html', {
        'is_manager': validate_manager_session(request),
        'is_seller': validate_seller_session(request)
    },
                              context_instance=RequestContext(request))
Example #24
0
def index(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    else:
        return render_to_response(
            'bookstore/bookstore.html', {
                'is_manager': validate_manager_session(request),
                'is_seller': validate_seller_session(request)
            },
            context_instance=RequestContext(request))
Example #25
0
def index(request):   
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    else:   
        return render_to_response('bookstore/bookstore.html', 
                                  {
                                   'is_manager': validate_manager_session(request),
                                   'is_seller': validate_seller_session(request)
                                   }, 
                                   context_instance=RequestContext(request))
Example #26
0
def search_books(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')

    if request.method == 'POST':
        return HttpResponseRedirect('/biblioteca/')

    elif 'name' in request.GET and 'author' in request.GET and 'publisher' in request.GET:
        book_name = request.GET['name']
        author_name = request.GET['author']
        publisher_name = request.GET['publisher']

        all_books = []
        books = []

        #teste
        library_books = LibraryBook.objects.all()

        if (book_name != ""):
            for book in library_books:
                if book.book.name.upper().find(book_name.upper()) != -1:
                    all_books.append(book)
        else:
            all_books = library_books

        if (author_name != ""):
            for book in all_books:
                authors = book.book.authors.all()
                for author in authors:
                    if author.name.upper().find(author_name.upper()) != -1:
                        if not (book in books):
                            books.append(book)

        if (publisher_name != ""):
            for book in all_books:
                if book.book.publisher.name.upper().find(
                        publisher_name.upper()) != -1:
                    if not (book in books):
                        books.append(book)

        if (book_name == "") and (author_name == "") and (publisher_name
                                                          == ""):
            books = library_books
        elif (author_name == "") and (publisher_name == ""):
            for book in all_books:
                books.append(book)

        grid_books = transform_to_grid_book_list(books)

        response = serializers.serialize("json", grid_books)
        return HttpResponse(response, mimetype="text/javascript")

    else:
        return HttpResponseRedirect('/biblioteca/')
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/') 
Example #28
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))
Example #29
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/')
Example #30
0
def sell_order_book(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_seller_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        result = {}
        result['validation_message'] = []
        result['success_message'] = ""
        result['error_message'] = ""

        if request.method == 'GET' and 'order_id' in request.GET and 'order_price' in request.GET:

            if request.GET['order_id'] == "":
                result['validation_message'].append(
                    ERROR_NO_ORDER_ROW_SELECTED)

            if request.GET['order_price'] == "":
                result['validation_message'].append(ERROR_REQUIRED_ORDER_PRICE)
            else:
                valid_price = validate_price(request.GET['order_price'])
                if valid_price == None:
                    result['validation_message'].append(
                        ERROR_INVALID_ORDER_PRICE)

            if is_valid_order(request.GET['order_id']) == True:
                order = BookOrder.objects.get(id=int(request.GET['order_id']))
                if order.situation != "D" and len(
                        result['validation_message']) == 0:
                    result['error_message'] = ERROR_UNAVAILABLE_ORDER
            else:
                order = None
                if len(result['validation_message']) == 0:
                    result['error_message'] = ERROR_INVALID_ORDER

            if len(result['validation_message']
                   ) == 0 and result['error_message'] == "":
                book = BookstoreBook.objects.get(id=order.book.id)
                book.sell_order()
                order.sell_order()
                sale = OrderSale(date_of_sale=date.today(),
                                 price_of_sale=valid_price,
                                 book_order=order)
                sale.save()
                order.save()
                result['success_message'] = SUCCESS_SELLING_ORDER

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

        else:
            return HttpResponseRedirect('/vendas/')
Example #31
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)) 
Example #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)) 
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)) 
Example #34
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/') 
Example #35
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)) 
Example #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/')
Example #37
0
def sell_shelf_book(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    elif validate_seller_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else:
        result = {}
        result['validation_message'] = []
        result['success_message'] = ""
        result['error_message'] = ""

        if request.method == 'GET' and 'book_id' in request.GET and 'book_price' in request.GET:

            if request.GET['book_id'] == "":
                result['validation_message'].append(ERROR_REQUIRED_BOOK_ID)

            if request.GET['book_price'] == "":
                result['validation_message'].append(ERROR_REQUIRED_BOOK_PRICE)
            else:
                valid_price = validate_price(request.GET['book_price'])
                if valid_price == None:
                    result['validation_message'].append(
                        ERROR_INVALID_BOOK_PRICE)

            if is_valid_book(request.GET['book_id']) == True:
                book = BookstoreBook.objects.get(
                    id=int(request.GET['book_id']))
                if book.available_quantity == 0 and len(
                        result['validation_message']) == 0:
                    result['error_message'] = ERROR_UNAVAILABLE_BOOK
            else:
                book = None
                if len(result['validation_message']) == 0:
                    result['error_message'] = ERROR_INVALID_BOOK

            if len(result['validation_message']
                   ) == 0 and result['error_message'] == "":
                book.sell_book()
                sale = ShelfSale(date_of_sale=date.today(),
                                 price_of_sale=valid_price,
                                 book=book)
                sale.save()
                book.save()
                result['success_message'] = SUCCESS_SELLING_BOOK

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

        else:
            return HttpResponseRedirect('/vendas/')
Example #38
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))
Example #39
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))
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))
Example #41
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))
Example #42
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/') 
Example #43
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/')
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))
Example #45
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/')
Example #46
0
def sell_order_book(request):   
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    elif validate_seller_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else: 
        result = {}
        result['validation_message'] = []
        result['success_message'] = ""
        result['error_message'] = ""
            
        if request.method == 'GET' and 'order_id' in request.GET and 'order_price' in request.GET:   

            if request.GET['order_id'] == "":
                result['validation_message'].append(ERROR_NO_ORDER_ROW_SELECTED)
            
            if request.GET['order_price'] == "":
                result['validation_message'].append(ERROR_REQUIRED_ORDER_PRICE)
            else:
                valid_price = validate_price(request.GET['order_price']) 
                if valid_price == None:
                    result['validation_message'].append(ERROR_INVALID_ORDER_PRICE)

            if is_valid_order(request.GET['order_id']) == True:   
                order = BookOrder.objects.get(id=int(request.GET['order_id'])) 
                if order.situation != "D" and len(result['validation_message']) == 0:
                    result['error_message'] = ERROR_UNAVAILABLE_ORDER
            else:
                order = None
                if len(result['validation_message']) == 0:
                    result['error_message'] = ERROR_INVALID_ORDER

            if len(result['validation_message']) == 0 and result['error_message'] == "":   
                book = BookstoreBook.objects.get(id=order.book.id)
                book.sell_order()
                order.sell_order()
                sale = OrderSale(date_of_sale = date.today(),
                                 price_of_sale = valid_price,
                                 book_order = order) 
                sale.save()
                order.save() 
                result['success_message'] = SUCCESS_SELLING_ORDER 
                          
            response = json.dumps(result)
            return HttpResponse(response, mimetype="text/javascript")    
        
        else:
            return HttpResponseRedirect('/vendas/')
Example #47
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/')
Example #48
0
def remove_favorite_book(request, id):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    
    if request.method == 'GET': 

        user_id = request.session['user_id']          
        if User.objects.filter(id=user_id).exists() == True and Book.objects.filter(id=id).exists() == True:
            user = User.objects.get(id=user_id)    
            book = Book.objects.get(id=id)
            user.favorite_books.remove(book)
            
            response = serializers.serialize("json",  {})     
            return HttpResponse(response, mimetype="text/javascript")      
      
    return HttpResponseRedirect('/perfil/')
Example #49
0
def search_books(request):

    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
    
    if request.method == 'POST':
        return HttpResponseRedirect('/perfil/') 
    
    elif 'name' in request.GET and 'author' in request.GET and 'publisher' in request.GET:
        book_name = request.GET['name']
        author_name = request.GET['author']  
        publisher_name = request.GET['publisher']  
        
        books = []

        if(book_name != ""):
            all_books = Book.objects.filter(name__icontains = book_name)
        else:
            all_books = Book.objects.all()
        
        if(author_name != ""):
            for book in all_books:
                authors = book.authors.all()
                for author in authors:
                    if author.name.upper().find( author_name.upper()) != -1:
                        books.append(book)

        if(publisher_name != ""):
            for book in all_books:
                if book.publisher.name.upper().find( publisher_name.upper()) != -1:
                    if not (book in books):
                        books.append(book)     
                       
        if (book_name == "") and (author_name == "") and (publisher_name == ""):
            books = Book.objects.all()  
        elif (author_name == "") and (publisher_name == ""):
            for book in all_books:
                books.append(book)    
          
        grid_books = transform_to_grid_book_list(books)    
 
        response = serializers.serialize("json",  grid_books)     
        return HttpResponse(response, mimetype="text/javascript")
    
    else:
        return HttpResponseRedirect('/perfil/')     
Example #50
0
def list_loans(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')

    if request.method == 'GET':
        user_id = request.session['user_id']

        user = User.objects.get(id=user_id)

        loans = Loan.objects.filter(user=user)

        user_loans = transform_to_grid_loan_list(loans)

        response = serializers.serialize("json", user_loans)
        return HttpResponse(response, mimetype="text/javascript")
    else:
        return HttpResponseRedirect('/biblioteca/')
Example #51
0
def sell_shelf_book(request):   
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/') 
    elif validate_seller_session(request) == False:
        return HttpResponseRedirect('/perfil/')
    else: 
        result = {}
        result['validation_message'] = []
        result['success_message'] = ""
        result['error_message'] = ""
            
        if request.method == 'GET' and 'book_id' in request.GET and 'book_price' in request.GET:   

            if request.GET['book_id'] == "":
                result['validation_message'].append(ERROR_REQUIRED_BOOK_ID)
            
            if request.GET['book_price'] == "":
                result['validation_message'].append(ERROR_REQUIRED_BOOK_PRICE)
            else:
                valid_price = validate_price(request.GET['book_price']) 
                if valid_price == None:
                    result['validation_message'].append(ERROR_INVALID_BOOK_PRICE)

            if is_valid_book(request.GET['book_id']) == True:   
                book = BookstoreBook.objects.get(id=int(request.GET['book_id'])) 
                if book.available_quantity == 0 and len(result['validation_message']) == 0:
                    result['error_message'] = ERROR_UNAVAILABLE_BOOK
            else:
                book = None
                if len(result['validation_message']) == 0:
                    result['error_message'] = ERROR_INVALID_BOOK

            if len(result['validation_message']) == 0 and result['error_message'] == "":   
                book.sell_book()
                sale = ShelfSale(date_of_sale = date.today(),
                                 price_of_sale = valid_price,
                                 book = book) 
                sale.save()
                book.save() 
                result['success_message'] = SUCCESS_SELLING_BOOK
                          
            response = json.dumps(result)
            return HttpResponse(response, mimetype="text/javascript")    
        
        else:
            return HttpResponseRedirect('/vendas/')
Example #52
0
def list_orders(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')

    if request.method == 'GET':
        user_id = request.session['user_id']

        user = User.objects.get(id=user_id)

        orders = BookOrder.objects.filter(user=user).order_by('-order_date')

        user_orders = transform_to_grid_order_list(orders)

        response = serializers.serialize("json", user_orders)
        return HttpResponse(response, mimetype="text/javascript")
    else:
        return HttpResponseRedirect('/livraria/')
Example #53
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")
Example #54
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")
Example #55
0
def list_orders(request):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')
            
    if request.method == 'GET':              
        user_id = request.session['user_id']    
            
        user = User.objects.get(id=user_id)  
        
        orders = BookOrder.objects.filter(user=user).order_by('-order_date')
            
        user_orders = transform_to_grid_order_list(orders)    

        response = serializers.serialize("json",  user_orders)     
        return HttpResponse(response, mimetype="text/javascript")
    else:
        return HttpResponseRedirect('/livraria/')
Example #56
0
def remove_favorite_book(request, id):
    if validate_session(request) == False:
        return HttpResponseRedirect('/logout/')

    if request.method == 'GET':

        user_id = request.session['user_id']
        if User.objects.filter(
                id=user_id).exists() == True and Book.objects.filter(
                    id=id).exists() == True:
            user = User.objects.get(id=user_id)
            book = Book.objects.get(id=id)
            user.favorite_books.remove(book)

            response = serializers.serialize("json", {})
            return HttpResponse(response, mimetype="text/javascript")

    return HttpResponseRedirect('/perfil/')
Example #57
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))