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