示例#1
0
 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))
示例#2
0
    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))
示例#4
0
    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))
示例#6
0
    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))
示例#9
0
    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))
示例#11
0
 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))
示例#12
0
    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))
示例#13
0
    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))
示例#14
0
    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))
示例#16
0
    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))
示例#17
0
    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))
示例#19
0
 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))
示例#22
0
 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)
示例#26
0
    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))
示例#27
0
    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))
示例#29
0
 def get(self, request):
     template = jinja_template.get_template('login/page-login.html')
     return HttpResponse(template.render(request))
示例#30
0
    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))