def get(self, request, supplier_code): r = requests.get(url = SUPPLIER, params = {'supplier_code':supplier_code}) if r.status_code is 200: json_data = r.json() supplier_details = json_data['supplier_details'][0] supplier_type = json.loads(requests.get(SUPPLIER_TYPE).text) if supplier_details['effective_from']: #supplier_details['effective_from'] = supplier_details['effective_from'].replace('-', '/') supplier_details['effective_from'] = supplier_details['effective_from'].split(' ')[0] if supplier_details['effective_to']: #supplier_details['effective_to'] = supplier_details['effective_to'].replace('-', '/') supplier_details['effective_to'] = supplier_details['effective_to'].split(' ')[0] for line in supplier_details['supplier_master_sites']: line['last_updated_by'] = request.user.username if line['inactive_date']: #line['inactive_date'] = line['inactive_date'].replace('-', '/') line['inactive_date'] = line['inactive_date'].split(' ')[0] data= {'supplier_code' : supplier_type['lookup_details'], 'details' : json_data['supplier_details'][0]} if hasUpdateSupplierAccess(request.user): template = jinja_template.get_template('supplier/supplier-site-update.html') return HttpResponse(template.render(request, data=data)) else: template = jinja_template.get_template('supplier/supplier-site-view.html') return HttpResponse(template.render(request, data=data)) else: template = jinja_template.get_template('internal_server_error.html') return HttpResponse(template.render(request))
def post(self, request): if hasAddPurchaseRecordAccess(request.user): data = json.loads(request.body) data['order_status'] = 'BOOKED' data['created_by'] = request.user.username data['last_updated_by'] = request.user.username if data['transaction_date']: data['transaction_date'] = data['transaction_date'].replace( ' ', 'T') for line in data['purchase_trx_lines']: line['line_status'] = 'BOOKED' line['created_by'] = request.user.username line['last_updated_by'] = request.user.username jsondata = json.dumps(data) r = requests.post(url=PURCHASE_TRANSACTION, json=jsondata) if r.status_code is 200: to_json = {'message': 'ok'} return HttpResponse(json.dumps(to_json)) else: template = jinja_template.get_template( 'internal_server_error.html') return HttpResponse(template.render(request)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def post(self, request): if hasAddPurchaseRecordAccess(request.user): data = json.loads(request.body) data['order_status'] = 'OPEN' #data['purchase_trx_number'] = 'PO_'+ str(random.randint(0, 1000)) data['created_by'] = request.user.username data['last_updated_by'] = request.user.username # if data['transaction_date']: # data['transaction_date'] = data['transaction_date'].replace('/', '-') for line in data['purchase_trx_lines']: line['created_by'] = request.user.username line['last_updated_by'] = request.user.username if line['booking_unit_price'] == '': line.pop('booking_unit_price') if line['booking_quantity'] == '': line.pop('booking_quantity') jsondata = json.dumps(data) r = requests.post(url=PURCHASE_TRANSACTION, json=jsondata) if r.status_code is 200: to_json = {'message': 'ok'} return HttpResponse(json.dumps(to_json)) elif r.status_code == 422: to_json = json.loads(r.content)['errors'] return HttpResponse(json.dumps(to_json), status=422) else: template = jinja_template.get_template( 'internal_server_error.html') return HttpResponse(template.render(request)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def post(self, request): if hasAddSalesRecordAccess(request.user): data = json.loads(request.body) data['order_status'] = 'OPEN' data['created_by'] = request.user.username data['last_updated_by'] = request.user.username if data['transaction_date'] == '': data.pop('transaction_date') for line in data['sales_trx_lines']: line['created_by'] = request.user.username line['last_updated_by'] = request.user.username if line['booking_unit_price'] == '': line.pop('booking_unit_price') if line['booking_quantity'] == '': line.pop('booking_quantity') jsondata = json.dumps(data) r = requests.post(url=SALES_TRANSACTION, json=jsondata) if r.status_code is 200: to_json = {'message': 'ok'} return HttpResponse(json.dumps(to_json)) elif r.status_code == 422: to_json = json.loads(r.content)['errors'] return HttpResponse(json.dumps(to_json), status=422) else: template = jinja_template.get_template( 'internal_server_error.html') return HttpResponse(template.render(request)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def post(self, request): if hasAddSupplierAccess(request.user): data = json.loads(request.body) data['created_by'] = request.user.username data['last_updated_by'] = request.user.username if 'enabled_flag' in data.keys(): data['enabled_flag'] = 'Y' else: data['enabled_flag'] = 'N' if data['effective_from']: data['effective_from'] = data['effective_from'].replace('/', '-') data['effective_from'] = data['effective_from'].split(' ')[0] if data['effective_to']: data['effective_to'] = data['effective_to'].split(' ')[0] for line in data['supplier_master_sites']: data['effective_to'] = data['effective_to'].replace('/', '-') line['created_by'] = request.user.username line['last_updated_by'] = request.user.username if line['inactive_date']: line['inactive_date'] = line['inactive_date'].replace('/', '-') line['inactive_date'] = line['inactive_date'].split(' ')[0] jsondata = json.dumps(data) r = requests.post(url = SUPPLIER, json = jsondata) if r.status_code is 200: to_json = {'message':'ok'} return HttpResponse(json.dumps(to_json)) else: template = jinja_template.get_template('internal_server_error.html') return HttpResponse(template.render(request)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def get(self, request, supplier_code): r = requests.get(url=SUPPLIER, params={'supplier_code': supplier_code}) if r.status_code is 200: json_data = r.json() if hasUpdateSupplierAccess(request.user): supplier_type = json.loads(requests.get(SUPPLIER_TYPE).text) data = { 'supplier_code': supplier_type['lookup_details'], 'details': json_data['supplier_details'][0] } template = jinja_template.get_template( 'supplier/supplier-site-update.html') return HttpResponse(template.render(request, data=data)) else: template = jinja_template.get_template( 'supplier/sales-site-view.html') return HttpResponse(template.render(request, data=json_data[0])) else: template = jinja_template.get_template( 'internal_server_error.html') return HttpResponse(template.render(request))
def put(self, request): if hasUpdateSalesRecordAccess(request.user): data = json.loads(request.body) data['last_updated_by'] = request.user.username #data['transaction_date'] = data['transaction_date'].replace('/', '-') for line in data['sales_trx_lines']: if line['booking_unit_price'] == '': line.pop('booking_unit_price') if line['booking_quantity'] == '': line.pop('booking_quantity') line['last_updated_by'] = request.user.username if 'transaction_line_id' not in line.keys(): line['created_by'] = request.user.username jsondata = json.dumps(data) r = requests.put('{}'.format(SALES_TRANSACTION), json=jsondata) if r.status_code is 200: to_json = {'message': 'ok'} return HttpResponse(json.dumps(to_json)) elif r.status_code == 422: to_json = json.loads(r.content)['errors'] return HttpResponse(json.dumps(to_json), status=422) else: template = jinja_template.get_template( 'internal_server_error.html') return HttpResponse(template.render(request)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def put(self, request): if hasUpdatePurchaseRecordAccess(request.user): data = json.loads(request.body) data['last_updated_by'] = request.user.username data['transaction_date'] = data['transaction_date'].replace( ' ', 'T') for line in data['purchase_trx_lines']: if line['booking_unit_price'] == '': line.pop('booking_unit_price') if line['booking_quantity'] == '': line.pop('booking_quantity') if line['discount'] == '': line.pop('discount') if line['receipt_unit_price'] == '': line.pop('receipt_unit_price') if line['receipt_quantity'] == '': line.pop('receipt_quantity') line['last_updated_by'] = request.user.username if 'transaction_line_id' not in line.keys(): line['line_status'] = 'BOOKED' line['created_by'] = request.user.username jsondata = json.dumps(data) r = requests.put('{}'.format(PURCHASE_TRANSACTION), json=jsondata) if r.status_code is 200: to_json = {'message': 'ok'} return HttpResponse(json.dumps(to_json)) else: template = jinja_template.get_template( 'internal_server_error.html') return HttpResponse(template.render(request)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def get(self, request, transaction_number, challan_number): r = requests.get(url=SALES_TRANSACTION, params={'transaction_number': transaction_number}) if r.status_code is 200: json_data = r.json() if hasUpdatePurchaseRecordAccess(request.user): item_list = json.loads(requests.get(SALES_ITEM_LIST).text) uom = json.loads(requests.get(UNIT_OF_MEASURE).text) po_line_statuses = json.loads( requests.get(PURCHASE_ORDER_LINES_STATUS).text) po_header_statuses = json.loads( requests.get(PURCHASE_ORDER_HEADER_STATUS).text) po_type = json.loads(requests.get(PURCHASE_ORDER_TYPE).text) supplier_list = json.loads(requests.get(SUPPLIER_LIST).text) data = { 'user': request.user.username, 'po_type': po_type['purchaseOrderType'], 'supplier_list': supplier_list['supplierLists'], 'item_list': item_list['itemDetailsList'], 'uom': uom['UnitOfMeasure'], 'header_status': po_header_statuses['purchaseOrderHeaderStatus'], 'line_status': po_line_statuses['purchaseOrderLineStatus'], 'details': json_data['sales_trx_details'][0] } template = jinja_template.get_template( 'pdf-templates/sales-challan.html') html = template.render(request, data=data) response = BytesIO() pdf = pisa.pisaDocument(BytesIO(html.encode("ISO-8859-1")), response) if not pdf.err: resp = HttpResponse(response.getvalue(), content_type='application/pdf') resp[ 'Content-Disposition'] = 'attachment; filename="SalesChallan.pdf"' return resp else: return HttpResponse("Error Rendering PDF", status=400) else: template = jinja_template.get_template( 'sales/sales-line-view.html') return HttpResponse( template.render(request, data=json_data['purchase_trx_details'][0])) else: template = jinja_template.get_template( 'internal_server_error.html') return HttpResponse(template.render(request))
def get(self, request): if hasAddSupplierAccess(request.user): supplier_type = json.loads(requests.get(SUPPLIER_TYPE).text) data= {'supplier_type' : supplier_type['lookup_details'] } template = jinja_template.get_template('supplier/supplier-site-add.html') return HttpResponse(template.render(request, data=data)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def get(self, request): if hasAddCustomerAccess(request.user): customer_type = json.loads(requests.get(CUSTOMER_TYPE).text) data= {'customer_type' : customer_type['lookup_details'] } template = jinja_template.get_template('customer/customer-site-add.html') return HttpResponse(template.render(request, data={'details' : data})) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def post(self, request): form = login_form(request.POST) if form.is_valid(): username = form.data['username'] password = form.data['password'] PARAMS = {'userName': username, 'password': password} user = authenticate(username=username, password=password) if user is None: r = requests.get(url=ACCESS_RIGHT, params=PARAMS) if r.status_code is 200: json_data = r.json() _permissions = [] #data = json.loads(json_data) user = User.objects.create_user(username, '', password) for _group in Group.objects.filter( name=json_data['access']).all(): user.groups.add(_group) user.save() user = authenticate(username=username, password=password) else: template = jinja_template.get_template( 'login/page-relogin.html') return HttpResponse(template.render(request=request)) if user.is_active: request.session.set_expiry( 7200) #sets the exp. value of the session login(request, user) #the user is now logged in request.user = user # template = jinja_template.get_template('home.html') # return HttpResponse(template.render(request=request)) return redirect('home', permanent=True) else: return HttpResponse( defaults.page_not_found( request, Exception( 'message', 'Error while trying to login.. Please try again..' ), template_name='500.html')) else: template = jinja_template.get_template('login/page-relogin.html') return HttpResponse(template.render(request=request))
def get(self, request, transaction_number): r = requests.get(url=PURCHASE_TRANSACTION, params={'transaction_number': transaction_number}) if r.status_code is 200: json_data = r.json() if hasUpdatePurchaseRecordAccess(request.user): item_list = json.loads(requests.get(ITEM_LIST).text) uom = json.loads(requests.get(UNIT_OF_MEASURE).text) po_line_statuses = json.loads( requests.get(PURCHASE_ORDER_LINES_STATUS).text) po_header_statuses = json.loads( requests.get(PURCHASE_ORDER_HEADER_STATUS).text) po_type = json.loads(requests.get(PURCHASE_ORDER_TYPE).text) supplier_list = json.loads(requests.get(SUPPLIER_LIST).text) data = { 'user': request.user.username, 'po_type': po_type['purchaseOrderType'], 'supplier_list': supplier_list['supplierLists'], 'item_list': item_list['itemDetailsList'], 'uom': uom['UnitOfMeasure'], 'header_status': po_header_statuses['purchaseOrderHeaderStatus'], 'line_status': po_line_statuses['purchaseOrderLineStatus'], 'details': json_data['purchase_trx_details'][0] } template = jinja_template.get_template( 'sales/sales-line-update.html') return HttpResponse(template.render(request, data=data)) else: template = jinja_template.get_template( 'sales/sales-line-view.html') return HttpResponse( template.render(request, data=json_data['purchase_trx_details'][0])) else: template = jinja_template.get_template( 'internal_server_error.html') return HttpResponse(template.render(request))
def put(self, request): if hasUpdateCustomerAccess(request.user): data = json.loads(request.body) if data['enabled_flag']: data['enabled_flag'] = 'Y' else: data['enabled_flag'] = 'N' data['last_updated_by'] = request.user.username if data['effective_from'] == '': data.pop('effective_from') if data['effective_to'] == '': data.pop('effective_to') # if data['effective_from']: # data['effective_from'] = data['effective_from'].replace('/', '-') # #data['effective_from'] = data['effective_from'].split(' ')[0] # if data['effective_to']: # data['effective_to'] = data['effective_to'].replace('/', '-') # #data['effective_to'] = data['effective_to'].split(' ')[0] for line in data['customer_master_sites']: line['last_updated_by'] = request.user.username if 'customer_site_id' not in line.keys(): line['created_by'] = request.user.username # if line['inactive_date']: # line['inactive_date'] = line['inactive_date'].replace('/', '-') # #line['inactive_date'] = line['inactive_date'].split(' ')[0] jsondata = json.dumps(data) r = requests.put(CUSTOMER, json=jsondata) if r.status_code is 200: to_json = {'message': 'ok'} return HttpResponse(json.dumps(to_json)) elif r.status_code == 422: to_json = json.loads(r.content)['errors'] return HttpResponse(json.dumps(to_json), status=422) else: template = jinja_template.get_template( 'internal_server_error.html') return HttpResponse(template.render(request)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def get(self, request, transaction_number): if hasAddPurchaseRecordAccess(request.user): item_list = json.loads(requests.get(PURCHASE_ITEM_LIST).text) uom = json.loads(requests.get(UNIT_OF_MEASURE).text) # po_line_statuses = requests.get(PURCHASE_ORDER_LINES_STATUS) po_receipt_statuses = json.loads( requests.get(RECEIPT_LINE_STATUS).text) # po_type = json.loads(requests.get(PURCHASE_ORDER_TYPE).text) # supplier_list = json.loads(requests.get(SUPPLIER_LIST).text) # # data= {'user' : request.user.username, # 'po_type' : po_type['purchaseOrderType'], # 'supplier_list' : supplier_list['supplierLists'], # 'item_list' : item_list['itemDetailsList'], # 'uom' : uom['UnitOfMeasure'] # } data = {} data['created_by'] = request.user.username data['last_updated_by'] = request.user.username data['source_transaction_header_id'] = transaction_number data['source_transaction_type'] = 'PURCHASE' challan_data = json.loads(requests.post(RECEIPT, json=data).text) if challan_data['challan_date']: challan_data['challan_date'] = challan_data[ 'challan_date'].split(' ')[0] if 'receipt_date' in challan_data.keys(): if challan_data['receipt_date']: challan_data['receipt_date'] = challan_data[ 'receipt_date'].split(' ')[0] data = { 'transaction_number': transaction_number, 'item_list': item_list['itemDetailsList'], 'uom': uom['UnitOfMeasure'], 'po_receipt_statuses': po_receipt_statuses['lookup_details'], 'details': challan_data } template = jinja_template.get_template( 'purchase/purchase-receipt-update.html') return HttpResponse(template.render(request, data=data)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def get(self, request, transaction_number, challan_number): if hasAddPurchaseRecordAccess(request.user): item_list = json.loads(requests.get(PURCHASE_ITEM_LIST).text) uom = json.loads(requests.get(UNIT_OF_MEASURE).text) po_receipt_statuses = json.loads( requests.get(RECEIPT_LINE_STATUS).text) receipt_details = json.loads( requests.get(RECEIPT_SEARCH + 'challan_number=' + challan_number).text) if receipt_details['receipt_details'][0]['challan_date']: receipt_details['receipt_details'][0][ 'challan_date'] = receipt_details['receipt_details'][0][ 'challan_date'].split(' ')[0] if 'receipt_date' in receipt_details['receipt_details'][0].keys(): if receipt_details['receipt_details'][0]['receipt_date']: receipt_details['receipt_details'][0][ 'receipt_date'] = receipt_details['receipt_details'][ 0]['receipt_date'].split(' ')[0] receipt = clearDictionary(receipt_details['receipt_details'][0]) data = { 'transaction_number': transaction_number, 'item_list': item_list['itemDetailsList'], 'uom': uom['UnitOfMeasure'], 'po_receipt_statuses': po_receipt_statuses['lookup_details'], 'details': receipt } if receipt_details['receipt_details'][0][ 'receipt_header_status'] == 'OPEN': template = jinja_template.get_template( 'purchase/purchase-receipt-update.html') else: template = jinja_template.get_template( 'purchase/purchase-receipt-view-only.html') return HttpResponse(template.render(request, data=data)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def get(self, request): if hasAddSalesRecordAccess(request.user): item_list = json.loads(requests.get(SALES_ITEM_LIST).text) uom = json.loads(requests.get(UNIT_OF_MEASURE).text) # po_line_statuses = requests.get(PURCHASE_ORDER_LINES_STATUS) # po_header_statuses = requests.get(PURCHASE_ORDER_HEADER_STATUS) so_type = json.loads(requests.get(SALES_ORDER_TYPE).text) customer_list = json.loads(requests.get(CUSTOMER_LIST).text) data = { 'user': request.user.username, 'so_type': so_type['salesOrderType'], 'customer_list': customer_list['customerLists'], 'item_list': item_list['itemDetailsList'], 'uom': uom['UnitOfMeasure'] } template = jinja_template.get_template('sales/sales-line-add.html') return HttpResponse(template.render(request, data=data)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def get(self, request): if hasAddPurchaseRecordAccess(request.user): item_list = json.loads(requests.get(ITEM_LIST).text) uom = json.loads(requests.get(UNIT_OF_MEASURE).text) # po_line_statuses = requests.get(PURCHASE_ORDER_LINES_STATUS) # po_header_statuses = requests.get(PURCHASE_ORDER_HEADER_STATUS) po_type = json.loads(requests.get(PURCHASE_ORDER_TYPE).text) supplier_list = json.loads(requests.get(SUPPLIER_LIST).text) data = { 'user': request.user.username, 'po_type': po_type['purchaseOrderType'], 'supplier_list': supplier_list['supplierLists'], 'item_list': item_list['itemDetailsList'], 'uom': uom['UnitOfMeasure'] } template = jinja_template.get_template( 'purchase/purchase-line-add.html') return HttpResponse(template.render(request, data=data)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def get(self, request): supplier_type = json.loads(requests.get(SUPPLIER_TYPE).text) r = requests.get(url=SUPPLIER_SEARCH) if r.status_code is 200: json_data = r.json() data = { 'supplier_type': supplier_type['lookup_details'], 'suppliers': json_data['supplier_details'] } template = jinja_template.get_template( 'supplier/supplier-header-view.html') return HttpResponse(template.render(request, data=data)) else: return HttpResponse(defaults.server_error(request))
def get(self, request): supplier_list = json.loads(requests.get(SUPPLIER_LIST).text) po_header_statuses = json.loads(requests.get(PURCHASE_ORDER_HEADER_STATUS).text) r = requests.get(url = PURCHASE_TRANSACTION) if r.status_code is 200: json_data = r.json() data= {'supplier_list' : supplier_list['supplierLists'], 'header_status' : po_header_statuses['purchaseOrderHeaderStatus'], 'pos' : json_data['purchase_trx_details'] } template = jinja_template.get_template('purchase/purchase-header-view.html') return HttpResponse(template.render(request, data=data)) else: return HttpResponse(defaults.server_error(request))
def get(self, request): customer_type = json.loads(requests.get(CUSTOMER_TYPE).text) r = requests.get(url=CUSTOMER_SEARCH) if r.status_code is 200: json_data = r.json() data = { 'customer_type': customer_type['lookup_details'], 'customers': clearDictionary(json_data['customer_details'], '') } template = jinja_template.get_template( 'customer/customer-header-view.html') return HttpResponse(template.render(request, data=data)) else: return HttpResponse(defaults.server_error(request))
def get(self, request): receipt_header_statuses = json.loads( requests.get(RECEIPT_HEADER_STATUS).text) r = requests.get(url=RECEIPT, params={'source_transaction_type': 'SALES'}) if r.status_code is 200: json_data = r.json() data = { 'header_status': receipt_header_statuses['lookup_details'], 'pos': json_data['receipt_details'] } template = jinja_template.get_template( 'sales/sales-search-receipt.html') return HttpResponse(template.render(request, data=data)) else: return HttpResponse(defaults.server_error(request))
def get(self, request): customer_list = json.loads(requests.get(CUSTOMER_LIST).text) so_header_statuses = json.loads( requests.get(SALES_ORDER_HEADER_STATUS).text) r = requests.get(url=SALES_TRANSACTION) if r.status_code is 200: json_data = r.json() data = { 'customer_list': customer_list['customerLists'], 'header_status': so_header_statuses['lookup_details'], 'sos': json_data['sales_trx_details'] } template = jinja_template.get_template( 'sales/sales-header-view.html') return HttpResponse(template.render(request, data=data)) else: return HttpResponse(defaults.server_error(request))
def get(self, request, transaction_number, challan_number): if hasAddPurchaseRecordAccess(request.user): receipt_details = json.loads( requests.get(RECEIPT_SEARCH + 'challan_number=' + challan_number).text) receipt_details['receipt_details'][0][ 'receipt_header_status'] = 'CANCEL' receipt_details['receipt_details'][0].pop('created_by') receipt_details['receipt_details'][0].pop('creation_date') receipt_details['receipt_details'][0][ 'last_updated_by'] = request.user.username if 'receipt_lines' in receipt_details['receipt_details'][0].keys(): receipt_details['receipt_details'][0].pop('receipt_lines') if 'receipt_date' in receipt_details['receipt_details'][0].keys(): receipt_details['receipt_details'][0].pop('receipt_date') if 'receipt_number' in receipt_details['receipt_details'][0].keys( ): receipt_details['receipt_details'][0].pop('receipt_number') if 'challan_date' in receipt_details['receipt_details'][0].keys(): receipt_details['receipt_details'][0].pop('challan_date') if 'last_update_date' in receipt_details['receipt_details'][ 0].keys(): receipt_details['receipt_details'][0].pop('last_update_date') if 'bata' in receipt_details['receipt_details'][0].keys(): receipt_details['receipt_details'][0].pop('bata') if 'net_weight' in receipt_details['receipt_details'][0].keys(): receipt_details['receipt_details'][0].pop('net_weight') if 'average_weight' in receipt_details['receipt_details'][0].keys( ): receipt_details['receipt_details'][0].pop('average_weight') if 'total_bags' in receipt_details['receipt_details'][0].keys(): receipt_details['receipt_details'][0].pop('total_bags') jsondata = json.dumps(receipt_details['receipt_details'][0]) r = requests.put(url=RECEIPT, json=jsondata) if r.status_code is 200: to_json = {'message': 'ok'} return redirect('/purchase/' + transaction_number) elif r.status_code == 422: to_json = json.loads(r.content)['errors'] return HttpResponse(json.dumps(to_json), status=422) else: template = jinja_template.get_template( 'internal_server_error.html') return HttpResponse(template.render(request))
def get(self, request, transaction_number, challan_number): item_list = json.loads(requests.get(PURCHASE_ITEM_LIST).text) uom = json.loads(requests.get(UNIT_OF_MEASURE).text) # po_line_statuses = requests.get(PURCHASE_ORDER_LINES_STATUS) po_receipt_statuses = json.loads( requests.get(PURCHASE_ORDER_HEADER_STATUS).text) receipt_details = json.loads( requests.get(RECEIPT_SEARCH + 'challan_number=' + challan_number).text) if receipt_details['receipt_details'][0]['challan_date']: receipt_details['receipt_details'][0][ 'challan_date'] = receipt_details['receipt_details'][0][ 'challan_date'].split(' ')[0] # po_type = json.loads(requests.get(PURCHASE_ORDER_TYPE).text) # supplier_list = json.loads(requests.get(SUPPLIER_LIST).text) # # data= {'user' : request.user.username, # 'po_type' : po_type['purchaseOrderType'], # 'supplier_list' : supplier_list['supplierLists'], # 'item_list' : item_list['itemDetailsList'], # 'uom' : uom['UnitOfMeasure'] # } data = { 'transaction_number': transaction_number, 'item_list': item_list['itemDetailsList'], 'uom': uom['UnitOfMeasure'], 'po_receipt_statuses': po_receipt_statuses['purchaseOrderHeaderStatus'], 'details': receipt_details['receipt_details'][0] } template = jinja_template.get_template( 'pdf-templates/purchase_challan.html') html = template.render(request, data=data) response = BytesIO() pdf = pisa.pisaDocument(BytesIO(html.encode("utf-8")), response) if not pdf.err: resp = HttpResponse(response.getvalue(), content_type='application/pdf') resp[ 'Content-Disposition'] = 'attachment; filename="PurchaseChallan.pdf"' return resp else: return HttpResponse("Error Rendering PDF", status=400)
def put(self, request, transaction_number, challan_number): if hasAddSalesRecordAccess(request.user): data = json.loads(request.body) #data['source_transaction_header_id'] = transaction_number #data['source_transaction_type'] = 'PURCHASE' data['last_updated_by'] = request.user.username total_bags = 0 net_weight = 0 all_line_has_bags = False if 'receipt_lines' in data.keys(): all_line_has_bags = True for line in data['receipt_lines']: line['last_updated_by'] = request.user.username if 'number_of_bags' in line.keys(): if line['number_of_bags'] != '' and isFloat( line['number_of_bags']): item = json.loads( requests.get(ITEM_DETAILS + line['item_id']).text) line['quantity'] = float( item['item_details'][0]['conversion']) * float( line['number_of_bags']) if line['adjust'] != '' and isFloat( line['adjust']): line['quantity'] = line['quantity'] - float( line['adjust']) total_bags += float(line['number_of_bags']) net_weight += line['quantity'] all_line_has_bags = all_line_has_bags & True else: line.pop('number_of_bags') all_line_has_bags = all_line_has_bags & False line.pop('adjust') if line['unit_price'] == '': line.pop('unit_price') if line['item_id'] == '': line.pop('item_id') if line['load_unload_area'] == '': line.pop('load_unload_area') if line['discount'] == '': line.pop('discount') if 'receipt_line_id' in line.keys(): if line['receipt_line_id'] == '': line.pop('receipt_line_id') data['total_bags'] = total_bags data['net_weight'] = net_weight jsondata = json.dumps(data) r = requests.put(url=RECEIPT, json=jsondata) if r.status_code is 200: to_json = {'message': 'ok'} return HttpResponse(json.dumps(to_json), status=200) elif r.status_code == 422: to_json = json.loads(r.content)['errors'] return HttpResponse(json.dumps(to_json), status=422) else: template = jinja_template.get_template( 'internal_server_error.html') return HttpResponse(template.render(request)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def put(self, request, transaction_number, challan_number): if hasAddPurchaseRecordAccess(request.user): data = json.loads(request.body) #data['source_transaction_header_id'] = transaction_number #data['source_transaction_type'] = 'PURCHASE' data['last_updated_by'] = request.user.username if data['bata'] == '': data.pop('bata') if data['net_weight'] == '': data.pop('net_weight') total_bags = 0 all_line_has_bags = False if 'receipt_lines' in data.keys(): all_line_has_bags = True for line in data['receipt_lines']: line['last_updated_by'] = request.user.username if 'number_of_bags' in line.keys(): if line['number_of_bags'] != '' and isFloat( line['number_of_bags']): total_bags += float(line['number_of_bags']) all_line_has_bags = all_line_has_bags & True else: line.pop('number_of_bags') all_line_has_bags = all_line_has_bags & False if line['unit_price'] == '': line.pop('unit_price') if line['item_id'] == '': line.pop('item_id') line['quantity'] = 0 if line['load_unload_area'] == '': line.pop('load_unload_area') if line['discount'] == '': line.pop('discount') if 'receipt_line_id' in line.keys(): if line['receipt_line_id'] == '': line.pop('receipt_line_id') if total_bags > 0 and 'bata' in data.keys( ) and 'net_weight' in data.keys() and all_line_has_bags: net_weight = float(data['net_weight']) weight = net_weight - float(data['bata']) average_weight = weight / total_bags for line in data['receipt_lines']: line['quantity'] = average_weight * float( line['number_of_bags']) data['average_weight'] = average_weight data['total_bags'] = total_bags else: data['average_weight'] = 0 data['total_bags'] = 0 jsondata = json.dumps(data) r = requests.put(url=RECEIPT, json=jsondata) if r.status_code is 200: to_json = {'message': 'ok'} return HttpResponse(json.dumps(to_json), status=200) elif r.status_code == 422: to_json = json.loads(r.content)['errors'] return HttpResponse(json.dumps(to_json), status=422) else: template = jinja_template.get_template( 'internal_server_error.html') return HttpResponse(template.render(request)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request))
def get(self, request): template = jinja_template.get_template('home.html') return HttpResponse(template.render(request))
def get(self, request): template = jinja_template.get_template('login/page-login.html') return HttpResponse(template.render(request))
def get(self, request, transaction_number): r = requests.get(url=SALES_TRANSACTION, params={'transaction_number': transaction_number}) if r.status_code is 200: json_data = r.json() if hasUpdateSalesRecordAccess(request.user): data = json_data['sales_trx_details'][0] data['last_updated_by'] = request.user.username if 'receipt_details' in data.keys(): data['order_status'] = 'CANCELLED' for line in data['receipt_details']: if line['receipt_header_status'] == 'COMPLETE': data['order_status'] = 'COMPLETE' break else: data['order_status'] = 'CANCELLED' if 'transaction_header_id' in data.keys(): data.pop('transaction_header_id') if 'transaction_date' in data.keys(): data.pop('transaction_date') if 'sales_rep_id' in data.keys(): data.pop('sales_rep_id') if 'sales_rep_name' in data.keys(): data.pop('sales_rep_name') if 'customer_id' in data.keys(): data.pop('customer_id') if 'sales_trx_lines' in data.keys(): data.pop('sales_trx_lines') if 'amount' in data.keys(): data.pop('amount') if 'created_by' in data.keys(): data.pop('created_by') if 'creation_date' in data.keys(): data.pop('creation_date') if 'last_update_date' in data.keys(): data.pop('last_update_date') if 'receipt_details' in data.keys(): data.pop('receipt_details') jsondata = json.dumps(data) r = requests.put('{}'.format(SALES_TRANSACTION), json=jsondata) if r.status_code is 200: return redirect('/sales/') elif r.status_code == 422: to_json = json.loads(r.content)['errors'] return HttpResponse(json.dumps(to_json), status=422) else: template = jinja_template.get_template( 'internal_server_error.html') return HttpResponse(template.render(request)) else: template = jinja_template.get_template('access_denied.html') return HttpResponse(template.render(request)) else: template = jinja_template.get_template( 'internal_server_error.html') return HttpResponse(template.render(request))