Add odex25_evaluation_eriteria module
This commit is contained in:
parent
4b9c93892c
commit
70a122eee8
|
|
@ -0,0 +1,5 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import controllers
|
||||
from . import models
|
||||
from . import wizard
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
{
|
||||
'name': "Evaluation Eriteria",
|
||||
|
||||
'summary': """
|
||||
Short (1 phrase/line) summary of the module's purpose, used as
|
||||
subtitle on modules listing or apps.openerp.com""",
|
||||
|
||||
'description': """
|
||||
Long description of module's purpose
|
||||
""",
|
||||
# Categories can be used to filter modules in modules listing
|
||||
# Check https://github.com/odoo/odoo/blob/14.0/odoo/addons/base/data/ir_module_category_data.xml
|
||||
# for the full list
|
||||
'category': 'Uncategorized',
|
||||
'version': '0.1',
|
||||
'depends': ['base','purchase_requisition_custom'],
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'security/groups.xml',
|
||||
'views/views.xml',
|
||||
'wizard/intial_evaluation_wizard.xml',
|
||||
'wizard/final_evaluation_wizard.xml',
|
||||
'reports/initial_evaluation_view.xml',
|
||||
'reports/initial_evaluation_report.xml',
|
||||
'reports/final_evaluation_view.xml',
|
||||
'reports/final_evaluation_report.xml',
|
||||
],
|
||||
'demo': [
|
||||
'demo/demo.xml',
|
||||
],
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import controllers
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from odoo import http
|
||||
from odoo.http import request
|
||||
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<odoo>
|
||||
<data>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,778 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * odex25_evaluation_eriteria
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 14.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-04-29 10:07+0000\n"
|
||||
"PO-Revision-Date: 2025-04-29 10:07+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.actions.report,print_report_name:odex25_evaluation_eriteria.initial_evaluation_pdf_action
|
||||
#: model:ir.actions.report,print_report_name:odex25_evaluation_eriteria.initial_evaluation_view_action
|
||||
msgid "'Initial Evaluation'"
|
||||
msgstr "التقييم المبدئي"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.actions.report,print_report_name:odex25_evaluation_eriteria.final_evaluation_pdf_action
|
||||
#: model:ir.actions.report,print_report_name:odex25_evaluation_eriteria.final_evaluation_view_action
|
||||
msgid "'final Evaluation'"
|
||||
msgstr "التقييم النهائي"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "090,000.00"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "1,426%"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "126,000.00"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "2,090%"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "2,267%"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "396,35"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "70%"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "75%"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "82%"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "85%"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "88%"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_view
|
||||
msgid "<span>Not Member</span>"
|
||||
msgstr "ليس عضوا"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_view
|
||||
msgid "<span>الاسم</span>"
|
||||
msgstr "الاسم"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_view
|
||||
msgid "<span>الدور</span>"
|
||||
msgstr "الدور"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_view
|
||||
msgid ""
|
||||
"<span>العرض المقدم</span>\n"
|
||||
" <br/>\n"
|
||||
" <span>(شامل الضريبه)</span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_view
|
||||
msgid "<span>المقيم</span>"
|
||||
msgstr "المقييم"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "AS05-F02 Page 1 of 1 OE-2022 Rev. (1)"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria__attachment_ids
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type_line__attachment_ids
|
||||
msgid "Attachments"
|
||||
msgstr "المرفقات"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type__available_types
|
||||
msgid "Available Types"
|
||||
msgstr "الانواع المتاحة"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_order__avg_evaluation
|
||||
msgid "Average Evaluation"
|
||||
msgstr "متوسط التقييم"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_wizard_view
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_wizard_view
|
||||
msgid "Cancel"
|
||||
msgstr "الغاء"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__committee_member
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard__committee_member
|
||||
msgid "Committee Member"
|
||||
msgstr "عضو اللجنة"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_order__committee_members
|
||||
msgid "Committee Members"
|
||||
msgstr "اعضاء اللجان"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_requisition__committee_type_id
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_select_reason__purchase_committee_type
|
||||
msgid "Committee Type"
|
||||
msgstr "نوع اللجنة"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria__create_uid
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard__create_uid
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type_line__create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria__create_date
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard__create_date
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type_line__create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria__degree
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type_line__degree
|
||||
msgid "Degree"
|
||||
msgstr "الدرجة"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__hr_department_id
|
||||
msgid "Department"
|
||||
msgstr "الادارة"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria__display_name
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard__display_name
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type_line__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__end_date
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard__end_date
|
||||
msgid "End Date"
|
||||
msgstr "تاريخ النهاية"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria__evaluation
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type_line__evaluation
|
||||
msgid "Evaluation"
|
||||
msgstr "التقييم"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: code:addons/odex25_evaluation_eriteria/models/models.py:0
|
||||
#, python-format
|
||||
msgid "Evaluation can't be greater than Degree"
|
||||
msgstr "لا يمكن أن تكون التقييمات أكبر من الدرجة"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria__evaluation_criteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type_line__evaluation_criteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.purchase_committe_type_form_view_inherit
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.select_reason_wizard_view_inherit
|
||||
msgid "Evaluation criteria"
|
||||
msgstr "معايير التقييم"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model,name:odex25_evaluation_eriteria.model_final_evaluation_wizard
|
||||
msgid "Final Evaluation Wizard"
|
||||
msgstr "التقييم النهائي"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__id
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria__id
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard__id
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type_line__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model,name:odex25_evaluation_eriteria.model_initial_evaluation_criteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_order__initial_evaluation_lines
|
||||
msgid "Initial Evaluation Criteria"
|
||||
msgstr "معايير التقييم المدئي"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.actions.act_window,name:odex25_evaluation_eriteria.initial_evaluation_wizard_action
|
||||
#: model:ir.actions.report,name:odex25_evaluation_eriteria.initial_evaluation_pdf_action
|
||||
#: model:ir.actions.report,name:odex25_evaluation_eriteria.initial_evaluation_view_action
|
||||
#: model:ir.ui.menu,name:odex25_evaluation_eriteria.initial_evaluation_wizard_menu
|
||||
msgid "Initial Evaluation Report"
|
||||
msgstr "تقرير التقييم المبدئي"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.inherit_purchase_order_form
|
||||
msgid "Initial Evaluation criteria"
|
||||
msgstr "معايير التقييم المبدئي"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard____last_update
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria____last_update
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard____last_update
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type_line____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria__write_uid
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard__write_uid
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type_line__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria__write_date
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard__write_date
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type_line__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields.selection,name:odex25_evaluation_eriteria.selection__final_evaluation_wizard__role_type__manager
|
||||
#: model:ir.model.fields.selection,name:odex25_evaluation_eriteria.selection__initial_evaluation_wizard__role_type__manager
|
||||
msgid "Manager"
|
||||
msgstr "رئيس اللجنة"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields.selection,name:odex25_evaluation_eriteria.selection__final_evaluation_wizard__role_type__member
|
||||
#: model:ir.model.fields.selection,name:odex25_evaluation_eriteria.selection__initial_evaluation_wizard__role_type__member
|
||||
msgid "Member"
|
||||
msgstr "العضو"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria__user_id
|
||||
msgid "Member Name"
|
||||
msgstr "اسم العضو"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields.selection,name:odex25_evaluation_eriteria.selection__purchase_committee_type__available_types__operational
|
||||
#: model:ir.model.fields.selection,name:odex25_evaluation_eriteria.selection__purchase_requisition__type__operational
|
||||
msgid "Operational"
|
||||
msgstr "تشغيلى"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__move_ids
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard__move_ids
|
||||
msgid "Orders"
|
||||
msgstr "الطلبات"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_wizard_view
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_wizard_view
|
||||
msgid "Pdf"
|
||||
msgstr "بي دي اف"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria__po_id
|
||||
msgid "Po"
|
||||
msgstr "امر اشراء"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields.selection,name:odex25_evaluation_eriteria.selection__purchase_committee_type__available_types__project
|
||||
#: model:ir.model.fields.selection,name:odex25_evaluation_eriteria.selection__purchase_requisition__type__project
|
||||
msgid "Project"
|
||||
msgstr "المشروع"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__purchase_requisition
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard__purchase_requisition
|
||||
msgid "Purchase Agreement"
|
||||
msgstr "اتفاقية الشراء"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type_line__purchase_committee_type
|
||||
msgid "Purchase Committee Type"
|
||||
msgstr "نوع اللجنة"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type__purchase_committee_type_line
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_select_reason__purchase_committee_type_line
|
||||
msgid "Purchase Committee Type Line"
|
||||
msgstr "نوع لجنة الشراء"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model,name:odex25_evaluation_eriteria.model_purchase_order
|
||||
msgid "Purchase Order"
|
||||
msgstr "أمر شراء"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_wizard_view
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_wizard_view
|
||||
msgid "Purchase Report"
|
||||
msgstr "تقرير المشتريات"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model,name:odex25_evaluation_eriteria.model_purchase_requisition
|
||||
msgid "Purchase Requisition"
|
||||
msgstr "طلب الشراء"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria__req_id
|
||||
msgid "Req"
|
||||
msgstr "امر شراء مبدئي"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__role_type
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard__role_type
|
||||
msgid "Role Type"
|
||||
msgstr "نوع الدور"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_criteria__sequence
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_committee_type_line__sequence
|
||||
msgid "Sequence"
|
||||
msgstr "التسلسل"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__start_date
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard__start_date
|
||||
msgid "Start Date"
|
||||
msgstr "تاريخ البداية"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields.selection,name:odex25_evaluation_eriteria.selection__purchase_committee_type__available_types__strategic
|
||||
#: model:ir.model.fields.selection,name:odex25_evaluation_eriteria.selection__purchase_requisition__type__strategic
|
||||
msgid "Strategic"
|
||||
msgstr "استراتيجي"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: code:addons/odex25_evaluation_eriteria/models/models.py:0
|
||||
#, python-format
|
||||
msgid "The Sum of all degrees can't be equal or greater than 100"
|
||||
msgstr "مجموع جميع الدرجات لا يمكن أن يكون مساوٍ أو أكبر من 100"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: code:addons/odex25_evaluation_eriteria/wizard/final_evaluation_wizard.py:0
|
||||
#: code:addons/odex25_evaluation_eriteria/wizard/intial_evaluation_report.py:0
|
||||
#, python-format
|
||||
msgid "There is No Data to present"
|
||||
msgstr "لا توجد بيانات لعرضها"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_order__total_evaluation
|
||||
msgid "Total Evaluation"
|
||||
msgstr "التقييم الكلي"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_purchase_requisition__type
|
||||
msgid "Type"
|
||||
msgstr "النوع"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__user_id
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard__user_id
|
||||
msgid "User"
|
||||
msgstr "المستخدم"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_wizard_view
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_wizard_view
|
||||
msgid "View"
|
||||
msgstr "العرض"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: code:addons/odex25_evaluation_eriteria/wizard/final_evaluation_wizard.py:0
|
||||
#: code:addons/odex25_evaluation_eriteria/wizard/intial_evaluation_report.py:0
|
||||
#, python-format
|
||||
msgid "You Should Select Parameters"
|
||||
msgstr "لابد من تحديد المعايير"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: code:addons/odex25_evaluation_eriteria/models/models.py:0
|
||||
#, python-format
|
||||
msgid "You have already select this Quotation"
|
||||
msgstr "لقد قمت باختيار هذا العرض بالفعل"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_final_evaluation_wizard__today
|
||||
#: model:ir.model.fields,field_description:odex25_evaluation_eriteria.field_initial_evaluation_wizard__today
|
||||
msgid "Your string"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.actions.act_window,name:odex25_evaluation_eriteria.final_evaluation_wizard_action
|
||||
#: model:ir.actions.report,name:odex25_evaluation_eriteria.final_evaluation_pdf_action
|
||||
#: model:ir.actions.report,name:odex25_evaluation_eriteria.final_evaluation_view_action
|
||||
#: model:ir.ui.menu,name:odex25_evaluation_eriteria.final_evaluation_wizard_menu
|
||||
msgid "final Evaluation Report"
|
||||
msgstr "تقرير التقييم النهائي"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model,name:odex25_evaluation_eriteria.model_initial_evaluation_wizard
|
||||
msgid "initial Evaluation Wizard"
|
||||
msgstr "التقييم المبدئي"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model.fields.selection,name:odex25_evaluation_eriteria.selection__final_evaluation_wizard__role_type__not_member
|
||||
#: model:ir.model.fields.selection,name:odex25_evaluation_eriteria.selection__initial_evaluation_wizard__role_type__not_member
|
||||
msgid "not Member"
|
||||
msgstr "ليس عضوا"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model,name:odex25_evaluation_eriteria.model_purchase_committee_type
|
||||
msgid "purchase.committee.type"
|
||||
msgstr "نوع طلب الشراء"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model,name:odex25_evaluation_eriteria.model_purchase_committee_type_line
|
||||
msgid "purchase.committee.type.line"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model:ir.model,name:odex25_evaluation_eriteria.model_select_reason
|
||||
msgid "select.reason"
|
||||
msgstr "اختيار السبب"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "إدارة الفروع وخدمات المستفيدين"
|
||||
msgstr "إدارة الفروع وخدمات المستفيدين"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"إعادة صاحب\n"
|
||||
" الصالحية :"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "اسم البنـــــــد"
|
||||
msgstr "اسم البند"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
msgid "اسم البنـــــــف"
|
||||
msgstr "اسم البند"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "اسم الشركة"
|
||||
msgstr "اسم الشركة"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_view
|
||||
msgid "اسم الشركه"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"الأمين\n"
|
||||
" العام"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "الإدارة المالية"
|
||||
msgstr "الادارة المالية"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "الإدارة صاحبة الاجتماع :"
|
||||
msgstr "الادارة صاحبة الاجتماع"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_view
|
||||
msgid "الاجمالي"
|
||||
msgstr "الاجمالي"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "الاسم"
|
||||
msgstr "الاسم"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "البقاء المعتمد (حسب الموازنة التقديرية)"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_view
|
||||
msgid "التاريخ"
|
||||
msgstr "التاريخ"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_view
|
||||
msgid "التقييم"
|
||||
msgstr "التقييم"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
msgid "التواجع"
|
||||
msgstr "التراجع"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_view
|
||||
msgid "التوقيع"
|
||||
msgstr "التوقيع"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_view
|
||||
msgid "الدرجه"
|
||||
msgstr "الدرجة"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"القيم رئيس\n"
|
||||
" اللجنة / محمد التقديري"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"القيم عشر\n"
|
||||
" الجدة / اسم الخبير"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"القيم عشر\n"
|
||||
" الجدة / محمد الشيوس"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "المبالغ المخلي"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "المبالغ المرتبطة على البقاء سابقا"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "المبلغ"
|
||||
msgstr "المبلغ"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "المراكز التأهيلية"
|
||||
msgstr "المراكز التاهيلية"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "المشروع الحالي"
|
||||
msgstr "المشروع الحالي"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_view
|
||||
msgid "المعيار"
|
||||
msgstr "المعيار"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"الموضوع/\n"
|
||||
" المشروع"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "تأمين مكيفات شيك لسجون سلطة الرياض + سلطة جازان + سلطة مكة البكرسة"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"تقييم\n"
|
||||
" العروض"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"رئيس اللجنة\n"
|
||||
" / حمد الحقديري"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.initial_evaluation_report_view
|
||||
msgid "رقم"
|
||||
msgstr "رقم"
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"شركة حمد\n"
|
||||
" المنبع وشركة الدخيرة الكهربائية والتكليف"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"شركة نسم\n"
|
||||
" الهواء للدخيرة الكهربائية"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "صفر بن محمد القرني"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"عضو اللجنة/\n"
|
||||
" محمد السيجيبي"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"عضو اللجنة/\n"
|
||||
" محمد المنتهي"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "غير موافق ( )"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "لجنة تحليل التعريض والمنشوبات"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"متوسط\n"
|
||||
" التقييم"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "مصادقة"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
msgid ""
|
||||
"مصادقة\n"
|
||||
" الإدارة المالية"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"مكيفات\n"
|
||||
" الزامل"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid "موافق وتعتمد توصية اللجنة"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex25_evaluation_eriteria
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_pdf
|
||||
#: model_terms:ir.ui.view,arch_db:odex25_evaluation_eriteria.final_evaluation_report_view
|
||||
msgid ""
|
||||
"ومن خلال مقارنة العروض الثلاثة أعلاه من قبل اللجنة، وبعد تحليل العروض قبل ومثيلاً شبكاً\n"
|
||||
" للمحايير، فإن اللجنة توصي بالتحاقد مع شركة حمد المنبع وشركة الدخيرة الكهربائية والتكليف\n"
|
||||
" ، حيث أن عرضهم الأفضل والأنسب قبلاً ومثيلاً."
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import models
|
||||
|
|
@ -0,0 +1,220 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from odoo import models, fields, api, _
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
|
||||
class CommitteeTypesInherit(models.Model):
|
||||
_inherit = 'purchase.committee.type'
|
||||
|
||||
purchase_committee_type_line = fields.One2many('purchase.committee.type.line', 'purchase_committee_type')
|
||||
available_types = fields.Selection(
|
||||
selection=[('project', 'Project'), ('strategic', 'Strategic'), ('operational', 'Operational')],
|
||||
string="Available Types",
|
||||
)
|
||||
|
||||
@api.constrains('purchase_committee_type_line', 'purchase_committee_type_line.degree')
|
||||
def _check_degree(self):
|
||||
for rec in self:
|
||||
if rec.purchase_committee_type_line and sum(rec.purchase_committee_type_line.mapped('degree')) > 100:
|
||||
raise ValidationError(_("The Sum of all degrees can't be equal or greater than 100"))
|
||||
|
||||
|
||||
class CommitteeTypesInheritLine(models.Model):
|
||||
_name = 'purchase.committee.type.line'
|
||||
|
||||
purchase_committee_type = fields.Many2one('purchase.committee.type')
|
||||
sequence = fields.Integer(string="Sequence")
|
||||
evaluation = fields.Float(string="Evaluation")
|
||||
evaluation_criteria = fields.Char(string="Evaluation criteria")
|
||||
degree = fields.Float(string="Degree")
|
||||
|
||||
@api.constrains('evaluation')
|
||||
def _check_evaluation(self):
|
||||
for rec in self:
|
||||
if rec.evaluation and rec.degree and rec.evaluation > rec.degree:
|
||||
raise ValidationError(_("Evaluation can't be greater than Degree"))
|
||||
|
||||
|
||||
class PurchaseRequisitionCustomInherit(models.Model):
|
||||
_inherit = 'purchase.requisition'
|
||||
|
||||
type = fields.Selection([('project', 'Project'), ('operational', 'Operational'), ('strategic', 'Strategic')],
|
||||
default='operational')
|
||||
|
||||
committee_type_id = fields.Many2one('purchase.committee.type', string='Committee Type',
|
||||
domain="[('available_types', '=', type)]")
|
||||
|
||||
@api.onchange('type')
|
||||
def _onchange_type(self):
|
||||
if self.type:
|
||||
committees = self.env['purchase.committee.type'].search([('available_types', '=', self.type)])
|
||||
if committees:
|
||||
self.committee_type_id = committees[0]
|
||||
else:
|
||||
self.committee_type_id = False
|
||||
else:
|
||||
self.committee_type_id = False
|
||||
|
||||
|
||||
class PurchaseOrderCustomSelect(models.Model):
|
||||
_inherit = "purchase.order"
|
||||
|
||||
initial_evaluation_lines = fields.One2many(comodel_name='initial.evaluation.criteria', inverse_name='po_id',
|
||||
string='Initial Evaluation Criteria', )
|
||||
|
||||
total_evaluation = fields.Float(string='Total Evaluation', compute='_compute_evaluation')
|
||||
avg_evaluation = fields.Float(string='Average Evaluation', compute='_compute_evaluation')
|
||||
|
||||
committee_members = fields.Many2many(comodel_name='res.users', compute='_compute_committee_members',
|
||||
string='Committee Members')
|
||||
|
||||
def analytic_id_poa(self):
|
||||
print('re = ', self.requisition_id)
|
||||
for rec in self.order_line:
|
||||
analytic_account_id = rec.account_analytic_id
|
||||
return analytic_account_id
|
||||
|
||||
def get_budget_id(self):
|
||||
budget_id = self.env['budget.confirmation'].search([
|
||||
'|', '|',
|
||||
('po_id', '=', self.id),
|
||||
('ref', '=', self.name),
|
||||
('ref', '=', self.requisition_id.name)
|
||||
], limit=1)
|
||||
return budget_id
|
||||
|
||||
def get_remain_last(self):
|
||||
res = self.get_budget_id()
|
||||
print('res = ', res)
|
||||
if res:
|
||||
for rec in res.lines_ids:
|
||||
return rec.remain
|
||||
|
||||
def get_band_name(self):
|
||||
res = self.get_budget_id()
|
||||
if res:
|
||||
for rec in res.lines_ids:
|
||||
res = rec.crossovered_budget_id
|
||||
for lin in res.crossovered_budget_line:
|
||||
return lin.general_budget_id.name
|
||||
|
||||
def get_remain(self):
|
||||
res = self.get_budget_id()
|
||||
if res:
|
||||
for rec in res.lines_ids:
|
||||
res = rec.crossovered_budget_id
|
||||
for lin in res.crossovered_budget_line:
|
||||
return lin.remain
|
||||
|
||||
def get_user_approve_budget_id(self):
|
||||
res = self.get_budget_id()
|
||||
return res.approved_by_id
|
||||
|
||||
def get_date_approve_budget_id(self):
|
||||
res = self.get_budget_id()
|
||||
return res.approved_date
|
||||
|
||||
@api.depends('initial_evaluation_lines', 'initial_evaluation_lines.user_id')
|
||||
def _compute_committee_members(self):
|
||||
for rec in self:
|
||||
members = []
|
||||
rec.committee_members = False
|
||||
if rec.initial_evaluation_lines:
|
||||
members = rec.initial_evaluation_lines.mapped('user_id')
|
||||
if members:
|
||||
rec.committee_members = members.ids
|
||||
|
||||
@api.depends('initial_evaluation_lines', 'initial_evaluation_lines.evaluation')
|
||||
def _compute_evaluation(self):
|
||||
for rec in self:
|
||||
total = 0
|
||||
avg = 0
|
||||
if rec.initial_evaluation_lines:
|
||||
evaluations = rec.initial_evaluation_lines.mapped('evaluation')
|
||||
total = sum(evaluations)
|
||||
avg = sum(evaluations) / len(evaluations)
|
||||
rec.total_evaluation = total
|
||||
rec.avg_evaluation = avg
|
||||
|
||||
def action_select(self):
|
||||
for member in self.committe_members:
|
||||
if member.user_id.id == self.env.user.id and member.select == True:
|
||||
raise ValidationError(_('You have already select this Quotation'))
|
||||
self.requisition_id.actual_vote += 1
|
||||
return {
|
||||
'type': 'ir.actions.act_window',
|
||||
'name': 'Select Reason',
|
||||
'res_model': 'select.reason',
|
||||
'view_mode': 'form',
|
||||
'target': 'new',
|
||||
'context': {'default_order_id': self.id,
|
||||
'default_purchase_committee_type': self.requisition_id.committee_type_id.id if self.requisition_id else False}
|
||||
}
|
||||
|
||||
def get_evaluation_summary(self):
|
||||
member_totals = {} # {member_name: total_evaluation}
|
||||
for line in self.initial_evaluation_lines:
|
||||
name = line.user_id.name
|
||||
member_totals[name] = member_totals.get(name, 0) + line.evaluation
|
||||
return {
|
||||
'members': list(member_totals.keys()),
|
||||
'totals': member_totals,
|
||||
}
|
||||
|
||||
|
||||
class SelectReason(models.TransientModel):
|
||||
_inherit = "select.reason"
|
||||
|
||||
purchase_committee_type = fields.Many2one('purchase.committee.type', string='Committee Type')
|
||||
purchase_committee_type_line = fields.One2many('purchase.committee.type.line',
|
||||
related='purchase_committee_type.purchase_committee_type_line',
|
||||
readonly=False)
|
||||
|
||||
def action_select(self):
|
||||
self.env['committe.member'].create({
|
||||
'po_id': self.order_id,
|
||||
'user_id': self.env.user.id,
|
||||
'selection_reason': self.select_reason,
|
||||
'select': True})
|
||||
order_id = self.env['purchase.order'].browse(self.order_id)
|
||||
order_id.select = True
|
||||
|
||||
for rec in self.purchase_committee_type_line:
|
||||
self.env['initial.evaluation.criteria'].create({
|
||||
'po_id': self.order_id,
|
||||
'user_id': self.env.user.id,
|
||||
'evaluation_criteria': rec.evaluation_criteria,
|
||||
'evaluation': rec.evaluation,
|
||||
'degree': rec.degree
|
||||
})
|
||||
rec.evaluation = 0.0
|
||||
|
||||
|
||||
class InitialEvaluationCriteria(models.Model):
|
||||
_name = "initial.evaluation.criteria"
|
||||
_description = "Initial Evaluation Criteria"
|
||||
|
||||
po_id = fields.Many2one('purchase.order')
|
||||
req_id = fields.Many2one('purchase.request')
|
||||
user_id = fields.Many2one('res.users', "Member Name")
|
||||
sequence = fields.Integer(string="Sequence")
|
||||
evaluation_criteria = fields.Char(string="Evaluation criteria")
|
||||
evaluation = fields.Float(string="Evaluation")
|
||||
degree = fields.Float(string="Degree")
|
||||
|
||||
|
||||
class BudgetConfirmation(models.Model):
|
||||
_inherit = 'budget.confirmation'
|
||||
# add user sign
|
||||
approved_by_id = fields.Many2one('res.users', string='Approved By')
|
||||
approved_date = fields.Date(string='Approval Date')
|
||||
|
||||
def confirm(self):
|
||||
"""
|
||||
change state to confirm and check budget
|
||||
"""
|
||||
super(BudgetConfirmation, self).confirm()
|
||||
# add user sign
|
||||
self.approved_by_id = self.env.user
|
||||
self.approved_date = fields.Date.today()
|
||||
# end
|
||||
|
|
@ -0,0 +1,354 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="final_evaluation_pdf_report_action" model="ir.actions.report">
|
||||
<field name="name">final Evaluation Report</field>
|
||||
<field name="model">final.evaluation.wizard</field>
|
||||
<field name="report_type">qweb-pdf</field>
|
||||
<field name="report_name">odex25_evaluation_eriteria.final_evaluation_report_pdf</field>
|
||||
<field name="report_file">odex25_evaluation_eriteria.final_evaluation_report_pdf</field>
|
||||
<field name="binding_model_id" ref="model_final_evaluation_wizard"/>
|
||||
<field name="print_report_name">'final Evaluation'</field>
|
||||
<field name="binding_type">report</field>
|
||||
</record>
|
||||
<template id="final_evaluation_report_pdf">
|
||||
<t t-call="web.html_container">
|
||||
<t t-foreach="docs" t-as="doc">
|
||||
<t t-call="web.external_layout">
|
||||
<div class="page">
|
||||
<div style="text-align:center">
|
||||
<div class="header"
|
||||
style="background-color:gray;border: 1px solid black;text-align: center; font-size: 18px; font-weight: bold;">
|
||||
لجنة تحليل العروض والمشتريات
|
||||
</div>
|
||||
<t t-foreach="doc.move_ids" t-as="order">
|
||||
|
||||
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
الموضوع/
|
||||
المشروع
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<span t-esc="order.requisition_id.purpose or order.purpose"/>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Administration Section -->
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table dir="rtl" style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;"
|
||||
colspan="1"
|
||||
rowspan="2">
|
||||
الإدارة صاحبة الاحتياج :
|
||||
</th>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;"
|
||||
colspan="1"
|
||||
rowspan="2">
|
||||
<span t-esc="order.department_id.name or order.requisition_id.department_id.name"/>
|
||||
</td>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
البقاء المعتمد (حسب الموازنة التقديرية)
|
||||
</th>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<t t-if="order.analytic_id_poa()">
|
||||
<span t-esc="order.analytic_id_poa().name"/>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<span>-</span>
|
||||
</t>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr t-if='order.get_budget_id()'>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
المبالغ المرتبطة على البند سابقا
|
||||
</th>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<span t-esc="abs(order.get_remain_last() or 0)"/>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th t-if='order.get_budget_id()'
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;"
|
||||
colspan="1"
|
||||
rowspan="2">
|
||||
اسم البنـــــــد
|
||||
</th>
|
||||
<td t-if='order.get_budget_id()'
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;"
|
||||
colspan="1"
|
||||
rowspan="2">
|
||||
<t t-if="order.get_budget_id()">
|
||||
<span t-esc="order.get_band_name()"/>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<span>-</span>
|
||||
</t>
|
||||
</td>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
المشروع الحالي
|
||||
</th>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<t t-esc='order.amount_total'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr t-if='order.get_budget_id()'>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
المبلغ المتبقي
|
||||
</th>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<span t-esc="abs(order.get_remain() or 0)"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Financial Approval Section -->
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table dir="rtl" style="width: 100%; border-collapse: collapse;">
|
||||
<tr t-if="order.get_budget_id()">
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center; vertical-align: middle;">
|
||||
<div style="vertical-align: top;">مصادقة</div>
|
||||
<div>الإدارة المالية</div>
|
||||
</th>
|
||||
<th t-if="order.get_budget_id()"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center; vertical-align: top;">
|
||||
<div style="vertical-align: top;">
|
||||
<t>
|
||||
<span>الاسم</span>
|
||||
<br/>
|
||||
<span t-esc="order.get_user_approve_budget_id().name"/>
|
||||
</t>
|
||||
</div>
|
||||
</th>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center; vertical-align: top;">
|
||||
<div style="vertical-align: top;">
|
||||
<t>
|
||||
<span>التوقيع</span>
|
||||
<br/>
|
||||
<div style="padding-top:37px;">
|
||||
<img t-if="user.sign_signature" class="image"
|
||||
t-att-src="'data:image/png;base64,%s' % to_text(user.sign_signature)"
|
||||
style="width:60px; height:60px;margin-top:-40px"/>
|
||||
</div>
|
||||
</t>
|
||||
</div>
|
||||
</th>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center; vertical-align: top;">
|
||||
<div style="vertical-align: top;">
|
||||
<span>التاريخ</span>
|
||||
<br/>
|
||||
<span t-esc="order.get_date_approve_budget_id()"/>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
تقييم
|
||||
العروض
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<!-- Offers Evaluation Section -->
|
||||
<t t-set="data" t-value="order.get_evaluation_summary()"/>
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table dir="rtl" style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
م
|
||||
</th>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
اسم
|
||||
الشركة
|
||||
</th>
|
||||
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
المبلغ
|
||||
</th>
|
||||
<th t-foreach="data['members']" t-as="member"
|
||||
t-if="order.initial_evaluation_lines"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
تقييم عضو اللجنة/
|
||||
<br/>
|
||||
<span t-esc="member"/>
|
||||
</th>
|
||||
<th t-if="order.initial_evaluation_lines"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
متوسط
|
||||
التقييم
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<t t-set="count" t-value="0"/>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<t t-set="count" t-value="count+1"/>
|
||||
<span t-esc="count"/>
|
||||
</td>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<t t-esc='order.partner_id.name'/>
|
||||
</td>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<t t-esc='order.amount_total'/>
|
||||
</td>
|
||||
<td t-if="order.initial_evaluation_lines" t-foreach="data['members']"
|
||||
t-as="member"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<span t-esc="data['totals'][member]"/>
|
||||
</td>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;"
|
||||
t-if="order.initial_evaluation_lines">
|
||||
<span t-esc="'%.2f' % order.avg_evaluation"/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Committee Recommendation Section -->
|
||||
<!-- Committee Signatures Section -->
|
||||
</t>
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
:راي اللجنة
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border: 1px solid black; padding: 10px;">
|
||||
<p style="text-align: justify;">
|
||||
ومن خلال مقارنة العروض
|
||||
السابقة أعلاه من قبل اللجنة، وبعد تحليل
|
||||
العروض فنيا
|
||||
وماليا
|
||||
طبقا للمعايير,
|
||||
، حيث العرض الأفضل والأنسب قبلاً وماليا.
|
||||
فإن اللجنة توصي بالتعاقد مع
|
||||
<br/>
|
||||
<span dir="rtl" t-esc="doc.get_max_average_evaluation()"/>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<t t-set="first_move" t-value="doc.move_ids[0]"/>
|
||||
<t t-if="first_move.requisition_id.committee_type_id">
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th colspan='3'
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
توقيع اعضاء اللجنة
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th t-if="first_move.requisition_id.committee_type_id.committe_members"
|
||||
t-foreach="first_move.requisition_id.committee_type_id.committe_members"
|
||||
t-as="member"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
عضو
|
||||
اللجنة/
|
||||
<span t-esc="member.name"/>
|
||||
</th>
|
||||
|
||||
<th t-if="first_move.requisition_id.committee_type_id.committe_head"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
رئيس
|
||||
اللجنة
|
||||
/
|
||||
<span t-esc="first_move.requisition_id.committee_type_id.committe_head.name"/>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th t-if="first_move.requisition_id.committee_type_id.committe_members"
|
||||
t-foreach="[s for s in first_move.requisition_id.committee_type_id.committe_members if s]"
|
||||
t-as="sign"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<div style="padding-top:36px;">
|
||||
<img t-if="sign.sign_signature" class="image"
|
||||
t-att-src="'data:image/png;base64,%s' % to_text(sign.sign_signature)"
|
||||
style="width:70px; height:70px;margin-top:-40px"/>
|
||||
</div>
|
||||
</th>
|
||||
|
||||
|
||||
<th t-if="first_move.requisition_id.committee_type_id.committe_head.sign_signature"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<div style="padding-top:36px;">
|
||||
<img class="image"
|
||||
t-att-src="'data:image/png;base64,%s' % to_text(first_move.requisition_id.committee_type_id.committe_head.sign_signature)"
|
||||
style="width:70px; height:70px;margin-top:-40px"/>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</t>
|
||||
<!-- end-->
|
||||
<!-- Final Approval Section -->
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table dir="rtl" style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th colspan="2"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
إعادة
|
||||
صاحب
|
||||
الصالحية :
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<p>موافق وتعتمد توصية اللجنة()</p>
|
||||
</td>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
الأمين
|
||||
العام
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
غير موافق ( )
|
||||
</td>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
احمد بن عدلان الشمراني
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!---->
|
||||
|
||||
</div>
|
||||
<!-- Footer -->
|
||||
<div class="footer"
|
||||
style="background-color: #003366; color: white;margin-top: 20px; text-align: center;">
|
||||
AS05-F02 Page 1 of 1 OE-2022 Rev. (1)
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,355 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="final_evaluation_view_action" model="ir.actions.report">
|
||||
<field name="name">final Evaluation Report</field>
|
||||
<field name="model">final.evaluation.wizard</field>
|
||||
<field name="report_type">qweb-html</field>
|
||||
<field name="report_name">odex25_evaluation_eriteria.final_evaluation_report_view</field>
|
||||
<field name="report_file">odex25_evaluation_eriteria.final_evaluation_report_view</field>
|
||||
<field name="binding_model_id" ref="model_final_evaluation_wizard"/>
|
||||
<field name="print_report_name">'final Evaluation'</field>
|
||||
<field name="binding_type">report</field>
|
||||
</record>
|
||||
|
||||
<template id="final_evaluation_report_view">
|
||||
<t t-call="web.html_container">
|
||||
<t t-foreach="docs" t-as="doc">
|
||||
<t t-call="web.external_layout">
|
||||
<div class="page">
|
||||
<div style="text-align:center">
|
||||
<div class="header"
|
||||
style="background-color:gray;border: 1px solid black;text-align: center; font-size: 18px; font-weight: bold;">
|
||||
لجنة تحليل العروض والمشتريات
|
||||
</div>
|
||||
<t t-foreach="doc.move_ids" t-as="order">
|
||||
|
||||
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
الموضوع/
|
||||
المشروع
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
<table style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<span t-esc="order.requisition_id.purpose or order.purpose"/>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Administration Section -->
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table dir="rtl" style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;"
|
||||
colspan="1"
|
||||
rowspan="2">
|
||||
الإدارة صاحبة الاحتياج :
|
||||
</th>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;"
|
||||
colspan="1"
|
||||
rowspan="2">
|
||||
<span t-esc="order.department_id.name or order.requisition_id.department_id.name"/>
|
||||
</td>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
البقاء المعتمد (حسب الموازنة التقديرية)
|
||||
</th>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<t t-if="order.analytic_id_poa()">
|
||||
<span t-esc="order.analytic_id_poa().name"/>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<span>-</span>
|
||||
</t>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr t-if='order.get_budget_id()'>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
المبالغ المرتبطة على البند سابقا
|
||||
</th>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<span t-esc="abs(order.get_remain_last() or 0)"/>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th t-if='order.get_budget_id()'
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;"
|
||||
colspan="1"
|
||||
rowspan="2">
|
||||
اسم البنـــــــد
|
||||
</th>
|
||||
<td t-if='order.get_budget_id()'
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;"
|
||||
colspan="1"
|
||||
rowspan="2">
|
||||
<t t-if="order.get_budget_id()">
|
||||
<span t-esc="order.get_band_name()"/>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<span>-</span>
|
||||
</t>
|
||||
</td>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
المشروع الحالي
|
||||
</th>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<t t-esc='order.amount_total'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr t-if='order.get_budget_id()'>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
المبلغ المتبقي
|
||||
</th>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<span t-esc="abs(order.get_remain() or 0)"/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Financial Approval Section -->
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table dir="rtl" style="width: 100%; border-collapse: collapse;">
|
||||
<tr t-if="order.get_budget_id()">
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center; vertical-align: middle;">
|
||||
<div style="vertical-align: top;">مصادقة</div>
|
||||
<div>الإدارة المالية</div>
|
||||
</th>
|
||||
<th t-if="order.get_budget_id()"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center; vertical-align: top;">
|
||||
<div style="vertical-align: top;">
|
||||
<t>
|
||||
<span>الاسم</span>
|
||||
<br/>
|
||||
<span t-esc="order.get_user_approve_budget_id().name"/>
|
||||
</t>
|
||||
</div>
|
||||
</th>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center; vertical-align: top;">
|
||||
<div style="vertical-align: top;">
|
||||
<t>
|
||||
<span>التوقيع</span>
|
||||
<br/>
|
||||
<div style="padding-top:37px;">
|
||||
<img t-if="user.sign_signature" class="image"
|
||||
t-att-src="'data:image/png;base64,%s' % to_text(user.sign_signature)"
|
||||
style="width:60px; height:60px;margin-top:-40px"/>
|
||||
</div>
|
||||
</t>
|
||||
</div>
|
||||
</th>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center; vertical-align: top;">
|
||||
<div style="vertical-align: top;">
|
||||
<span>التاريخ</span>
|
||||
<br/>
|
||||
<span t-esc="order.get_date_approve_budget_id()"/>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
تقييم
|
||||
العروض
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<!-- Offers Evaluation Section -->
|
||||
<t t-set="data" t-value="order.get_evaluation_summary()"/>
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table dir="rtl" style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
م
|
||||
</th>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
اسم
|
||||
الشركة
|
||||
</th>
|
||||
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
المبلغ
|
||||
</th>
|
||||
<th t-foreach="data['members']" t-as="member"
|
||||
t-if="order.initial_evaluation_lines"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
تقييم عضو اللجنة/
|
||||
<br/>
|
||||
<span t-esc="member"/>
|
||||
</th>
|
||||
<th t-if="order.initial_evaluation_lines"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
متوسط
|
||||
التقييم
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<t t-set="count" t-value="0"/>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<t t-set="count" t-value="count+1"/>
|
||||
<span t-esc="count"/>
|
||||
</td>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<t t-esc='order.partner_id.name'/>
|
||||
</td>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<t t-esc='order.amount_total'/>
|
||||
</td>
|
||||
<td t-if="order.initial_evaluation_lines" t-foreach="data['members']"
|
||||
t-as="member"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<span t-esc="data['totals'][member]"/>
|
||||
</td>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;"
|
||||
t-if="order.initial_evaluation_lines">
|
||||
<span t-esc="'%.2f' % order.avg_evaluation"/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Committee Recommendation Section -->
|
||||
<!-- Committee Signatures Section -->
|
||||
</t>
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
:راي اللجنة
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border: 1px solid black; padding: 10px;">
|
||||
<p style="text-align: justify;">
|
||||
ومن خلال مقارنة العروض
|
||||
السابقة أعلاه من قبل اللجنة، وبعد تحليل
|
||||
العروض فنيا
|
||||
وماليا
|
||||
طبقا للمعايير,
|
||||
، حيث العرض الأفضل والأنسب قبلاً وماليا.
|
||||
فإن اللجنة توصي بالتعاقد مع
|
||||
<br/>
|
||||
<span dir="rtl" t-esc="doc.get_max_average_evaluation()"/>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<t t-set="first_move" t-value="doc.move_ids[0]"/>
|
||||
<t t-if="first_move.requisition_id.committee_type_id">
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th colspan='3'
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
توقيع اعضاء اللجنة
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th t-if="first_move.requisition_id.committee_type_id.committe_members"
|
||||
t-foreach="first_move.requisition_id.committee_type_id.committe_members"
|
||||
t-as="member"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
عضو
|
||||
اللجنة/
|
||||
<span t-esc="member.name"/>
|
||||
</th>
|
||||
|
||||
<th t-if="first_move.requisition_id.committee_type_id.committe_head"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
رئيس
|
||||
اللجنة
|
||||
/
|
||||
<span t-esc="first_move.requisition_id.committee_type_id.committe_head.name"/>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th t-if="first_move.requisition_id.committee_type_id.committe_members"
|
||||
t-foreach="[s for s in first_move.requisition_id.committee_type_id.committe_members if s]"
|
||||
t-as="sign"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<div style="padding-top:36px;">
|
||||
<img t-if="sign.sign_signature" class="image"
|
||||
t-att-src="'data:image/png;base64,%s' % to_text(sign.sign_signature)"
|
||||
style="width:70px; height:70px;margin-top:-40px"/>
|
||||
</div>
|
||||
</th>
|
||||
|
||||
|
||||
<th t-if="first_move.requisition_id.committee_type_id.committe_head.sign_signature"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<div style="padding-top:36px;">
|
||||
<img class="image"
|
||||
t-att-src="'data:image/png;base64,%s' % to_text(first_move.requisition_id.committee_type_id.committe_head.sign_signature)"
|
||||
style="width:70px; height:70px;margin-top:-40px"/>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</t>
|
||||
<!-- end-->
|
||||
<!-- Final Approval Section -->
|
||||
<div class="section" style="margin-top: 20px;">
|
||||
<table dir="rtl" style="width: 100%; border-collapse: collapse;">
|
||||
<tr>
|
||||
<th colspan="2"
|
||||
style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
إعادة
|
||||
صاحب
|
||||
الصالحية :
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
<p>موافق وتعتمد توصية اللجنة()</p>
|
||||
</td>
|
||||
<th style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
الأمين
|
||||
العام
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
غير موافق ( )
|
||||
</td>
|
||||
<td style="border: 1px solid black; padding: 10px; text-align: center;">
|
||||
احمد بن عدلان الشمراني
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!---->
|
||||
|
||||
</div>
|
||||
<!-- Footer -->
|
||||
<div class="footer"
|
||||
style="background-color: #003366; color: white;margin-top: 20px; text-align: center;">
|
||||
AS05-F02 Page 1 of 1 OE-2022 Rev. (1)
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,217 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="initial_evaluation_pdf_report_action" model="ir.actions.report">
|
||||
<field name="name">Initial Evaluation Report</field>
|
||||
<field name="model">initial.evaluation.wizard</field>
|
||||
<field name="report_type">qweb-pdf</field>
|
||||
<field name="report_name">odex25_evaluation_eriteria.initial_evaluation_report_pdf</field>
|
||||
<field name="report_file">odex25_evaluation_eriteria.initial_evaluation_report_pdf</field>
|
||||
<field name="binding_model_id" ref="model_initial_evaluation_wizard"/>
|
||||
<field name="binding_type">report</field>
|
||||
</record>
|
||||
<template id="custom_external_layout_standard_tran2">
|
||||
<t t-set="company" t-value="user.company_id"/>
|
||||
<div class="header">
|
||||
<div style="margin: 0; padding: 0;" class="row">
|
||||
<div style="margin: 0; padding: 0;" dir="rtl" class="col-5 mb4">
|
||||
<p>المملكة العربية السعودية</p>
|
||||
<p>الامانة العامة</p>
|
||||
<p>الشئون الدارية</p>
|
||||
</div>
|
||||
|
||||
<div style="margin: 0; padding: 0;" class="col-2 mb4">
|
||||
<img t-if="company.logo" t-att-src="image_data_uri(company.logo)" style="max-height: 100px;"
|
||||
alt="Logo"/>
|
||||
</div>
|
||||
|
||||
<div style="text-align: left;margin: 0; padding: 0;" dir="ltr" class="col-5 mb4">
|
||||
<p>Kingdom of Saudi Arabia</p>
|
||||
<p>General Secretariat</p>
|
||||
<p>Administrative Affairs</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<template id="initial_evaluation_report_pdf">
|
||||
<t t-call="web.html_container">
|
||||
<t t-foreach="docs" t-as="doc">
|
||||
<div dir='rtl' class="article o_report_layout_standard">
|
||||
<t t-call="odex25_evaluation_eriteria.custom_external_layout_standard_tran2"/>
|
||||
<div class="page">
|
||||
<div style="text-align:center">
|
||||
|
||||
<t t-foreach="doc.move_ids" t-as="order">
|
||||
<t t-set="first_move" t-value="doc.move_ids[0]"/>
|
||||
<t t-set="filtered_lines"
|
||||
t-value="doc.committee_member and order.initial_evaluation_lines.filtered(lambda l: l.user_id.id == doc.committee_member.id) or order.initial_evaluation_lines"/>
|
||||
<h5>
|
||||
<t t-esc="order.name"/>
|
||||
</h5>
|
||||
<br/>
|
||||
<div style="display: flex; justify-content: center; align-items: center;">
|
||||
|
||||
<table class="table table-bordered mt32"
|
||||
style="width: 100%; border: 2pt solid black; border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px solid black;">التاريخ</td>
|
||||
<td colspan="2" style="border: 1px solid black;">
|
||||
<t t-esc="time.strftime('%Y-%m-%d')"/>
|
||||
</td>
|
||||
<td style="border: 1px solid black;">اسم الشركه</td>
|
||||
<td colspan="2" style="border: 1px solid black;">
|
||||
<t t-esc='order.partner_id.name'/>
|
||||
</td>
|
||||
<td style="border: 1px solid black;background-color:#a1c6d8;">
|
||||
<span>العرض المقدم</span>
|
||||
<br/>
|
||||
<span>(شامل الضريبه)</span>
|
||||
</td>
|
||||
<td style="border: 1px solid black;">
|
||||
<t t-esc='order.amount_total'/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<t t-if="order.initial_evaluation_lines">
|
||||
<tr style="background-color:#7bd3f7">
|
||||
<th style="border: 1px solid black;">رقم</th>
|
||||
<th style="border: 1px solid black;">المقييم</th>
|
||||
<th style="border: 1px solid black;">التوقيع</th>
|
||||
<th colspan="" style="border: 1px solid black;">المعيار</th>
|
||||
<th style="border: 1px solid black;">الدرجه</th>
|
||||
<th colspan="3" style="border: 1px solid black;">التقييم</th>
|
||||
|
||||
</tr>
|
||||
<t t-set="count" t-value="0"/>
|
||||
<t t-foreach="filtered_lines" t-as="line">
|
||||
<t t-set="count" t-value="count+1"/>
|
||||
<tr>
|
||||
<td style="border: 1px solid black;">
|
||||
<span t-esc="count"/>
|
||||
</td>
|
||||
|
||||
<td colspan="" style="border: 1px solid black;">
|
||||
<t t-if="doc.role_type == 'not_member'">
|
||||
<span style="color:#111">....</span>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<t t-if="first_move.requisition_id.committee_type_id.committe_head.name==line.user_id.name">
|
||||
<span>رئيس اللجنة:</span>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<span>عضو اللجنة:</span>
|
||||
</t>
|
||||
</t>
|
||||
<t t-esc='line.user_id.name'/>
|
||||
</td>
|
||||
|
||||
<td colspan="" style="border: 1px solid black;">
|
||||
<div style="padding-top:33px;">
|
||||
|
||||
<img t-if="user.sign_signature" class="image"
|
||||
t-att-src="'data:image/png;base64,%s' % to_text(user.sign_signature)"
|
||||
style="width:70px; height:70px;margin-top:-40px"/>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
|
||||
<td colspan="" style="border: 1px solid black;">
|
||||
<t t-esc='line.evaluation_criteria'/>
|
||||
</td>
|
||||
<td style="border: 1px solid black;">
|
||||
<t t-esc='line.evaluation'/>
|
||||
</td>
|
||||
<td colspan="3" style="border: 1px solid black;">
|
||||
<t t-esc='line.degree'/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</t>
|
||||
<tr style="background-color:#7bd3f7;">
|
||||
<th colspan="4" style="border: 1px solid black;">الاجمالي</th>
|
||||
|
||||
<th colspan="4" style="border: 1px solid black;">
|
||||
<t t-esc="order.total_evaluation"/>
|
||||
</th>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</t>
|
||||
<!-- <div style="display: flex; justify-content: center; align-items: center;">-->
|
||||
<!-- <table class="table table-bordered mt32"-->
|
||||
<!-- style="width: 100%; border: 2pt solid black; border-collapse: collapse;">-->
|
||||
<!-- <tbody>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <td colspan="4"-->
|
||||
<!-- style="border: 1px solid black;background-color:#7bd3f7">-->
|
||||
<!-- <span>المقيم</span>-->
|
||||
<!-- </td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <td style="border: 1px solid black;background-color:#7bd3f7;">-->
|
||||
<!-- <span>الدور</span>-->
|
||||
<!-- </td>-->
|
||||
<!-- <td style="border: 1px solid black;background-color:#7bd3f7;">-->
|
||||
<!-- <span>الاسم</span>-->
|
||||
<!-- </td>-->
|
||||
|
||||
<!-- <td style="border: 1px solid black;background-color:#7bd3f7;">التوقيع-->
|
||||
<!-- </td>-->
|
||||
<!-- <td style="border: 1px solid black;background-color:#7bd3f7">-->
|
||||
<!-- التاريخ-->
|
||||
<!-- </td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <td style="border: 1px solid black;">-->
|
||||
<!-- <t t-if="doc.role_type == 'not_member'">-->
|
||||
<!-- <span>Not Member</span>-->
|
||||
<!-- </t>-->
|
||||
<!-- <t t-else="">-->
|
||||
<!-- <t t-if="doc.role_type=='manager'">-->
|
||||
<!-- <span>رئيس اللجنة-->
|
||||
<!-- </span>-->
|
||||
<!-- </t>-->
|
||||
<!-- <t t-if="doc.role_type=='member'">-->
|
||||
<!-- <span>عضو اللجنة</span>-->
|
||||
<!-- </t>-->
|
||||
<!-- </t>-->
|
||||
<!-- </td>-->
|
||||
|
||||
<!-- <td style="border: 1px solid black;">-->
|
||||
<!-- <span>-->
|
||||
<!-- <span t-esc="user.name"/>-->
|
||||
<!-- </span>-->
|
||||
<!-- </td>-->
|
||||
<!-- <td style="border: 1px solid black;">-->
|
||||
<!-- <div style="padding-top:33px;">-->
|
||||
<!-- <img t-if="user.sign_signature" class="image"-->
|
||||
<!-- t-att-src="'data:image/png;base64,%s' % to_text(user.sign_signature)"-->
|
||||
<!-- style="width:70px; height:70px;margin-top:-40px"/>-->
|
||||
<!-- </div>-->
|
||||
<!-- </td>-->
|
||||
|
||||
<!-- <td style="border: 1px solid black;">-->
|
||||
<!-- <t t-esc="time.strftime('%Y-%m-%d')"/>-->
|
||||
<!-- </td>-->
|
||||
|
||||
<!-- </tr>-->
|
||||
<!-- </tbody>-->
|
||||
<!-- </table>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- <t t-call="web.external_layout">-->
|
||||
<!-- </t>-->
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,222 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="initial_evaluation_view_action" model="ir.actions.report">
|
||||
<field name="name">Initial Evaluation Report</field>
|
||||
<field name="model">initial.evaluation.wizard</field>
|
||||
<field name="report_type">qweb-html</field>
|
||||
<field name="report_name">odex25_evaluation_eriteria.initial_evaluation_report_view</field>
|
||||
<field name="report_file">odex25_evaluation_eriteria.initial_evaluation_report_view</field>
|
||||
<field name="binding_model_id" ref="model_initial_evaluation_wizard"/>
|
||||
<field name="print_report_name">'Initial Evaluation'</field>
|
||||
<field name="binding_type">report</field>
|
||||
</record>
|
||||
|
||||
<template id="custom_external_layout_standard_tran3">
|
||||
<t t-set="company" t-value="user.company_id"/>
|
||||
<div class="header">
|
||||
<div style="margin: 0; padding: 0;" class="row">
|
||||
<div style="margin: 0; padding: 0;" dir="rtl" class="col-5 mb4">
|
||||
<p>المملكة العربية السعودية</p>
|
||||
<p>الامانة العامة</p>
|
||||
<p>الشئون الدارية</p>
|
||||
</div>
|
||||
|
||||
<div style="margin: 0; padding: 0;" class="col-2 mb4">
|
||||
<img t-if="company.logo" t-att-src="image_data_uri(company.logo)" style="max-height: 100px;"
|
||||
alt="Logo"/>
|
||||
</div>
|
||||
|
||||
<div style="text-align: left;margin: 0; padding: 0;" dir="ltr" class="col-5 mb4">
|
||||
<p>Kingdom of Saudi Arabia</p>
|
||||
<p>General Secretariat</p>
|
||||
<p>Administrative Affairs</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
|
||||
|
||||
<template id="initial_evaluation_report_view">
|
||||
<t t-call="web.html_container">
|
||||
|
||||
<t t-foreach="docs" t-as="doc">
|
||||
<div dir='rtl' class="article o_report_layout_standard">
|
||||
<t t-call="odex25_evaluation_eriteria.custom_external_layout_standard_tran3"/>
|
||||
<div class="page">
|
||||
<div style="text-align:center">
|
||||
|
||||
<t t-foreach="doc.move_ids" t-as="order">
|
||||
<t t-set="first_move" t-value="doc.move_ids[0]"/>
|
||||
<t t-set="filtered_lines"
|
||||
t-value="doc.committee_member and order.initial_evaluation_lines.filtered(lambda l: l.user_id.id == doc.committee_member.id) or order.initial_evaluation_lines"/>
|
||||
<h5>
|
||||
<t t-esc="order.name"/>
|
||||
</h5>
|
||||
<br/>
|
||||
<div style="display: flex; justify-content: center; align-items: center;">
|
||||
|
||||
<table class="table table-bordered mt32"
|
||||
style="width: 100%; border: 2pt solid black; border-collapse: collapse;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px solid black;">التاريخ</td>
|
||||
<td colspan="2" style="border: 1px solid black;">
|
||||
<t t-esc="time.strftime('%Y-%m-%d')"/>
|
||||
</td>
|
||||
<td style="border: 1px solid black;">اسم الشركه</td>
|
||||
<td colspan="2" style="border: 1px solid black;">
|
||||
<t t-esc='order.partner_id.name'/>
|
||||
</td>
|
||||
<td style="border: 1px solid black;background-color:#a1c6d8;">
|
||||
<span>العرض المقدم</span>
|
||||
<br/>
|
||||
<span>(شامل الضريبه)</span>
|
||||
</td>
|
||||
<td style="border: 1px solid black;">
|
||||
<t t-esc='order.amount_total'/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<t t-if="order.initial_evaluation_lines">
|
||||
<tr style="background-color:#7bd3f7">
|
||||
<th style="border: 1px solid black;">رقم</th>
|
||||
<th style="border: 1px solid black;">المقييم</th>
|
||||
<th style="border: 1px solid black;">التوقيع</th>
|
||||
<th colspan="" style="border: 1px solid black;">المعيار</th>
|
||||
<th style="border: 1px solid black;">الدرجه</th>
|
||||
<th colspan="3" style="border: 1px solid black;">التقييم</th>
|
||||
|
||||
</tr>
|
||||
<t t-set="count" t-value="0"/>
|
||||
<t t-foreach="filtered_lines" t-as="line">
|
||||
<t t-set="count" t-value="count+1"/>
|
||||
<tr>
|
||||
<td style="border: 1px solid black;">
|
||||
<span t-esc="count"/>
|
||||
</td>
|
||||
|
||||
<td colspan="" style="border: 1px solid black;">
|
||||
<t t-if="doc.role_type == 'not_member'">
|
||||
<span style="color:#111">....</span>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<t t-if="first_move.requisition_id.committee_type_id.committe_head.name==line.user_id.name">
|
||||
<span>رئيس اللجنة:</span>
|
||||
</t>
|
||||
<t t-else="">
|
||||
<span>عضو اللجنة:</span>
|
||||
</t>
|
||||
</t>
|
||||
<t t-esc='line.user_id.name'/>
|
||||
</td>
|
||||
|
||||
<td colspan="" style="border: 1px solid black;">
|
||||
<div style="padding-top:33px;">
|
||||
|
||||
<img t-if="user.sign_signature" class="image"
|
||||
t-att-src="'data:image/png;base64,%s' % to_text(user.sign_signature)"
|
||||
style="width:70px; height:70px;margin-top:-40px"/>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
|
||||
<td colspan="" style="border: 1px solid black;">
|
||||
<t t-esc='line.evaluation_criteria'/>
|
||||
</td>
|
||||
<td style="border: 1px solid black;">
|
||||
<t t-esc='line.evaluation'/>
|
||||
</td>
|
||||
<td colspan="3" style="border: 1px solid black;">
|
||||
<t t-esc='line.degree'/>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</t>
|
||||
<tr style="background-color:#7bd3f7;">
|
||||
<th colspan="4" style="border: 1px solid black;">الاجمالي</th>
|
||||
|
||||
<th colspan="4" style="border: 1px solid black;">
|
||||
<t t-esc="order.total_evaluation"/>
|
||||
</th>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</t>
|
||||
<!-- <div style="display: flex; justify-content: center; align-items: center;">-->
|
||||
<!-- <table class="table table-bordered mt32"-->
|
||||
<!-- style="width: 100%; border: 2pt solid black; border-collapse: collapse;">-->
|
||||
<!-- <tbody>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <td colspan="4"-->
|
||||
<!-- style="border: 1px solid black;background-color:#7bd3f7">-->
|
||||
<!-- <span>المقيم</span>-->
|
||||
<!-- </td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <td style="border: 1px solid black;background-color:#7bd3f7;">-->
|
||||
<!-- <span>الدور</span>-->
|
||||
<!-- </td>-->
|
||||
<!-- <td style="border: 1px solid black;background-color:#7bd3f7;">-->
|
||||
<!-- <span>الاسم</span>-->
|
||||
<!-- </td>-->
|
||||
|
||||
<!-- <td style="border: 1px solid black;background-color:#7bd3f7;">التوقيع-->
|
||||
<!-- </td>-->
|
||||
<!-- <td style="border: 1px solid black;background-color:#7bd3f7">-->
|
||||
<!-- التاريخ-->
|
||||
<!-- </td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <td style="border: 1px solid black;">-->
|
||||
<!-- <t t-if="doc.role_type == 'not_member'">-->
|
||||
<!-- <span>Not Member</span>-->
|
||||
<!-- </t>-->
|
||||
<!-- <t t-else="">-->
|
||||
<!-- <t t-if="doc.role_type=='manager'">-->
|
||||
<!-- <span>رئيس اللجنة-->
|
||||
<!-- </span>-->
|
||||
<!-- </t>-->
|
||||
<!-- <t t-if="doc.role_type=='member'">-->
|
||||
<!-- <span>عضو اللجنة</span>-->
|
||||
<!-- </t>-->
|
||||
<!-- </t>-->
|
||||
<!-- </td>-->
|
||||
|
||||
<!-- <td style="border: 1px solid black;">-->
|
||||
<!-- <span>-->
|
||||
<!-- <span t-esc="user.name"/>-->
|
||||
<!-- </span>-->
|
||||
<!-- </td>-->
|
||||
<!-- <td style="border: 1px solid black;">-->
|
||||
<!-- <div style="padding-top:33px;">-->
|
||||
<!-- <img t-if="user.sign_signature" class="image"-->
|
||||
<!-- t-att-src="'data:image/png;base64,%s' % to_text(user.sign_signature)"-->
|
||||
<!-- style="width:70px; height:70px;margin-top:-40px"/>-->
|
||||
<!-- </div>-->
|
||||
<!-- </td>-->
|
||||
|
||||
<!-- <td style="border: 1px solid black;">-->
|
||||
<!-- <t t-esc="time.strftime('%Y-%m-%d')"/>-->
|
||||
<!-- </td>-->
|
||||
|
||||
<!-- </tr>-->
|
||||
<!-- </tbody>-->
|
||||
<!-- </table>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- <t t-call="web.external_layout">-->
|
||||
<!-- </t>-->
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="see_your_employee_evaluation" model="ir.rule">
|
||||
<field name="name">See your employee Evaluation</field>
|
||||
<field name="model_id" ref="odex25_evaluation_eriteria.model_initial_evaluation_criteria"/>
|
||||
<field name="groups" eval="[(4, ref('purchase.group_purchase_user'))]"/>
|
||||
<field name="domain_force">[(1,'=',1)]</field>
|
||||
</record>
|
||||
|
||||
<record id="see_your_own_resignation" model="ir.rule">
|
||||
<field name="name">See your own evaluation</field>
|
||||
<field name="model_id" ref="odex25_evaluation_eriteria.model_initial_evaluation_criteria"/>
|
||||
<field name="groups" eval="[(4, ref('purchase.group_purchase_manager'))]"/>
|
||||
<field name="domain_force">[('user_id', '=', user.id)]</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_purchase_committee_type_line,committee.type.line,model_purchase_committee_type_line,,1,1,1,1
|
||||
access_initial_evaluation_criteria,initial.evaluation.criteria,model_initial_evaluation_criteria,,1,1,1,1
|
||||
access_initial_evaluation_wizard,initial.evaluation.wizard,model_initial_evaluation_wizard,,1,1,1,1
|
||||
access_final_evaluation_wizard,final.evaluation.wizard,model_final_evaluation_wizard,,1,1,1,1
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,92 @@
|
|||
<odoo>
|
||||
<record id="purchase_committe_type_form_view_inherit" model="ir.ui.view">
|
||||
<field name="name">purchase.committe.type.inherit</field>
|
||||
<field name="model">purchase.committee.type</field>
|
||||
<field name="inherit_id" ref="purchase_requisition_custom.purchase_committe_type_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='type_cat']" position="after">
|
||||
<field name="available_types"/>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//notebook//page[1]" position="after">
|
||||
<page string="Evaluation criteria">
|
||||
<field name="purchase_committee_type_line" widget="one2many_list">
|
||||
<tree editable="bottom">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="evaluation_criteria"/>
|
||||
<field name="degree"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="inherit_purchase_order_form" model="ir.ui.view">
|
||||
<field name="name">inherit_purchase_order_form</field>
|
||||
<field name="model">purchase.order</field>
|
||||
<field name="inherit_id" ref="purchase.purchase_order_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//notebook//page[1]" position="after">
|
||||
<page string="Initial Evaluation criteria">
|
||||
<field name="select" readonly="0"/>
|
||||
<field name="initial_evaluation_lines" widget="one2many_list">
|
||||
<tree editable="bottom">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="user_id"/>
|
||||
<field name="evaluation_criteria"/>
|
||||
<field name="evaluation"/>
|
||||
<field name="degree"/>
|
||||
</tree>
|
||||
</field>
|
||||
<group class="oe_subtotal_footer oe_right">
|
||||
<!-- <field name="committee_members"/>-->
|
||||
<field name="avg_evaluation"/>
|
||||
<field name="total_evaluation"/>
|
||||
</group>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Inherit Form View to Modify it -->
|
||||
<record id="select_reason_wizard_view_inherit" model="ir.ui.view">
|
||||
<field name="name">select_reason_wizard_view_inherit</field>
|
||||
<field name="model">select.reason</field>
|
||||
<field name="inherit_id" ref="purchase_requisition_custom.select_wizard_view"/>
|
||||
<field name="arch" type="xml">
|
||||
|
||||
<xpath expr="//field[@name='select_reason']" position="after">
|
||||
<!-- Add your fields or attributes here -->
|
||||
<field name="purchase_committee_type" invisible="1"/>
|
||||
<notebook>
|
||||
<page string="Evaluation criteria">
|
||||
<field name="purchase_committee_type_line" create="0" widget="one2many_list">
|
||||
<tree editable="bottom">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="evaluation_criteria" readonly="1"/>
|
||||
<field name="evaluation"/>
|
||||
<field name="degree" readonly="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</xpath>
|
||||
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Inherit Form View to Modify it -->
|
||||
<record id="view_budget_confirmation_form_inherit" model="ir.ui.view">
|
||||
<field name="name">view_budget_confirmation_form_extend</field>
|
||||
<field name="model">budget.confirmation</field>
|
||||
<field name="inherit_id" ref="account_budget_custom.view_budget_confirmation_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='date']" position="after">
|
||||
<field name="approved_by_id" invisible="0"/>
|
||||
<field name="approved_date" invisible="0"/>
|
||||
</xpath>
|
||||
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import intial_evaluation_report
|
||||
from . import final_evaluation_wizard
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
from datetime import date, datetime
|
||||
from odoo.exceptions import ValidationError
|
||||
from odoo import api, fields, models, _
|
||||
|
||||
|
||||
class FinalEvaluationWizard(models.TransientModel):
|
||||
_name = 'final.evaluation.wizard'
|
||||
_description = 'Final Evaluation Wizard'
|
||||
|
||||
start_date = fields.Date('Start Date')
|
||||
end_date = fields.Date('End Date')
|
||||
purchase_requisition = fields.Many2many(comodel_name='purchase.requisition', string='Purchase Agreement')
|
||||
committee_member = fields.Many2one(comodel_name='res.users', string='Committee Member')
|
||||
hr_department_id = fields.Many2one(comodel_name='hr.department', string='Department')
|
||||
move_ids = fields.Many2many('purchase.order', string='Orders')
|
||||
today = fields.Date(string='Your string', default=lambda self: fields.Date.today())
|
||||
role_type = fields.Selection(string='Role Type',selection=[('manager', 'Manager'), ('member', 'Member'), ('not_member', 'not Member') ], compute='_compute_role_type')
|
||||
user_id = fields.Many2one('res.users', string="User", default=lambda self: self.env.user)
|
||||
|
||||
@api.depends('user_id')
|
||||
def _compute_role_type(self):
|
||||
if self.user_id:
|
||||
self.role_type = 'not_member'
|
||||
all_committees = self.env['purchase.committee.type'].search([])
|
||||
if all_committees:
|
||||
all_committees_managers = all_committees.mapped('committe_head')
|
||||
if self.user_id in all_committees_managers:
|
||||
self.role_type = 'manager'
|
||||
else:
|
||||
for rec in all_committees:
|
||||
if rec.committe_members and self.user_id.name in rec.committe_members.mapped('name'):
|
||||
self.role_type = 'member'
|
||||
|
||||
def action_create_search(self):
|
||||
self.move_ids = False
|
||||
if not self.start_date and not self.end_date and self.purchase_requisition and self.committee_member and self.hr_department_id:
|
||||
raise ValidationError(_('You Should Select Parameters'))
|
||||
domain = []
|
||||
purchase_requisition = self.purchase_requisition
|
||||
if purchase_requisition:
|
||||
domain += [("requisition_id", "in", purchase_requisition.ids)]
|
||||
if self.committee_member:
|
||||
domain += [("initial_evaluation_lines.user_id", "=", self.committee_member.id)]
|
||||
# domain += [("committee_members", "in", self.committee_member.ids)]
|
||||
|
||||
if self.hr_department_id:
|
||||
domain += [("department_id", "=", self.hr_department_id.id)]
|
||||
|
||||
start_date = self.start_date
|
||||
if start_date:
|
||||
domain += [('create_date', '>=', start_date)]
|
||||
if not start_date:
|
||||
start_date = datetime(2010, 1, 1, 10, 0, 0, 0)
|
||||
|
||||
end_date = self.end_date
|
||||
if end_date:
|
||||
domain += [('create_date', '<=', end_date)]
|
||||
if not end_date:
|
||||
end_date = datetime(2100, 1, 1, 10, 0, 0, 0)
|
||||
|
||||
self.move_ids = self.env['purchase.order'].search(domain)
|
||||
print('move_lines >>>>>>>>>>>', self.move_ids.mapped('name'))
|
||||
|
||||
if not self.move_ids:
|
||||
raise ValidationError(_('There is No Data to present'))
|
||||
# return self.move_ids
|
||||
|
||||
def get_max_average_evaluation(self):
|
||||
max_avg = 0
|
||||
best_partner = ''
|
||||
for order in self.move_ids:
|
||||
avg = order.avg_evaluation or 0
|
||||
if avg > max_avg:
|
||||
max_avg = avg
|
||||
best_partner = order.partner_id.name
|
||||
return best_partner
|
||||
|
||||
def action_create_search_html(self):
|
||||
self.action_create_search()
|
||||
return self.env.ref('odex25_evaluation_eriteria.final_evaluation_view_action').report_action(self)
|
||||
|
||||
def action_create_search_pdf(self):
|
||||
self.action_create_search()
|
||||
return self.env.ref('odex25_evaluation_eriteria.final_evaluation_pdf_report_action').report_action(self)
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
<?xml version="1.0"?>
|
||||
<odoo>
|
||||
<record id="final_evaluation_wizard_view" model="ir.ui.view">
|
||||
<field name="name">final.evaluation.wizard.view</field>
|
||||
<field name="model">final.evaluation.wizard</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Purchase Report">
|
||||
<group>
|
||||
<group>
|
||||
<field name="purchase_requisition" widget="many2many_tags"
|
||||
options="{'no_edit': True, 'no_create': True, 'no_open': True}"/>
|
||||
<field name="committee_member"
|
||||
options="{'no_edit': True, 'no_create': True, 'no_open': True}"/>
|
||||
<field name="hr_department_id"
|
||||
options="{'no_edit': True, 'no_create': True, 'no_open': True}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="start_date"/>
|
||||
<field name="end_date"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="role_type" invisible="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<footer>
|
||||
<button name="action_create_search_html" string="View" target="_blank" type="object"
|
||||
class="btn-primary"/>
|
||||
<button name="action_create_search_pdf" string="Pdf" type="object"
|
||||
class="btn-primary"/>
|
||||
<button string="Cancel" class="btn-secondary" special="cancel"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="final_evaluation_wizard_action" model="ir.actions.act_window">
|
||||
<field name="name">final Evaluation Report</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">final.evaluation.wizard</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="final_evaluation_wizard_view"/>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<!-- This Menu Item must have a parent and an action -->
|
||||
<menuitem id="final_evaluation_wizard_menu"
|
||||
name="final Evaluation Report"
|
||||
parent="purchase_requisition_custom.reports"
|
||||
action="final_evaluation_wizard_action"
|
||||
sequence="3"/>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
from datetime import date, datetime
|
||||
from odoo.exceptions import ValidationError
|
||||
from odoo import api, fields, models, _
|
||||
|
||||
|
||||
class InitialEvaluationWizard(models.TransientModel):
|
||||
_name = 'initial.evaluation.wizard'
|
||||
_description = 'initial Evaluation Wizard'
|
||||
|
||||
start_date = fields.Date('Start Date')
|
||||
end_date = fields.Date('End Date')
|
||||
purchase_requisition = fields.Many2many(comodel_name='purchase.requisition', string='Purchase Agreement')
|
||||
committee_member = fields.Many2one(comodel_name='res.users', string='Committee Member')
|
||||
move_ids = fields.Many2many('purchase.order', string='Orders')
|
||||
today = fields.Date(string='Your string', default=lambda self: fields.Date.today())
|
||||
role_type = fields.Selection(string='Role Type',selection=[('manager', 'Manager'), ('member', 'Member'), ('not_member', 'not Member') ], compute='_compute_role_type')
|
||||
user_id = fields.Many2one('res.users', string="User", default=lambda self: self.env.user)
|
||||
|
||||
@api.depends('user_id')
|
||||
def _compute_role_type(self):
|
||||
if self.user_id:
|
||||
self.role_type = 'not_member'
|
||||
all_committees = self.env['purchase.committee.type'].search([])
|
||||
if all_committees:
|
||||
all_committees_managers = all_committees.mapped('committe_head')
|
||||
if self.user_id in all_committees_managers:
|
||||
self.role_type = 'manager'
|
||||
else:
|
||||
for rec in all_committees:
|
||||
if rec.committe_members and self.user_id.name in rec.committe_members.mapped('name'):
|
||||
self.role_type = 'member'
|
||||
|
||||
def action_create_search(self):
|
||||
self.move_ids = False
|
||||
if not self.start_date and not self.end_date and self.purchase_requisition and self.committee_member:
|
||||
raise ValidationError(_('You Should Select Parameters'))
|
||||
domain = []
|
||||
purchase_requisition = self.purchase_requisition
|
||||
if purchase_requisition:
|
||||
domain += [("requisition_id", "in", purchase_requisition.ids)]
|
||||
if self.committee_member:
|
||||
domain += [("initial_evaluation_lines.user_id", "=", self.committee_member.id)]
|
||||
|
||||
start_date = self.start_date
|
||||
if start_date:
|
||||
domain += [('create_date', '>=', start_date)]
|
||||
if not start_date:
|
||||
start_date = datetime(2010, 1, 1, 10, 0, 0, 0)
|
||||
|
||||
end_date = self.end_date
|
||||
if end_date:
|
||||
domain += [('create_date', '<=', end_date)]
|
||||
if not end_date:
|
||||
end_date = datetime(2100, 1, 1, 10, 0, 0, 0)
|
||||
|
||||
self.move_ids = self.env['purchase.order'].search(domain)
|
||||
print('move_lines >>>>>>>>>>>', self.move_ids.mapped('name'))
|
||||
|
||||
if not self.move_ids:
|
||||
raise ValidationError(_('There is No Data to present'))
|
||||
# return self.move_ids
|
||||
|
||||
def action_create_search_html(self):
|
||||
self.action_create_search()
|
||||
return self.env.ref('odex25_evaluation_eriteria.initial_evaluation_view_action').report_action(self)
|
||||
|
||||
def action_create_search_pdf(self):
|
||||
self.action_create_search()
|
||||
return self.env.ref('odex25_evaluation_eriteria.initial_evaluation_pdf_report_action').report_action(self)
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0"?>
|
||||
<odoo>
|
||||
<record id="initial_evaluation_wizard_view" model="ir.ui.view">
|
||||
<field name="name">initial.evaluation.wizard.view</field>
|
||||
<field name="model">initial.evaluation.wizard</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Purchase Report">
|
||||
<group>
|
||||
<group>
|
||||
<field name="purchase_requisition" widget="many2many_tags"
|
||||
options="{'no_edit': True, 'no_create': True, 'no_open': True}"/>
|
||||
<field name="committee_member"
|
||||
options="{'no_edit': True, 'no_create': True, 'no_open': True}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="start_date"/>
|
||||
<field name="end_date"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="role_type" invisible="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<footer>
|
||||
<button name="action_create_search_html" string="View" target="_blank" type="object"
|
||||
class="btn-primary"/>
|
||||
<button name="action_create_search_pdf" string="Pdf" type="object"
|
||||
class="btn-primary"/>
|
||||
<button string="Cancel" class="btn-secondary" special="cancel"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="initial_evaluation_wizard_action" model="ir.actions.act_window">
|
||||
<field name="name">Initial Evaluation Report</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">initial.evaluation.wizard</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="initial_evaluation_wizard_view"/>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<!-- This Menu Item must have a parent and an action -->
|
||||
<menuitem id="initial_evaluation_wizard_menu"
|
||||
name="Initial Evaluation Report"
|
||||
parent="purchase_requisition_custom.reports"
|
||||
action="initial_evaluation_wizard_action"
|
||||
sequence="3"/>
|
||||
</odoo>
|
||||
Loading…
Reference in New Issue