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))
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 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))
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/')
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 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/')
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))
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/')
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))
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/')
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/')
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))
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/')
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/')
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/')
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/')
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))
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 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))
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))
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))
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))
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))
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/')
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 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 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/')
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))
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 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/')
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 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/')
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/')
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))
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))
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 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_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))
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/')
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/')
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/')
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/')
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/')
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/')
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/')
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")
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/')
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))