Updated all (I think functions using try / catch to user the decorator.
This commit is contained in:
@ -1,3 +1,6 @@
|
||||
from pyramid.response import Response
|
||||
import transaction
|
||||
|
||||
class ValidationError(Exception):
|
||||
def __init__(self, message, Errors=None):
|
||||
self.message = message
|
||||
@ -7,4 +10,16 @@ class ValidationError(Exception):
|
||||
# Now for your custom code...
|
||||
self.Errors = Errors
|
||||
def __str__(self):
|
||||
return self.message
|
||||
return self.message
|
||||
|
||||
|
||||
def TryCatchFunction(f):
|
||||
def _decorator(self, *args, **kwargs):
|
||||
try:
|
||||
return f(self, *args, **kwargs)
|
||||
except (ValidationError, ValueError, KeyError, AttributeError, TypeError) as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(str(ex)))
|
||||
response.status_int = 500
|
||||
return response
|
||||
return _decorator
|
||||
|
||||
@ -6,7 +6,7 @@ import transaction
|
||||
from brewman.models import DBSession
|
||||
|
||||
from brewman.models.master import CostCenter, Ledger, LedgerType, LedgerBase
|
||||
from brewman.models.validation_exception import ValidationError
|
||||
from brewman.models.validation_exception import ValidationError, TryCatchFunction
|
||||
|
||||
@view_config(route_name='account_list', renderer='brewman:templates/angular_base.mako', permission='Accounts')
|
||||
@view_config(request_method='GET', route_name='account_id', renderer='brewman:templates/angular_base.mako',
|
||||
@ -18,39 +18,29 @@ def html(request):
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_account', renderer='json', permission='Accounts')
|
||||
@TryCatchFunction
|
||||
def save(request):
|
||||
try:
|
||||
item = Ledger(code=0, name=request.json_body['Name'], type=int(request.json_body['Type']),
|
||||
is_active=request.json_body['IsActive'], is_reconcilable=request.json_body['IsReconcilable'],
|
||||
costcenter_id=uuid.UUID(request.json_body['CostCenter']['CostCenterID'])).create()
|
||||
transaction.commit()
|
||||
return account_info(item.id)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
item = Ledger(code=0, name=request.json_body['Name'], type=int(request.json_body['Type']),
|
||||
is_active=request.json_body['IsActive'], is_reconcilable=request.json_body['IsReconcilable'],
|
||||
costcenter_id=uuid.UUID(request.json_body['CostCenter']['CostCenterID'])).create()
|
||||
transaction.commit()
|
||||
return account_info(item.id)
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_account_id', renderer='json', permission='Accounts')
|
||||
@TryCatchFunction
|
||||
def update(request):
|
||||
try:
|
||||
item = Ledger.by_id(uuid.UUID(request.matchdict['id']))
|
||||
new_type = int(request.json_body['Type'])
|
||||
if not item.type == new_type:
|
||||
item.code = Ledger.get_code(new_type)
|
||||
item.type = new_type
|
||||
item.name = request.json_body['Name']
|
||||
item.is_active = request.json_body['IsActive']
|
||||
item.is_reconcilable = request.json_body['IsReconcilable']
|
||||
item.costcenter_id = uuid.UUID(request.json_body['CostCenter']['CostCenterID'])
|
||||
transaction.commit()
|
||||
return account_info(item.id)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
item = Ledger.by_id(uuid.UUID(request.matchdict['id']))
|
||||
new_type = int(request.json_body['Type'])
|
||||
if not item.type == new_type:
|
||||
item.code = Ledger.get_code(new_type)
|
||||
item.type = new_type
|
||||
item.name = request.json_body['Name']
|
||||
item.is_active = request.json_body['IsActive']
|
||||
item.is_reconcilable = request.json_body['IsReconcilable']
|
||||
item.costcenter_id = uuid.UUID(request.json_body['CostCenter']['CostCenterID'])
|
||||
transaction.commit()
|
||||
return account_info(item.id)
|
||||
|
||||
|
||||
@view_config(request_method='DELETE', route_name='api_account_id', renderer='json', permission='Accounts')
|
||||
|
||||
@ -7,7 +7,7 @@ from sqlalchemy import or_
|
||||
import transaction
|
||||
from brewman.models import DBSession
|
||||
from brewman.models.master import AttendanceType, Employee
|
||||
from brewman.models.validation_exception import ValidationError
|
||||
from brewman.models.validation_exception import ValidationError, TryCatchFunction
|
||||
from brewman.models.voucher import Attendance
|
||||
from brewman.views.fingerprint import get_prints
|
||||
from brewman.views.services.session import session_period_start, session_period_finish, session_current_date
|
||||
@ -66,26 +66,21 @@ def attendance_date_report(date):
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_attendance_date', renderer='json', permission='Attendance')
|
||||
@TryCatchFunction
|
||||
def save(request):
|
||||
try:
|
||||
user_id = uuid.UUID(authenticated_userid(request))
|
||||
date = request.matchdict.get('date', None)
|
||||
date_object = datetime.datetime.strptime(date, '%d-%b-%Y')
|
||||
user_id = uuid.UUID(authenticated_userid(request))
|
||||
date = request.matchdict.get('date', None)
|
||||
date_object = datetime.datetime.strptime(date, '%d-%b-%Y')
|
||||
|
||||
for item in request.json_body['Body']:
|
||||
employee_id = uuid.UUID(item['id'])
|
||||
attendance_type = item['AttendanceTypeID']
|
||||
if attendance_type != 0:
|
||||
attendance = Attendance(employee_id=employee_id, date=date_object, attendance_type=attendance_type,
|
||||
user_id=user_id)
|
||||
attendance.create()
|
||||
transaction.commit()
|
||||
return attendance_date_report(date)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
for item in request.json_body['Body']:
|
||||
employee_id = uuid.UUID(item['id'])
|
||||
attendance_type = item['AttendanceTypeID']
|
||||
if attendance_type != 0:
|
||||
attendance = Attendance(employee_id=employee_id, date=date_object, attendance_type=attendance_type,
|
||||
user_id=user_id)
|
||||
attendance.create()
|
||||
transaction.commit()
|
||||
return attendance_date_report(date)
|
||||
|
||||
|
||||
@view_config(request_method='GET', route_name='api_employee_attendance', renderer='json', permission='Attendance')
|
||||
@ -131,32 +126,27 @@ def employee_attendance(employee, start_date, finish_date):
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_employee_attendance_id', renderer='json', permission='Attendance')
|
||||
@TryCatchFunction
|
||||
def save_employee_attendance(request):
|
||||
try:
|
||||
start_date = None
|
||||
finish_date = None
|
||||
user_id = uuid.UUID(authenticated_userid(request))
|
||||
employee = Employee.by_id(uuid.UUID(request.matchdict['id']))
|
||||
for item in request.json_body['Body']:
|
||||
if start_date is None:
|
||||
start_date = item['Date']
|
||||
finish_date = item['Date']
|
||||
start_date = None
|
||||
finish_date = None
|
||||
user_id = uuid.UUID(authenticated_userid(request))
|
||||
employee = Employee.by_id(uuid.UUID(request.matchdict['id']))
|
||||
for item in request.json_body['Body']:
|
||||
if start_date is None:
|
||||
start_date = item['Date']
|
||||
finish_date = item['Date']
|
||||
|
||||
attendance_type = item['AttendanceTypeID']
|
||||
if attendance_type != 0:
|
||||
date = datetime.datetime.strptime(item['Date'], '%d-%b-%Y')
|
||||
attendance = Attendance(employee_id=employee.id, date=date, attendance_type=attendance_type,
|
||||
user_id=user_id)
|
||||
attendance.create()
|
||||
transaction.commit()
|
||||
return {'StartDate': start_date, 'FinishDate': finish_date,
|
||||
'Employee': {'LedgerID': employee.id, 'Name': employee.name},
|
||||
'Body': employee_attendance(employee, start_date, finish_date)}
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
attendance_type = item['AttendanceTypeID']
|
||||
if attendance_type != 0:
|
||||
date = datetime.datetime.strptime(item['Date'], '%d-%b-%Y')
|
||||
attendance = Attendance(employee_id=employee.id, date=date, attendance_type=attendance_type,
|
||||
user_id=user_id)
|
||||
attendance.create()
|
||||
transaction.commit()
|
||||
return {'StartDate': start_date, 'FinishDate': finish_date,
|
||||
'Employee': {'LedgerID': employee.id, 'Name': employee.name},
|
||||
'Body': employee_attendance(employee, start_date, finish_date)}
|
||||
|
||||
|
||||
def daterange(start, stop, step=datetime.timedelta(days=1), inclusive=False):
|
||||
|
||||
@ -9,7 +9,7 @@ import transaction
|
||||
from brewman.models import DBSession
|
||||
from brewman.models.auth import User
|
||||
from brewman.models.master import AttendanceType, Employee, Ledger
|
||||
from brewman.models.validation_exception import ValidationError
|
||||
from brewman.models.validation_exception import ValidationError, TryCatchFunction
|
||||
from brewman.models.voucher import Attendance, Voucher, VoucherType, Journal
|
||||
from brewman.views.attendance import daterange
|
||||
from brewman.views.services.session import session_period_start, session_period_finish, get_last_day, get_first_day
|
||||
@ -55,26 +55,21 @@ def attendance_record(start_date, finish_date):
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_credit_salary', renderer='json', permission='Attendance')
|
||||
@TryCatchFunction
|
||||
def credit_salary(request):
|
||||
try:
|
||||
user = User.by_id(uuid.UUID(authenticated_userid(request)))
|
||||
month = datetime.datetime.strptime(request.json_body['Month'], '%d-%b-%Y')
|
||||
user = User.by_id(uuid.UUID(authenticated_userid(request)))
|
||||
month = datetime.datetime.strptime(request.json_body['Month'], '%d-%b-%Y')
|
||||
|
||||
start_date = get_first_day(month)
|
||||
finish_date = get_last_day(month)
|
||||
voucher = Voucher(date=finish_date, narration='Auto Generated Salary Entry', user_id=user.id,
|
||||
type=VoucherType.by_name('Journal'), posted=True, poster_id=user.id)
|
||||
DBSession.add(voucher)
|
||||
for item in salary_journals(start_date, finish_date):
|
||||
voucher.journals.append(item)
|
||||
DBSession.add(item)
|
||||
transaction.commit()
|
||||
return {'message': 'Salary Entry created'}
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
start_date = get_first_day(month)
|
||||
finish_date = get_last_day(month)
|
||||
voucher = Voucher(date=finish_date, narration='Auto Generated Salary Entry', user_id=user.id,
|
||||
type=VoucherType.by_name('Journal'), posted=True, poster_id=user.id)
|
||||
DBSession.add(voucher)
|
||||
for item in salary_journals(start_date, finish_date):
|
||||
voucher.journals.append(item)
|
||||
DBSession.add(item)
|
||||
transaction.commit()
|
||||
return {'message': 'Salary Entry created'}
|
||||
|
||||
|
||||
def salary_journals(start_date, finish_date):
|
||||
|
||||
@ -5,7 +5,7 @@ from pyramid.view import view_config
|
||||
import transaction
|
||||
from brewman.models.auth import Client
|
||||
|
||||
from brewman.models.validation_exception import ValidationError
|
||||
from brewman.models.validation_exception import ValidationError, TryCatchFunction
|
||||
|
||||
|
||||
@view_config(request_method='GET', route_name='client_list', renderer='brewman:templates/angular_base.mako',
|
||||
@ -15,17 +15,12 @@ def html(request):
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_client_id', renderer='json', permission='Clients')
|
||||
@TryCatchFunction
|
||||
def update(request):
|
||||
try:
|
||||
item = Client.by_id(uuid.UUID(request.matchdict.get['id']))
|
||||
item.enabled = request.json_body['Enabled']
|
||||
transaction.commit()
|
||||
return {}
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
item = Client.by_id(uuid.UUID(request.matchdict.get['id']))
|
||||
item.enabled = request.json_body['Enabled']
|
||||
transaction.commit()
|
||||
return {}
|
||||
|
||||
|
||||
@view_config(request_method='GET', route_name='api_client', request_param='list', renderer='json', permission='Clients')
|
||||
|
||||
@ -5,7 +5,7 @@ from pyramid.view import view_config
|
||||
import transaction
|
||||
from brewman.models import DBSession
|
||||
from brewman.models.auth import Group, Role
|
||||
from brewman.models.validation_exception import ValidationError
|
||||
from brewman.models.validation_exception import ValidationError, TryCatchFunction
|
||||
|
||||
@view_config(route_name='group_list', renderer='brewman:templates/angular_base.mako', permission='Users')
|
||||
@view_config(request_method='GET', route_name='group_id', renderer='brewman:templates/angular_base.mako',
|
||||
@ -17,34 +17,24 @@ def html(request):
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_group', renderer='json', permission='Users')
|
||||
@TryCatchFunction
|
||||
def save(request):
|
||||
try:
|
||||
group = Group(request.json_body['Name'])
|
||||
DBSession.add(group)
|
||||
add_permissions(group, request.json_body['Permissions'])
|
||||
transaction.commit()
|
||||
return group_info(group.id)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
group = Group(request.json_body['Name'])
|
||||
DBSession.add(group)
|
||||
add_permissions(group, request.json_body['Permissions'])
|
||||
transaction.commit()
|
||||
return group_info(group.id)
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_group_id', renderer='json', permission='Users')
|
||||
@TryCatchFunction
|
||||
def update(request):
|
||||
try:
|
||||
id = request.matchdict.get('id', None)
|
||||
group = Group.by_id(uuid.UUID(id))
|
||||
group.name = request.json_body['Name']
|
||||
add_permissions(group, request.json_body['Permissions'])
|
||||
transaction.commit()
|
||||
return group_info(group.id)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
id = request.matchdict.get('id', None)
|
||||
group = Group.by_id(uuid.UUID(id))
|
||||
group.name = request.json_body['Name']
|
||||
add_permissions(group, request.json_body['Permissions'])
|
||||
transaction.commit()
|
||||
return group_info(group.id)
|
||||
|
||||
|
||||
def add_permissions(group, permissions):
|
||||
|
||||
@ -7,7 +7,7 @@ import transaction
|
||||
from brewman.models import DBSession
|
||||
from brewman.models.auth import User, Group
|
||||
|
||||
from brewman.models.validation_exception import ValidationError
|
||||
from brewman.models.validation_exception import ValidationError, TryCatchFunction
|
||||
|
||||
@view_config(route_name='user_list', renderer='brewman:templates/angular_base.mako', permission='Users')
|
||||
@view_config(request_method='GET', route_name='user_id', renderer='brewman:templates/angular_base.mako',
|
||||
@ -19,41 +19,31 @@ def html(request):
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_user', renderer='json', permission='Users')
|
||||
@TryCatchFunction
|
||||
def save(request):
|
||||
try:
|
||||
user = User(request.json_body['Name'], request.json_body['Password'], request.json_body['LockedOut'])
|
||||
DBSession.add(user)
|
||||
add_groups(user, request.json_body['Groups'])
|
||||
transaction.commit()
|
||||
return user_info(user.id)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
user = User(request.json_body['Name'], request.json_body['Password'], request.json_body['LockedOut'])
|
||||
DBSession.add(user)
|
||||
add_groups(user, request.json_body['Groups'])
|
||||
transaction.commit()
|
||||
return user_info(user.id)
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_user_id', renderer='json', permission='Users')
|
||||
@TryCatchFunction
|
||||
def update(request):
|
||||
try:
|
||||
id = request.matchdict['id']
|
||||
p = re.compile('^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$')
|
||||
if p.match(id):
|
||||
user = User.by_id(uuid.UUID(id))
|
||||
else:
|
||||
user = User.by_name(id)
|
||||
user.name = request.json_body['Name']
|
||||
user.locked_out = request.json_body['LockedOut']
|
||||
if request.json_body['Password'] != '' and request.json_body['Password'] != user.password:
|
||||
user.password = request.json_body['Password']
|
||||
add_groups(user, request.json_body['Groups'])
|
||||
transaction.commit()
|
||||
return user_info(user.id)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
id = request.matchdict['id']
|
||||
p = re.compile('^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$')
|
||||
if p.match(id):
|
||||
user = User.by_id(uuid.UUID(id))
|
||||
else:
|
||||
user = User.by_name(id)
|
||||
user.name = request.json_body['Name']
|
||||
user.locked_out = request.json_body['LockedOut']
|
||||
if request.json_body['Password'] != '' and request.json_body['Password'] != user.password:
|
||||
user.password = request.json_body['Password']
|
||||
add_groups(user, request.json_body['Groups'])
|
||||
transaction.commit()
|
||||
return user_info(user.id)
|
||||
|
||||
|
||||
def add_groups(user, groups):
|
||||
|
||||
@ -6,7 +6,7 @@ import transaction
|
||||
from brewman.models import DBSession
|
||||
|
||||
from brewman.models.master import CostCenter
|
||||
from brewman.models.validation_exception import ValidationError
|
||||
from brewman.models.validation_exception import ValidationError, TryCatchFunction
|
||||
|
||||
|
||||
@view_config(route_name='cost_center_list', renderer='brewman:templates/angular_base.mako', permission='Authenticated')
|
||||
@ -19,31 +19,21 @@ def html(request):
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_cost_center', renderer='json', permission='Cost Centers')
|
||||
@TryCatchFunction
|
||||
def save(request):
|
||||
try:
|
||||
item = CostCenter(request.json_body['Name'])
|
||||
DBSession.add(item)
|
||||
transaction.commit()
|
||||
return cost_center_info(item.id)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
item = CostCenter(request.json_body['Name'])
|
||||
DBSession.add(item)
|
||||
transaction.commit()
|
||||
return cost_center_info(item.id)
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_cost_center_id', renderer='json', permission='Cost Centers')
|
||||
@TryCatchFunction
|
||||
def update(request):
|
||||
try:
|
||||
item = CostCenter.by_id(uuid.UUID(request.matchdict.get['id']))
|
||||
item.name = request.json_body['Name']
|
||||
transaction.commit()
|
||||
return cost_center_info(item.id)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
item = CostCenter.by_id(uuid.UUID(request.matchdict.get['id']))
|
||||
item.name = request.json_body['Name']
|
||||
transaction.commit()
|
||||
return cost_center_info(item.id)
|
||||
|
||||
|
||||
@view_config(request_method='DELETE', route_name='api_cost_center_id', renderer='json', permission='Cost Centers')
|
||||
|
||||
@ -6,7 +6,7 @@ from pyramid.view import view_config
|
||||
import transaction
|
||||
|
||||
from brewman.models.master import CostCenter, Employee, LedgerBase
|
||||
from brewman.models.validation_exception import ValidationError
|
||||
from brewman.models.validation_exception import ValidationError, TryCatchFunction
|
||||
|
||||
@view_config(route_name='employee_list', renderer='brewman:templates/angular_base.mako', permission='Authenticated')
|
||||
@view_config(request_method='GET', route_name='employee_id', renderer='brewman:templates/angular_base.mako',
|
||||
@ -20,47 +20,37 @@ def html(request):
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_employee', renderer='json', permission='Employees')
|
||||
@TryCatchFunction
|
||||
def save(request):
|
||||
try:
|
||||
is_active = request.json_body['IsActive']
|
||||
joining_date = datetime.datetime.strptime(request.json_body['JoiningDate'], '%d-%b-%Y')
|
||||
leaving_date = None if is_active else datetime.datetime.strptime(request.json_body['LeavingDate'],
|
||||
'%d-%b-%Y')
|
||||
is_active = request.json_body['IsActive']
|
||||
joining_date = datetime.datetime.strptime(request.json_body['JoiningDate'], '%d-%b-%Y')
|
||||
leaving_date = None if is_active else datetime.datetime.strptime(request.json_body['LeavingDate'],
|
||||
'%d-%b-%Y')
|
||||
|
||||
item = Employee(0, request.json_body['Name'], is_active,
|
||||
uuid.UUID(request.json_body['CostCenter']['CostCenterID']),
|
||||
request.json_body['Designation'], int(request.json_body['Salary']),
|
||||
int(request.json_body['ServicePoints']),
|
||||
joining_date, leaving_date).create()
|
||||
transaction.commit()
|
||||
return employee_info(item.id)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
item = Employee(0, request.json_body['Name'], is_active,
|
||||
uuid.UUID(request.json_body['CostCenter']['CostCenterID']),
|
||||
request.json_body['Designation'], int(request.json_body['Salary']),
|
||||
int(request.json_body['ServicePoints']),
|
||||
joining_date, leaving_date).create()
|
||||
transaction.commit()
|
||||
return employee_info(item.id)
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_employee_id', renderer='json', permission='Employees')
|
||||
@TryCatchFunction
|
||||
def update(request):
|
||||
try:
|
||||
item = Employee.by_id(uuid.UUID(request.matchdict['id']))
|
||||
item.name = request.json_body['Name']
|
||||
item.is_active = request.json_body['IsActive']
|
||||
item.costcenter_id = uuid.UUID(request.json_body['CostCenter']['CostCenterID'])
|
||||
item.designation = request.json_body['Designation']
|
||||
item.salary = int(request.json_body['Salary'])
|
||||
item.service_points = int(request.json_body['ServicePoints'])
|
||||
item.joining_date = datetime.datetime.strptime(request.json_body['JoiningDate'], '%d-%b-%Y')
|
||||
item.leaving_date = None if item.is_active else datetime.datetime.strptime(request.json_body['LeavingDate'],
|
||||
'%d-%b-%Y')
|
||||
transaction.commit()
|
||||
return employee_info(item.id)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
item = Employee.by_id(uuid.UUID(request.matchdict['id']))
|
||||
item.name = request.json_body['Name']
|
||||
item.is_active = request.json_body['IsActive']
|
||||
item.costcenter_id = uuid.UUID(request.json_body['CostCenter']['CostCenterID'])
|
||||
item.designation = request.json_body['Designation']
|
||||
item.salary = int(request.json_body['Salary'])
|
||||
item.service_points = int(request.json_body['ServicePoints'])
|
||||
item.joining_date = datetime.datetime.strptime(request.json_body['JoiningDate'], '%d-%b-%Y')
|
||||
item.leaving_date = None if item.is_active else datetime.datetime.strptime(request.json_body['LeavingDate'],
|
||||
'%d-%b-%Y')
|
||||
transaction.commit()
|
||||
return employee_info(item.id)
|
||||
|
||||
|
||||
@view_config(request_method='DELETE', route_name='api_employee_id', renderer='json', permission='Employees')
|
||||
|
||||
@ -6,7 +6,7 @@ from pyramid.view import view_config
|
||||
import transaction
|
||||
|
||||
from brewman.models.master import Product, CostCenter, LedgerType, Ledger
|
||||
from brewman.models.validation_exception import ValidationError
|
||||
from brewman.models.validation_exception import ValidationError, TryCatchFunction
|
||||
|
||||
@view_config(route_name='product_list', renderer='brewman:templates/angular_base.mako', permission='Authenticated')
|
||||
@view_config(request_method='GET', route_name='product_id', renderer='brewman:templates/angular_base.mako',
|
||||
@ -18,43 +18,33 @@ def html(request):
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_product', renderer='json', permission='Products')
|
||||
@TryCatchFunction
|
||||
def save(request):
|
||||
try:
|
||||
item = Product(0, request.json_body['Name'], request.json_body['Units'],
|
||||
Decimal(request.json_body['Fraction']), request.json_body['FractionUnits'],
|
||||
Decimal(request.json_body['Yeild']), request.json_body['ShowForPurchase'],
|
||||
uuid.UUID(request.json_body['ProductGroup']['ProductGroupID']), Ledger.all_purchases(),
|
||||
Decimal(request.json_body['Price']), request.json_body['Discontinued']).create()
|
||||
transaction.commit()
|
||||
return product_info(item.id)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
item = Product(0, request.json_body['Name'], request.json_body['Units'],
|
||||
Decimal(request.json_body['Fraction']), request.json_body['FractionUnits'],
|
||||
Decimal(request.json_body['Yeild']), request.json_body['ShowForPurchase'],
|
||||
uuid.UUID(request.json_body['ProductGroup']['ProductGroupID']), Ledger.all_purchases(),
|
||||
Decimal(request.json_body['Price']), request.json_body['Discontinued']).create()
|
||||
transaction.commit()
|
||||
return product_info(item.id)
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_product_id', renderer='json', permission='Products')
|
||||
@TryCatchFunction
|
||||
def update(request):
|
||||
try:
|
||||
item = Product.by_id(uuid.UUID(request.matchdict.get['id']))
|
||||
item.name = request.json_body['Name']
|
||||
item.units = request.json_body['Units']
|
||||
item.fraction = Decimal(request.json_body['Fraction'])
|
||||
item.fraction_units = request.json_body['FractionUnits']
|
||||
item.yeild = Decimal(request.json_body['Yeild'])
|
||||
item.show_for_purchase = request.json_body['ShowForPurchase']
|
||||
item.product_group_id = uuid.UUID(request.json_body['ProductGroup']['ProductGroupID'])
|
||||
item.ledger_id = Ledger.all_purchases()
|
||||
item.price = Decimal(request.json_body['Price'])
|
||||
item.discontinued = request.json_body['Discontinued']
|
||||
transaction.commit()
|
||||
return product_info(item.id)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
item = Product.by_id(uuid.UUID(request.matchdict.get['id']))
|
||||
item.name = request.json_body['Name']
|
||||
item.units = request.json_body['Units']
|
||||
item.fraction = Decimal(request.json_body['Fraction'])
|
||||
item.fraction_units = request.json_body['FractionUnits']
|
||||
item.yeild = Decimal(request.json_body['Yeild'])
|
||||
item.show_for_purchase = request.json_body['ShowForPurchase']
|
||||
item.product_group_id = uuid.UUID(request.json_body['ProductGroup']['ProductGroupID'])
|
||||
item.ledger_id = Ledger.all_purchases()
|
||||
item.price = Decimal(request.json_body['Price'])
|
||||
item.discontinued = request.json_body['Discontinued']
|
||||
transaction.commit()
|
||||
return product_info(item.id)
|
||||
|
||||
|
||||
@view_config(request_method='DELETE', route_name='api_product_id', renderer='json', permission='Products')
|
||||
@ -93,7 +83,8 @@ def show_list(request):
|
||||
return products
|
||||
|
||||
|
||||
@view_config(request_method='GET', route_name='api_product', renderer='json', request_param='term', permission='Authenticated')
|
||||
@view_config(request_method='GET', route_name='api_product', renderer='json', request_param='term',
|
||||
permission='Authenticated')
|
||||
def show_term(request):
|
||||
filter = request.GET.get('term', None)
|
||||
filter = filter if filter is not None and filter is not '' else None
|
||||
|
||||
@ -6,10 +6,11 @@ import transaction
|
||||
from brewman.models import DBSession
|
||||
|
||||
from brewman.models.master import ProductGroup
|
||||
from brewman.models.validation_exception import ValidationError
|
||||
from brewman.models.validation_exception import ValidationError, TryCatchFunction
|
||||
|
||||
|
||||
@view_config(route_name='product_group_list', renderer='brewman:templates/angular_base.mako', permission='Authenticated')
|
||||
@view_config(route_name='product_group_list', renderer='brewman:templates/angular_base.mako',
|
||||
permission='Authenticated')
|
||||
@view_config(request_method='GET', route_name='product_group_id', renderer='brewman:templates/angular_base.mako',
|
||||
permission='Product Groups')
|
||||
@view_config(request_method='GET', route_name='product_group', renderer='brewman:templates/angular_base.mako',
|
||||
@ -19,31 +20,21 @@ def html(request):
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_product_group', renderer='json', permission='Product Groups')
|
||||
@TryCatchFunction
|
||||
def save(request):
|
||||
try:
|
||||
item = ProductGroup(request.json_body['Name'])
|
||||
DBSession.add(item)
|
||||
transaction.commit()
|
||||
return product_group_info(item.id)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
item = ProductGroup(request.json_body['Name'])
|
||||
DBSession.add(item)
|
||||
transaction.commit()
|
||||
return product_group_info(item.id)
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_product_group_id', renderer='json', permission='Product Groups')
|
||||
@TryCatchFunction
|
||||
def update(request):
|
||||
try:
|
||||
item = ProductGroup.by_id(uuid.UUID(request.matchdict.get['id']))
|
||||
item.name = request.json_body['Name']
|
||||
transaction.commit()
|
||||
return product_group_info(item.id)
|
||||
except ValidationError as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
item = ProductGroup.by_id(uuid.UUID(request.matchdict.get['id']))
|
||||
item.name = request.json_body['Name']
|
||||
transaction.commit()
|
||||
return product_group_info(item.id)
|
||||
|
||||
|
||||
@view_config(request_method='DELETE', route_name='api_product_group_id', renderer='json', permission='Product Groups')
|
||||
@ -58,6 +49,7 @@ def delete(request):
|
||||
response.status_int = 500
|
||||
return response
|
||||
|
||||
|
||||
@view_config(request_method='GET', route_name='api_product_group_id', renderer='json', permission='Product Groups')
|
||||
def show_id(request):
|
||||
return product_group_info(uuid.UUID(request.matchdict.get('id', None)))
|
||||
@ -68,12 +60,14 @@ def show_blank(request):
|
||||
return product_group_info(None)
|
||||
|
||||
|
||||
@view_config(request_method='GET', route_name='api_product_group', request_param='list', renderer='json', permission='Authenticated')
|
||||
@view_config(request_method='GET', route_name='api_product_group', request_param='list', renderer='json',
|
||||
permission='Authenticated')
|
||||
def show_list(request):
|
||||
list = ProductGroup.list()
|
||||
product_groups = []
|
||||
for item in list:
|
||||
product_groups.append({'ProductGroupID': item.id, 'Name': item.name, 'Url': request.route_url('product_group_id', id=item.id)})
|
||||
product_groups.append(
|
||||
{'ProductGroupID': item.id, 'Name': item.name, 'Url': request.route_url('product_group_id', id=item.id)})
|
||||
return product_groups
|
||||
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@ from brewman import groupfinder
|
||||
from brewman.models import DBSession
|
||||
from brewman.models.auth import User
|
||||
from brewman.models.master import LedgerBase, CostCenter
|
||||
from brewman.models.validation_exception import ValidationError
|
||||
from brewman.models.validation_exception import ValidationError, TryCatchFunction
|
||||
from brewman.models.voucher import Voucher, VoucherType
|
||||
from brewman.views.services.voucher.issue import issue_create_voucher, issue_update_voucher
|
||||
from brewman.views.services.voucher.journal import journal_update_voucher, journal_create_voucher
|
||||
@ -48,19 +48,14 @@ def journal_get(request):
|
||||
|
||||
|
||||
@view_config(request_method='POST', route_name='api_voucher_id', request_param='post', renderer='json', permission='Post Vouchers')
|
||||
@TryCatchFunction
|
||||
def voucher_post(request):
|
||||
user = User.by_id(uuid.UUID(authenticated_userid(request)))
|
||||
try:
|
||||
voucher = Voucher.by_id(uuid.UUID(request.matchdict['id']))
|
||||
voucher.posted = True
|
||||
voucher.poster_id = user.id
|
||||
transaction.commit()
|
||||
return voucher_info(Voucher.by_id(voucher.id))
|
||||
except (ValidationError, ValueError, KeyError, AttributeError) as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(ex.message))
|
||||
response.status_int = 500
|
||||
return response
|
||||
voucher = Voucher.by_id(uuid.UUID(request.matchdict['id']))
|
||||
voucher.posted = True
|
||||
voucher.poster_id = user.id
|
||||
transaction.commit()
|
||||
return voucher_info(Voucher.by_id(voucher.id))
|
||||
|
||||
|
||||
def check_delete_permissions(request, voucher):
|
||||
|
||||
@ -4,7 +4,7 @@ from pyramid.security import authenticated_userid
|
||||
from pyramid.view import view_defaults, view_config
|
||||
import transaction
|
||||
from brewman.models.auth import User
|
||||
from brewman.models.validation_exception import ValidationError
|
||||
from brewman.models.validation_exception import ValidationError, TryCatchFunction
|
||||
from brewman.models.voucher import Voucher
|
||||
from brewman.views.services.session import session_current_date_set
|
||||
from brewman.views.services.voucher import voucher_info, journal_create_voucher, purchase_create_voucher, issue_create_voucher
|
||||
@ -54,23 +54,18 @@ class save_voucher(object):
|
||||
def salary_deduction(self):
|
||||
return self.save()
|
||||
|
||||
@TryCatchFunction
|
||||
def save(self):
|
||||
try:
|
||||
if self.json['Type'] in ['Journal', 'Payment', 'Receipt']:
|
||||
voucher = journal_create_voucher(self.json, self.user)
|
||||
elif self.json['Type'] in ['Purchase']:
|
||||
voucher = purchase_create_voucher(self.json, self.user)
|
||||
elif self.json['Type'] in ['Purchase Return']:
|
||||
voucher = purchase_return_create_voucher(self.json, self.user)
|
||||
elif self.json['Type'] in ['Issue']:
|
||||
voucher = issue_create_voucher(self.json, self.user)
|
||||
elif self.json['Type'] in ['Salary Deduction']:
|
||||
voucher = salary_deduction_create_voucher(self.json, self.user)
|
||||
transaction.commit()
|
||||
session_current_date_set(self.request, self.json['Date'])
|
||||
return voucher_info(Voucher.by_id(voucher.id))
|
||||
except (ValidationError, ValueError, KeyError, AttributeError) as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(str(ex)))
|
||||
response.status_int = 500
|
||||
return response
|
||||
if self.json['Type'] in ['Journal', 'Payment', 'Receipt']:
|
||||
voucher = journal_create_voucher(self.json, self.user)
|
||||
elif self.json['Type'] in ['Purchase']:
|
||||
voucher = purchase_create_voucher(self.json, self.user)
|
||||
elif self.json['Type'] in ['Purchase Return']:
|
||||
voucher = purchase_return_create_voucher(self.json, self.user)
|
||||
elif self.json['Type'] in ['Issue']:
|
||||
voucher = issue_create_voucher(self.json, self.user)
|
||||
elif self.json['Type'] in ['Salary Deduction']:
|
||||
voucher = salary_deduction_create_voucher(self.json, self.user)
|
||||
transaction.commit()
|
||||
session_current_date_set(self.request, self.json['Date'])
|
||||
return voucher_info(Voucher.by_id(voucher.id))
|
||||
|
||||
@ -5,7 +5,7 @@ from pyramid.view import view_defaults, view_config
|
||||
import transaction
|
||||
from brewman import groupfinder
|
||||
from brewman.models.auth import User
|
||||
from brewman.models.validation_exception import ValidationError
|
||||
from brewman.models.validation_exception import ValidationError, TryCatchFunction
|
||||
from brewman.models.voucher import Voucher
|
||||
from brewman.views.services.session import session_current_date_set
|
||||
from brewman.views.services.voucher import voucher_info, issue_update_voucher, purchase_update_voucher, journal_update_voucher
|
||||
@ -69,25 +69,20 @@ class update_voucher(object):
|
||||
def salary_deduction(self):
|
||||
return self.update()
|
||||
|
||||
@TryCatchFunction
|
||||
def update(self):
|
||||
if self.error is not None:
|
||||
return self.error
|
||||
try:
|
||||
if self.json['Type'] in ['Journal', 'Payment', 'Receipt']:
|
||||
voucher = journal_update_voucher(self.voucher, self.json, self.user)
|
||||
elif self.json['Type'] in ['Purchase']:
|
||||
voucher = purchase_update_voucher(self.voucher, self.json, self.user)
|
||||
elif self.json['Type'] in ['Purchase Return']:
|
||||
voucher = purchase_return_update_voucher(self.voucher, self.json, self.user)
|
||||
elif self.json['Type'] in ['Issue']:
|
||||
voucher = issue_update_voucher(self.voucher, self.json, self.user)
|
||||
elif self.json['Type'] in ['Salary Deduction']:
|
||||
voucher = salary_deduction_update_voucher(self.voucher, self.json, self.user)
|
||||
transaction.commit()
|
||||
session_current_date_set(self.request,self.json['Date'])
|
||||
return voucher_info(Voucher.by_id(voucher.id))
|
||||
except (ValidationError, ValueError, KeyError, AttributeError) as ex:
|
||||
transaction.abort()
|
||||
response = Response("Failed validation: {0}".format(str(ex)))
|
||||
response.status_int = 500
|
||||
return response
|
||||
if self.json['Type'] in ['Journal', 'Payment', 'Receipt']:
|
||||
voucher = journal_update_voucher(self.voucher, self.json, self.user)
|
||||
elif self.json['Type'] in ['Purchase']:
|
||||
voucher = purchase_update_voucher(self.voucher, self.json, self.user)
|
||||
elif self.json['Type'] in ['Purchase Return']:
|
||||
voucher = purchase_return_update_voucher(self.voucher, self.json, self.user)
|
||||
elif self.json['Type'] in ['Issue']:
|
||||
voucher = issue_update_voucher(self.voucher, self.json, self.user)
|
||||
elif self.json['Type'] in ['Salary Deduction']:
|
||||
voucher = salary_deduction_update_voucher(self.voucher, self.json, self.user)
|
||||
transaction.commit()
|
||||
session_current_date_set(self.request, self.json['Date'])
|
||||
return voucher_info(Voucher.by_id(voucher.id))
|
||||
|
||||
Reference in New Issue
Block a user