Add odex25_evaluation_eriteria module

This commit is contained in:
younes 2025-06-04 14:20:29 +01:00
parent 4b9c93892c
commit 70a122eee8
20 changed files with 2570 additions and 0 deletions

View File

@ -0,0 +1,5 @@
# -*- coding: utf-8 -*-
from . import controllers
from . import models
from . import wizard

View File

@ -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',
],
}

View File

@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
from . import controllers

View File

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
from odoo import http
from odoo.http import request

View File

@ -0,0 +1,5 @@
<odoo>
<data>
</data>
</odoo>

View File

@ -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 ""

View File

@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
from . import models

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_purchase_committee_type_line committee.type.line model_purchase_committee_type_line 1 1 1 1
3 access_initial_evaluation_criteria initial.evaluation.criteria model_initial_evaluation_criteria 1 1 1 1
4 access_initial_evaluation_wizard initial.evaluation.wizard model_initial_evaluation_wizard 1 1 1 1
5 access_final_evaluation_wizard final.evaluation.wizard model_final_evaluation_wizard 1 1 1 1

View File

@ -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>

View File

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
from . import intial_evaluation_report
from . import final_evaluation_wizard

View File

@ -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)

View File

@ -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>

View File

@ -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)

View File

@ -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>