def Entry_Goods_Receive_GA(request): if request.method == 'POST': form = NA_Goods_Receive_GA_Form(request.POST) if form.is_valid(): try: result = form.save(request=request) except NAError as e: result = NAErrorHandler.handle(err=e) else: result = NAErrorHandler.handle_form_error(form_error=form.errors) return commonFunct.response_default(result) elif request.method == 'GET': statusForm = request.GET['statusForm'] if statusForm == 'Edit' or statusForm == 'Open': idapp = request.GET['idapp'] data, result = NAGaReceive.objects.retrieveData(idapp) if data == Data.Success: # result = [i for i in result][0] # if isinstance(result['datereceived'], datetime): # result['datereceived'] = result['datereceived'].strftime( # '%d/%m/%Y') # if isinstance(result['year_made'], date): # result['year_made'] = result['year_made'].strftime('%Y') form = NA_Goods_Receive_GA_Form(initial=result) elif data == Data.Lost: return commonFunct.response_default((data, result)) else: form = NA_Goods_Receive_GA_Form() return render(request, 'app/Transactions/NA_Entry_Goods_Receive_GA.html', {'form': form})
def Entry_Privilege(request): if request.method == 'POST': form = NAPrivilegeForm(request.POST) if form.is_valid(): try: result = form.save(user=request.user.username) except NAError as e: result = NAErrorHandler.handle(err=e) else: result = NAErrorHandler.handle_form_error(form_error=form.errors) return commonFunct.response_default(result) elif request.method == 'GET': statusForm = request.GET['statusForm'] if statusForm == 'Edit' or statusForm == 'Open': idapp = request.GET['idapp'] data = NAPrivilege.objects.retrieveData(idapp) form = NAPrivilegeForm(initial=data) if int(data['role']) == NAPrivilege.GUEST: form.fields['divisi'].widget.attrs['disabled'] = '' else: form = NAPrivilegeForm() form.fields['password'].widget.attrs['required'] = '' form.fields['confirm_password'].widget.attrs['required'] = '' form.fields['divisi'].widget.attrs['disabled'] = '' return render(request, 'app/MasterData/NA_Entry_Privilege.html', {'form': form})
def na_privilege_register(request): if request.method == 'POST': form = NAPrivilegeRegisterForm(request.POST, request.FILES or None) if form.is_valid(): try: user = form.save() except NAError as e: error_column = NAErrorHandler.retrieve_integrity_column(err=e) error_field = NAErrorHandler.retrieve_integrity_field( column=error_column, model=NAPrivilege ) message = { error_field: ( '%s already exists' % NAPrivilege.HUMAN_DISPLAY.get(error_field) ) } return JsonResponse(message, status=400) login(request, user, backend='NA_DataLayer.NA_Auth.NA_AuthBackend') return redirect('home') else: _, err = NAErrorHandler.handle_form_error(form_error=form.errors, as_dict=True) return JsonResponse(err, status=400) else: form = NAPrivilegeRegisterForm() template_name = 'app/NA_User/register.html' if False: template_name = 'app/MasterData/na_privilege_register.html' return render( request, template_name, {'form': form} )
def EntryEmployee(request): if request.method == 'POST': form = NA_Employee_form(request.POST) if form.is_valid(): try: result = form.save(user=request.user.username) except NAError as e: # error kalau user salah input, ada form yang tidak di isi result = NAErrorHandler.handle(err=e) else: result = NAErrorHandler.handle_form_error(form_error=form.errors) return commonFunct.response_default(result) elif request.method == 'GET': idapp = request.GET['idapp'] mode = request.GET['mode'] employee = Employee() if mode == 'Edit' or mode == 'Open': try: result = Employee.objects.get(idapp=idapp) except employee.DoesNotExist: result = NAErrorHandler.handle_data_lost(model=Employee, pk=idapp) return commonFunct.response_default(result) else: form = NA_Employee_form(initial=forms.model_to_dict(result)) form.fields['nik'].widget.attrs['disabled'] = 'disabled' else: form = NA_Employee_form() del form.fields['inactive'] return render(request, 'app/MasterData/NA_Entry_Employee.html', {'form': form})
def post(self, request): form = NAExtendGaVnHistoryForm(request.POST) if form.is_valid(): result = form.save() else: result = NAErrorHandler.handle_form_error(form_error=form.errors) return commonFunct.response_default(result)
def na_privilege_login(request): if request.user.is_authenticated(): return redirect(request.GET.get('next', '/')) else: title = "Login" cookie_data = { 'is_ever_sign': True } cookie_key = '__na_cookie' if request.method == 'POST': form = NAPrivilegeLoginForm(request.POST or None) if form.is_valid(): form.login(request) try: next_action = request.META.get('HTTP_REFERER').split('?')[1] next_action = next_action.replace('next=', '') except IndexError: next_action = '/' else: try: resolve(next_action) except Resolver404: next_action = '/' response = JsonResponse({'redirect': next_action}) cookie_data.update({ 'role': int(request.user.role) }) cookie_value = signing.dumps(cookie_data) # Cryptographic: for security response.set_cookie(key=cookie_key, value=cookie_value) return response else: _, result = NAErrorHandler.handle_form_error( form_error=form.errors, as_dict=True ) return JsonResponse(result, status=400) form = NA_Permission_Form() template_name = "app/NA_User/login.html" if request.COOKIES.get(cookie_key): cookie_data = signing.loads(request.COOKIES.get(cookie_key)) if int(cookie_data.get('role')) in [NAPrivilege.SUPER_USER, NAPrivilege.USER]: template_name = "app/layout.html" return render( request, template_name, {"form": form, "title": title} )
def change_role(request, email): try: user = NAPrivilege.objects.get(email=email) result = Data.Success, except NAPrivilege.DoesNotExist: result = NAErrorHandler.handle_data_lost( model=NAPrivilege, email=email ) else: role = request.POST['role'] divisi = request.POST['divisi'] user.role = role user.divisi = divisi user.save() return commonFunct.response_default(result)
def NA_Employee_delete(request): idapp = request.POST.get('idapp') try: employee = Employee.objects.get(idapp=idapp) except employee.DoesNotExist: result = NAErrorHandler.handle_data_lost(pk=idapp, model=Employee) else: if Employee.objects.hasRef(idapp=idapp): message = Message.HasRef_del.value return commonFunct.response_default((Data.HasRef, message)) with transaction.atomic(): log = LogActivity(models=Employee, activity=LogActivity.DELETED, user=request.user.username, data=employee) log.record_activity() employee.delete() result = Data.Success, return commonFunct.response_default(result)
def Delete_user(request): idapp = request.POST['idapp'] try: user = NAPrivilege.objects.get(idapp=idapp) except NAPrivilege.DoesNotExist: result = NAErrorHandler.handle_data_lost( pk=idapp, model=NAPrivilege ) else: with transaction.atomic(): log = LogActivity( models=NAPrivilege, activity=LogActivity.DELETED, user=request.user.username, data=user ) log.record_activity() user.delete() result = Data.Success, return commonFunct.response_default(result)
def getReportAdHoc(request): """main_display_add_hoc = ['GoodsName', 'BrandName', 'SerialNumber', 'Type', 'DateReleased', 'ToEmployee', 'Equipment', 'Descriptions', 'Conditions', 'Eks_Employee', 'Sender']""" try: data = request.body data = json.loads(data) idapp = data['idapp'] data = NAGoodsOutwards.objects.getReportAdHoc(idapp)[0] goods_name = data['GoodsName'] response = HttpResponse(content_type='application/pdf') response['Content-Disposition'] = """inline; filename="Goods_Outwards_{goodsName}.pdf""".format(goodsName=goods_name) pdfReport = NA_GO_PDF("Goods_Outwards_{goodsName}".format(goodsName=goods_name)) outputPDF = pdfReport.buildAddHocPDF(data) response.write(outputPDF) #return render_to_response('app/Transactions/NA_R_Goods_Outwards.html', #'result': outputPDF}, context_instance=RequestContext(request)) return response except NAError as e: result = NAErrorHandler.handle(err=e) return HttpResponse(json.dumps({'message': result}), status=500, content_type='application/json')
def get(self, request): idapp = request.GET.get('idapp') try: ga_history = NAGaVnHistory.objects.get(idapp=idapp) except NAGaVnHistory.DoesNotExist: result = NAErrorHandler.handle_data_lost(model=NAGaVnHistory, pk=idapp) return commonFunct.response_default(result) else: data = { 'idapp': ga_history.idapp, 'reg_no': ga_history.reg_no, 'old_date_reg': ga_history.date_reg.strftime('%d/%m/%Y'), 'old_expired_reg': ga_history.expired_reg.strftime('%d/%m/%Y'), 'goods_name': ga_history.fk_app.fk_goods.goodsname, 'brand': ga_history.fk_app.brand, 'type_app': ga_history.fk_app.typeapp, 'colour': ga_history.fk_app.colour, 'invoice_no': ga_history.fk_app.invoice_no } form = NAExtendGaVnHistoryForm(initial=data) return render(request, 'app/Transactions/NA_Extend_GA_History.html', {'form': form})
def saveData(request): authentication_classes = [] data = request.body #import ipdb Odata = json.loads(data, parse_float=Decimal) data = Odata['headerData'][0] ChangedHeader = str2bool(str(Odata['hasChangedHeader'])) ChangedDetail = str2bool(str(Odata['hasChangedDetail'])) dataDetail = Odata['dataForGridDetail'] #ipdb.set_trace() totalReceived = data['totalreceived'] desc = '(' #dataDetail = object_list if len(dataDetail) > 0: detCount = len(dataDetail) #build descriptions for i in range(detCount): brandname = dataDetail[i]['brandname'] if brandname == '': continue desc += brandname + ', Type : ' + dataDetail[i][ 'typeapp'] + ', SN : ' + dataDetail[i]['serialnumber'] if i < detCount - 1: desc += ', ' dataDetail[i].update(createdby=request.user.username if ( request.user.username is not None and request.user.username != '') else 'Admin') dataDetail[i].update(modifiedby=request.user.username if ( request.user.username is not None and request.user.username != '') else 'Admin') desc += ')' data.update(dataForGridDetail=dataDetail) #data['dataForGridDetail'] = dataForGridDetail data.update(descbysystem=desc) data.update(createdby=request.user.username if ( request.user.username is not None and request.user.username != '' ) else 'Admin') data.update(modifiedby=request.user.username if ( request.user.username is not None and request.user.username != '' ) else 'Admin') if len(dataDetail) != totalReceived: totalReceived = len(dataDetail) data.update(totalreceived=totalReceived) hasRefData = NAGoodsReceive.objects.hasReference( { 'idapp': data['idapp'], 'idapp_fk_goods': data['idapp_fk_goods'], 'datereceived': data['datereceived'] }, None) data.update(hasRefData=hasRefData) data.update(hasChangedHeader=ChangedHeader) data.update(hasChangedDetail=ChangedDetail) Oresult = (Data.Success, ) try: result = NAGoodsReceive.objects.SaveData(data, StatusForm.Edit) if result != 'success': Oresult = (None, 'Unhandled error') except NAError as e: Oresult = NAErrorHandler.handle(err=e) return common.commonFunct.response_default(Oresult)