Merge pull request #3657 from expsa/kch_dev_odex25_mobile
Add completed (done) page for application mobile
This commit is contained in:
commit
508fc84b93
|
|
@ -497,7 +497,7 @@ class EmployeeOtherRequestController(http.Controller):
|
||||||
# --------------------------------------------
|
# --------------------------------------------
|
||||||
@http.route(['/rest_api/v2/employee_other_request'],
|
@http.route(['/rest_api/v2/employee_other_request'],
|
||||||
type='http', auth='none', csrf=False, methods=['GET'])
|
type='http', auth='none', csrf=False, methods=['GET'])
|
||||||
def get_all_requests(self, **kw):
|
def get_all_requests(self,done=None, **kw):
|
||||||
http_method, body, headers, token = http_helper.parse_request()
|
http_method, body, headers, token = http_helper.parse_request()
|
||||||
|
|
||||||
# 1) Check Token
|
# 1) Check Token
|
||||||
|
|
@ -521,11 +521,14 @@ class EmployeeOtherRequestController(http.Controller):
|
||||||
page = int(kw.get("page", 1))
|
page = int(kw.get("page", 1))
|
||||||
sort = kw.get("sort", "") # e.g. 'date' or '-state'
|
sort = kw.get("sort", "") # e.g. 'date' or '-state'
|
||||||
approvel = kw.get("approvel", 0)
|
approvel = kw.get("approvel", 0)
|
||||||
|
# done = kw.get("done", 0)
|
||||||
filters_str = kw.get("filters", "") # e.g. 'state=approved'
|
filters_str = kw.get("filters", "") # e.g. 'state=approved'
|
||||||
page, offset, limit, prev = validator.get_page_pagination(page)
|
page, offset, limit, prev = validator.get_page_pagination(page)
|
||||||
domain = [('employee_id', '=', employee.id)]
|
domain = [('employee_id', '=', employee.id)]
|
||||||
if approvel:
|
if approvel:
|
||||||
domain=[('state', '!=', 'draft'),('employee_id', '!=', employee.id)]
|
domain=[('state', 'not in', ['approved','refuse']),('employee_id', '!=', employee.id)]
|
||||||
|
elif done:
|
||||||
|
domain = [('state', 'in', ['approved','refuse']), ('employee_id', '!=', employee.id)]
|
||||||
if filters_str:
|
if filters_str:
|
||||||
# Very naive filter parser: "state=approved;request_type=insurance"
|
# Very naive filter parser: "state=approved;request_type=insurance"
|
||||||
for part in filters_str.split(";"):
|
for part in filters_str.split(";"):
|
||||||
|
|
@ -556,9 +559,9 @@ class EmployeeOtherRequestController(http.Controller):
|
||||||
request_list = convert_dates_in_data(request_list)
|
request_list = convert_dates_in_data(request_list)
|
||||||
|
|
||||||
next_page = validator.get_page_pagination_next(page, all_records)
|
next_page = validator.get_page_pagination_next(page, all_records)
|
||||||
next_url = "/rest_api/v2/employee_other_request?approvel=%s&page=%s" % (
|
next_url = "/rest_api/v2/employee_other_request?approvel=%s&done=%s&page=%s" % (
|
||||||
approvel, next_page) if next_page else False
|
approvel,done, next_page) if next_page else False
|
||||||
prev_url = "/rest_api/v2/employee_other_request?approvel=%s&page=%s" % (approvel, prev) if prev else False
|
prev_url = "/rest_api/v2/employee_other_request?approvel=%s&done=%s&page=%s" % (approvel,done, prev) if prev else False
|
||||||
data = {
|
data = {
|
||||||
'links': {
|
'links': {
|
||||||
'prev': prev_url,
|
'prev': prev_url,
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ import re
|
||||||
class LoanController(http.Controller):
|
class LoanController(http.Controller):
|
||||||
# loans
|
# loans
|
||||||
@http.route(['/rest_api/v2/loans'], type='http', auth='none', csrf=False, methods=['GET'])
|
@http.route(['/rest_api/v2/loans'], type='http', auth='none', csrf=False, methods=['GET'])
|
||||||
def get_loan(self,approvel=None,page=None, **kw):
|
def get_loan(self,approvel=None,done=None,page=None, **kw):
|
||||||
http_method, body, headers, token = http_helper.parse_request()
|
http_method, body, headers, token = http_helper.parse_request()
|
||||||
result = validator.verify_token(token)
|
result = validator.verify_token(token)
|
||||||
if not result['status']:
|
if not result['status']:
|
||||||
|
|
@ -41,8 +41,14 @@ class LoanController(http.Controller):
|
||||||
loan_advantage = http.request.env['loan.request.type'].search([])
|
loan_advantage = http.request.env['loan.request.type'].search([])
|
||||||
if approvel:
|
if approvel:
|
||||||
# domain = []
|
# domain = []
|
||||||
loans = http.request.env['hr.loan.salary.advance'].search([('employee_id', '!=', employee.id),('state', '!=', 'draft')], order='date desc', offset=offset, limit=limit)
|
loans = http.request.env['hr.loan.salary.advance'].search([('employee_id', '!=', employee.id),('state', 'not in', ['pay','closed','refused'])], order='date desc', offset=offset, limit=limit)
|
||||||
count = http.request.env['hr.loan.salary.advance'].search_count([('employee_id', '!=', employee.id),('state', '!=', 'draft')])
|
count = http.request.env['hr.loan.salary.advance'].search_count([('employee_id', '!=', employee.id),('state', 'not in', ['pay','closed','refused'])])
|
||||||
|
elif done:
|
||||||
|
loans = http.request.env['hr.loan.salary.advance'].search(
|
||||||
|
[('employee_id', '!=', employee.id), ('state', 'in', ['pay','closed','refused'])], order='date desc', offset=offset,
|
||||||
|
limit=limit)
|
||||||
|
count = http.request.env['hr.loan.salary.advance'].search_count(
|
||||||
|
[('employee_id', '!=', employee.id), 'in', ['pay','closed','refused']])
|
||||||
else:
|
else:
|
||||||
loans = http.request.env['hr.loan.salary.advance'].search([('employee_id', '=', employee.id)], order='date desc', offset=offset, limit=limit)
|
loans = http.request.env['hr.loan.salary.advance'].search([('employee_id', '=', employee.id)], order='date desc', offset=offset, limit=limit)
|
||||||
count = http.request.env['hr.loan.salary.advance'].search_count([('employee_id', '=', employee.id)])
|
count = http.request.env['hr.loan.salary.advance'].search_count([('employee_id', '=', employee.id)])
|
||||||
|
|
@ -71,8 +77,8 @@ class LoanController(http.Controller):
|
||||||
value['lines'] = lines
|
value['lines'] = lines
|
||||||
li.append(value)
|
li.append(value)
|
||||||
next = validator.get_page_pagination_next(page, count)
|
next = validator.get_page_pagination_next(page, count)
|
||||||
url = "/rest_api/v2/loans?approvel=%s&page=%s" % (approvel, next) if next else False
|
url = "/rest_api/v2/loans?approvel=%s&done=%s&page=%s" % (approvel,done, next) if next else False
|
||||||
prev_url = "/rest_api/v2/loans?approvel=%s&page=%s" % (approvel, prev) if prev else False
|
prev_url = "/rest_api/v2/loans?approvel=%s&done=%s&page=%s" % (approvel,done, prev) if prev else False
|
||||||
data = {'links': {'prev': prev_url, 'next': url, },
|
data = {'links': {'prev': prev_url, 'next': url, },
|
||||||
'count': count,
|
'count': count,
|
||||||
'results':{'loan_types': types, 'employee_loans': li }}
|
'results':{'loan_types': types, 'employee_loans': li }}
|
||||||
|
|
|
||||||
|
|
@ -325,7 +325,7 @@ class HrOfficialMissionController(http.Controller):
|
||||||
# ----------------------------------------------------------
|
# ----------------------------------------------------------
|
||||||
@http.route(['/rest_api/v2/hr_official_mission'],
|
@http.route(['/rest_api/v2/hr_official_mission'],
|
||||||
type='http', auth='none', csrf=False, methods=['GET'])
|
type='http', auth='none', csrf=False, methods=['GET'])
|
||||||
def get_all_missions(self, **kw):
|
def get_all_missions(self,done=None, **kw):
|
||||||
"""
|
"""
|
||||||
Query parameters:
|
Query parameters:
|
||||||
page (optional, default=1)
|
page (optional, default=1)
|
||||||
|
|
@ -352,13 +352,16 @@ class HrOfficialMissionController(http.Controller):
|
||||||
# 2) Build domain & pagination
|
# 2) Build domain & pagination
|
||||||
page = int(kw.get('page', 1))
|
page = int(kw.get('page', 1))
|
||||||
approvel = kw.get('approvel', 0)
|
approvel = kw.get('approvel', 0)
|
||||||
|
# done = kw.get('done', 0)
|
||||||
sort = kw.get('sort') # e.g. 'date_from' or '-state'
|
sort = kw.get('sort') # e.g. 'date_from' or '-state'
|
||||||
filters_str = kw.get('filters')
|
filters_str = kw.get('filters')
|
||||||
page, offset, limit, prev = validator.get_page_pagination(page)
|
page, offset, limit, prev = validator.get_page_pagination(page)
|
||||||
|
|
||||||
domain = [('employee_id', '=', employee.id)]
|
domain = [('employee_id', '=', employee.id)]
|
||||||
if approvel:
|
if approvel:
|
||||||
domain=[('state', '!=', 'draft'),('employee_id', '!=', employee.id)]
|
domain=[('state', 'not in', ['approve','refused']),('employee_id', '!=', employee.id)]
|
||||||
|
elif done:
|
||||||
|
domain = [('state', 'in', ['approve','refused']), ('employee_id', '!=', employee.id)]
|
||||||
|
|
||||||
if filters_str:
|
if filters_str:
|
||||||
# Very basic parse; adapt as you like.
|
# Very basic parse; adapt as you like.
|
||||||
|
|
@ -390,9 +393,9 @@ class HrOfficialMissionController(http.Controller):
|
||||||
data_list = convert_dates_in_data(data_list)
|
data_list = convert_dates_in_data(data_list)
|
||||||
|
|
||||||
next_page = validator.get_page_pagination_next(page, all_missions)
|
next_page = validator.get_page_pagination_next(page, all_missions)
|
||||||
next_url = "/rest_api/v2/employee_other_request?approvel=%s&page=%s" % (
|
next_url = "/rest_api/v2/employee_other_request?approvel=%s&done=%s&page=%s" % (
|
||||||
approvel, next_page) if next_page else False
|
approvel,done, next_page) if next_page else False
|
||||||
prev_url = "/rest_api/v2/employee_other_request?approvel=%s&page=%s" % (approvel, prev) if prev else False
|
prev_url = "/rest_api/v2/employee_other_request?approvel=%s&done=%s&page=%s" % (approvel,done, prev) if prev else False
|
||||||
data = {
|
data = {
|
||||||
'links': {
|
'links': {
|
||||||
'prev': prev_url,
|
'prev': prev_url,
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ class OverTimeController(http.Controller):
|
||||||
return http_helper.errcode(code=403, message=message)
|
return http_helper.errcode(code=403, message=message)
|
||||||
|
|
||||||
@http.route(['/rest_api/v2/overtimes'], type='http', auth='none', csrf=False, methods=['GET'])
|
@http.route(['/rest_api/v2/overtimes'], type='http', auth='none', csrf=False, methods=['GET'])
|
||||||
def get_overtime(self,approvel=None,page=None, **kw):
|
def get_overtime(self,approvel=None,done=None,page=None, **kw):
|
||||||
page = page if page else 1
|
page = page if page else 1
|
||||||
page, offset, limit, prev = validator.get_page_pagination(page)
|
page, offset, limit, prev = validator.get_page_pagination(page)
|
||||||
http_method, body, headers, token = http_helper.parse_request()
|
http_method, body, headers, token = http_helper.parse_request()
|
||||||
|
|
@ -75,9 +75,14 @@ class OverTimeController(http.Controller):
|
||||||
success=False)
|
success=False)
|
||||||
try:
|
try:
|
||||||
if approvel:
|
if approvel:
|
||||||
domain = [('state','!=','draft'),('line_ids_over_time.employee_id', '!=', employee.id)]
|
domain = [('state','not in',['refused','validated']),('line_ids_over_time.employee_id', '!=', employee.id)]
|
||||||
overtime = http.request.env['employee.overtime.request'].search(domain, order='request_date desc', offset=offset, limit=limit)
|
overtime = http.request.env['employee.overtime.request'].search(domain, order='request_date desc', offset=offset, limit=limit)
|
||||||
count = http.request.env['employee.overtime.request'].search_count(domain)
|
count = http.request.env['employee.overtime.request'].search_count(domain)
|
||||||
|
elif done:
|
||||||
|
domain = [('state', 'in', ['refused','validated']), ('line_ids_over_time.employee_id', '!=', employee.id)]
|
||||||
|
overtime = http.request.env['employee.overtime.request'].search(domain, order='request_date desc',
|
||||||
|
offset=offset, limit=limit)
|
||||||
|
count = http.request.env['employee.overtime.request'].search_count(domain)
|
||||||
else:
|
else:
|
||||||
overtime = http.request.env['employee.overtime.request'].search([('line_ids_over_time.employee_id', '=', employee.id)], order='request_date desc', offset=offset, limit=limit)
|
overtime = http.request.env['employee.overtime.request'].search([('line_ids_over_time.employee_id', '=', employee.id)], order='request_date desc', offset=offset, limit=limit)
|
||||||
count = http.request.env['employee.overtime.request'].search_count([('line_ids_over_time.employee_id', '=', employee.id)])
|
count = http.request.env['employee.overtime.request'].search_count([('line_ids_over_time.employee_id', '=', employee.id)])
|
||||||
|
|
@ -134,8 +139,8 @@ class OverTimeController(http.Controller):
|
||||||
value['employees'] = emps
|
value['employees'] = emps
|
||||||
over.append(value)
|
over.append(value)
|
||||||
next = validator.get_page_pagination_next(page, count)
|
next = validator.get_page_pagination_next(page, count)
|
||||||
url = "/rest_api/v2/overtimes?page=%s" % (approvel, next) if next else False
|
url = "/rest_api/v2/overtimes?approvel=%s&done=%s&page=%s" % (approvel,done, next) if next else False
|
||||||
prev_url = "/rest_api/v2/overtimes?page=%s" % (approvel, prev) if prev else False
|
prev_url = "/rest_api/v2/overtimes?approvel=%s&done=%s&page=%s" % (approvel,done, prev) if prev else False
|
||||||
data = {'links': {'prev': prev_url, 'next': url, },
|
data = {'links': {'prev': prev_url, 'next': url, },
|
||||||
'count': count,
|
'count': count,
|
||||||
'results': {'overtimes': over,}}
|
'results': {'overtimes': over,}}
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ from odoo.tools.translate import _
|
||||||
class PermissionController(http.Controller):
|
class PermissionController(http.Controller):
|
||||||
# Permission
|
# Permission
|
||||||
@http.route(['/rest_api/v2/permissions'], type='http', auth='none', csrf=False, methods=['GET'])
|
@http.route(['/rest_api/v2/permissions'], type='http', auth='none', csrf=False, methods=['GET'])
|
||||||
def get_permission(self, approvel=None, page=None, **kw):
|
def get_permission(self, approvel=None, done=None,page=None, **kw):
|
||||||
page = page if page else 1
|
page = page if page else 1
|
||||||
page, offset, limit, prev = validator.get_page_pagination(page)
|
page, offset, limit, prev = validator.get_page_pagination(page)
|
||||||
http_method, body, headers, token = http_helper.parse_request()
|
http_method, body, headers, token = http_helper.parse_request()
|
||||||
|
|
@ -43,7 +43,11 @@ class PermissionController(http.Controller):
|
||||||
count = 0
|
count = 0
|
||||||
emp = []
|
emp = []
|
||||||
if approvel:
|
if approvel:
|
||||||
domain = [('state', '!=', 'draft'), ('employee_id', '!=', employee.id)]
|
domain = [('state', 'not in', ['approve','refused']), ('employee_id', '!=', employee.id)]
|
||||||
|
permissions = http.request.env['hr.personal.permission'].search(domain, offset=offset, limit=limit)
|
||||||
|
count = http.request.env['hr.personal.permission'].search_count(domain)
|
||||||
|
elif done:
|
||||||
|
domain = [('state', 'in', ['approve','refused']), ('employee_id', '!=', employee.id)]
|
||||||
permissions = http.request.env['hr.personal.permission'].search(domain, offset=offset, limit=limit)
|
permissions = http.request.env['hr.personal.permission'].search(domain, offset=offset, limit=limit)
|
||||||
count = http.request.env['hr.personal.permission'].search_count(domain)
|
count = http.request.env['hr.personal.permission'].search_count(domain)
|
||||||
else:
|
else:
|
||||||
|
|
@ -71,8 +75,8 @@ class PermissionController(http.Controller):
|
||||||
}
|
}
|
||||||
emp.append(value)
|
emp.append(value)
|
||||||
next = validator.get_page_pagination_next(page, count)
|
next = validator.get_page_pagination_next(page, count)
|
||||||
url = "/rest_api/v2/permissions?approvel=%s&page=%s" % (approvel, next) if next else False
|
url = "/rest_api/v2/permissions?approvel=%s&done=%s&page=%s" % (approvel,done, next) if next else False
|
||||||
prev_url = "/rest_api/v2/permissions?approvel=%s&page=%s" % (approvel, prev) if prev else False
|
prev_url = "/rest_api/v2/permissions?approvel=%s&done=%s&page=%s" % (approvel,done, prev) if prev else False
|
||||||
data = {'links': {'prev': prev_url, 'next': url, }, 'count': count,
|
data = {'links': {'prev': prev_url, 'next': url, }, 'count': count,
|
||||||
'results': {'permission_types': permission_types, 'permissions': emp, 'groups': ['group_division_manager', 'group_hr_user']}}
|
'results': {'permission_types': permission_types, 'permissions': emp, 'groups': ['group_division_manager', 'group_hr_user']}}
|
||||||
return http_helper.response(message="Data Found", data=data)
|
return http_helper.response(message="Data Found", data=data)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue