Merge pull request #275 from expsa/fix_api_web

some task
This commit is contained in:
AbuzarExp 2024-07-18 17:33:15 +03:00 committed by GitHub
commit 931eb2d64f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 62 deletions

View File

@ -146,7 +146,7 @@ class OverTimeController(http.Controller):
data = kw.get('lines', {})
if data:
data = json.loads(data)
data = json.loads(data["lines"])
# data = json.loads(data["lines"])
http_method, body, headers, token = http_helper.parse_request()
result = validator.verify_token(token)
if not result['status']:

View File

@ -12,7 +12,6 @@ import json
import logging
from odoo.exceptions import ValidationError, Warning
from odoo.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT
from datetime import datetime ,timedelta
_logger = logging.getLogger(__name__)
import re
@ -58,9 +57,7 @@ class PermissionController(http.Controller):
"id": per.id,
"date_from": str(per.date_from),
"date_to": str(per.date_to),
"time_permission_from": self.convert_float_2time(per.time_permission_from),
"time_permission_to": self.convert_float_2time(per.time_permission_to),
"duration": self.convert_float_2time(per.duration),
"duration": per.duration,
"date": str(per.date),
"state": validator.get_state_name(per, per.state),
"state_name": per.state,
@ -100,10 +97,6 @@ class PermissionController(http.Controller):
return http_helper.response(code=400, message="Enter Early Exit for Permission request", success=False)
if not body.get('mission_purpose'):
return http_helper.response(code=400, message="mission purpose for Permission request", success=False)
if not body.get('time_float_from'):
return http_helper.response(code=400, message="Time From for Permission request", success=False)
if not body.get('time_float_to'):
return http_helper.response(code=400, message="Time To for Permission request", success=False)
employee = http.request.env['hr.employee'].search([('user_id', '=', user.id)], limit=1)
if not employee:
return http_helper.response(code=400,
@ -111,28 +104,22 @@ class PermissionController(http.Controller):
"You Have issue in your employee profile. please check with one of your team admins"),
success=False)
try:
date = body.get('date')
date = datetime.strptime(str(date),DEFAULT_SERVER_DATETIME_FORMAT).date()
time_float_from = float(body.get('time_float_from'))
time_float_to = float(body.get('time_float_to'))
obj_permission=http.request.env["hr.personal.permission"].sudo()
date_from = str(obj_permission._combine_date_and_time(date,time_float_from))
date_to = str(obj_permission._combine_date_and_time(date,time_float_to))
permission_number = self.permission_number_decrement(employee, date_from, date_to)
permission = obj_permission.create(
permission_number = self.permission_number_decrement(employee, body['date_from'], body['date_to'])
permission = (
http.request.env["hr.personal.permission"]
.sudo()
.create(
{
"employee_id": employee.id,
# "date_from": body["date_from"],
# "date_to": body["date_to"],
"time_permission_from": time_float_from,
"time_permission_to": time_float_to,
"date_from": body["date_from"],
"date_to": body["date_to"],
"early_exit": body["early_exit"],
"mission_purpose": body["mission_purpose"],
"permission_number": permission_number,
"date": body["date"],
}
)
)
permission.permission_number_decrement()
if 'attachment' in body and body['attachment']:
attach = http.request.env['ir.attachment'].sudo().create({
@ -149,11 +136,9 @@ class PermissionController(http.Controller):
data = {
"id": permission.id,
"date": str(permission.date),
"duration": permission.duration,
"date_from": str(permission.date_from),
"date_to": str(permission.date_to),
"time_permission_from": self.convert_float_2time(permission.time_permission_from),
"time_permission_to": self.convert_float_2time(permission.time_permission_to),
"duration": self.convert_float_2time(permission.duration),
"early_exit": permission.early_exit,
"state": validator.get_state_name(permission, permission.state),
"state_name": permission.state,
@ -186,10 +171,6 @@ class PermissionController(http.Controller):
success=False)
if not body.get('early_exit'):
return http_helper.response(code=400, message=_("Enter Early Exit for Permission request"), success=False)
if not body.get('time_float_from'):
return http_helper.response(code=400, message="Time From for Permission request", success=False)
if not body.get('time_float_to'):
return http_helper.response(code=400, message="Time To for Permission request", success=False)
employee = http.request.env['hr.employee'].search([('user_id', '=', user.id)], limit=1)
if not employee:
return http_helper.response(code=400,
@ -199,27 +180,13 @@ class PermissionController(http.Controller):
try:
permission = http.request.env['hr.personal.permission'].search([('id', '=', id)])
if permission:
date = body.get('date')
date = datetime.strptime(str(date),DEFAULT_SERVER_DATETIME_FORMAT).date()
time_float_from = float(body.get('time_float_from'))
time_float_to = float(body.get('time_float_to'))
obj_permission=http.request.env["hr.personal.permission"].sudo()
date_from = str(obj_permission._combine_date_and_time(date,time_float_from))
date_to = str(obj_permission._combine_date_and_time(date,time_float_to))
permission_number = self.permission_number_decrement(employee, date_from, date_to)
permission.write(
{
"employee_id": permission.employee_id.id,
# "date_from": body["date_from"],
# "date_to": body["date_to"],
"time_permission_from": time_float_from,
"time_permission_to": time_float_to,
"early_exit": body["early_exit"],
"date": body["date"],
"mission_purpose": body["mission_purpose"],
"permission_number": permission_number,
}
)
{'employee_id': permission.employee_id.id, 'date_from': body['date_from'],
'date_to': body['date_to'],
'early_exit': body['early_exit'],
'date': body['date'],
'mission_purpose': body['mission_purpose'],
})
if 'attachment' in body and body['attachment']:
attach = http.request.env['ir.attachment'].sudo().create({
@ -234,9 +201,7 @@ class PermissionController(http.Controller):
data = {
"id": permission.id,
"date": str(permission.date),
"time_permission_from": self.convert_float_2time(permission.time_permission_from),
"time_permission_to": self.convert_float_2time(permission.time_permission_to),
"duration": self.convert_float_2time(permission.duration),
"duration": permission.duration,
"date_from": str(permission.date_from),
"date_to": str(permission.date_to),
"early_exit": permission.early_exit,
@ -285,9 +250,7 @@ class PermissionController(http.Controller):
data = {
"id": permission.id,
"date": str(permission.date),
"time_permission_from": self.convert_float_2time(permission.time_permission_from),
"time_permission_to": self.convert_float_2time(permission.time_permission_to),
"duration": self.convert_float_2time(permission.duration),
"duration": permission.duration,
"date_from": str(permission.date_from),
"date_to": str(permission.date_to),
"early_exit": permission.early_exit,
@ -443,9 +406,3 @@ class PermissionController(http.Controller):
url = url_base + "/api/content/%s" % (att.id)
li.append(url)
return li
def convert_float_2time(self,time):
td = timedelta(hours=time)
dt = datetime.min + td
time = "{:%H:%M}".format(dt)
return time