예제 #1
0
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})
예제 #2
0
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})
예제 #3
0
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})
예제 #4
0
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')
예제 #5
0
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)