Merge pull request #421 from expsa/zainab_sale

UPDATE
This commit is contained in:
zainab2097 2024-07-29 15:39:50 +03:00 committed by GitHub
commit df985bb25a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
22 changed files with 364 additions and 38 deletions

View File

@ -69,12 +69,14 @@ odoo app manage Membership subscription plans, odoo membership memeber, odoo mem
'security/ir.model.access.csv',
'data/sequence.xml',
'views/main_menu.xml',
'views/membership_cancel_request.xml',
'wizard/renew_membership.xml',
'wizard/cancel_membership.xml',
'views/partner_extended.xml',
'views/dev_membership.xml',
'views/product_template.xml',
'views/res_config_settings.xml',
'views/membership_level.xml',
'report/print_membership_template.xml',
'report/print_membership_menu.xml',
'data/mail_template.xml',

View File

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-07-18 09:58+0000\n"
"PO-Revision-Date: 2024-07-18 09:58+0000\n"
"POT-Creation-Date: 2024-07-29 11:27+0000\n"
"PO-Revision-Date: 2024-07-29 11:27+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@ -164,6 +164,7 @@ msgstr "<span class=\"o_stat_text\">العضوية</span>"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__message_needaction
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__message_needaction
msgid "Action Needed"
msgstr ""
@ -182,21 +183,25 @@ msgstr "العضويات النشطة"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__activity_ids
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__activity_ids
msgid "Activities"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__activity_exception_decoration
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__activity_exception_decoration
msgid "Activity Exception Decoration"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__activity_state
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__activity_state
msgid "Activity State"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__activity_type_icon
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__activity_type_icon
msgid "Activity Type Icon"
msgstr ""
@ -208,6 +213,16 @@ msgstr ""
msgid "Age"
msgstr "العمر"
#. module: dev_membership
#: model_terms:ir.ui.view,arch_db:dev_membership.view_membership_cancellation_request_form
msgid "Approve"
msgstr "موافقة"
#. module: dev_membership
#: model:ir.model.fields.selection,name:dev_membership.selection__membership_cancellation_request__state__approved
msgid "Approved"
msgstr "مقبول"
#. module: dev_membership
#: model_terms:ir.ui.view,arch_db:dev_membership.view_search_res_partner
msgid "Archived"
@ -215,6 +230,7 @@ msgstr "مؤرشف"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__message_attachment_count
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__message_attachment_count
msgid "Attachment Count"
msgstr ""
@ -268,6 +284,7 @@ msgstr "أسباب الإلغاء"
#. module: dev_membership
#: model:ir.model,name:dev_membership.model_cancellation_reason
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__cancel_reason
#: model:ir.model.fields,field_description:dev_membership.field_res_config_settings__cancellation_reason
msgid "Cancellation Reason"
msgstr "سبب الإلغاء"
@ -302,6 +319,8 @@ msgstr "انشاء فاتورة"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_cancellation_reason__create_uid
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__create_uid
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__create_uid
#: model:ir.model.fields,field_description:dev_membership.field_membership_level__create_uid
#: model:ir.model.fields,field_description:dev_membership.field_membership_request_cancel_wizard__create_uid
#: model:ir.model.fields,field_description:dev_membership.field_renew_membership__create_uid
msgid "Created by"
@ -310,6 +329,8 @@ msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_cancellation_reason__create_date
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__create_date
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__create_date
#: model:ir.model.fields,field_description:dev_membership.field_membership_level__create_date
#: model:ir.model.fields,field_description:dev_membership.field_membership_request_cancel_wizard__create_date
#: model:ir.model.fields,field_description:dev_membership.field_renew_membership__create_date
msgid "Created on"
@ -355,6 +376,8 @@ msgstr "العضويات"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_cancellation_reason__display_name
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__display_name
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__display_name
#: model:ir.model.fields,field_description:dev_membership.field_membership_level__display_name
#: model:ir.model.fields,field_description:dev_membership.field_membership_request_cancel_wizard__display_name
#: model:ir.model.fields,field_description:dev_membership.field_renew_membership__display_name
#: model:ir.model.fields,field_description:dev_membership.field_report_dev_membership_membership_card__display_name
@ -363,6 +386,7 @@ msgstr ""
#. module: dev_membership
#: model:ir.model.fields.selection,name:dev_membership.selection__dev_membership__state__draft
#: model:ir.model.fields.selection,name:dev_membership.selection__membership_cancellation_request__state__draft
msgid "Draft"
msgstr "مسودة"
@ -442,26 +466,43 @@ msgstr "إرسال تذكير ثاني قبل انتهاء العضوية بعد
msgid "Expired Membership"
msgstr "العضوية المنتهية"
#. module: dev_membership
#: model:ir.model.fields.selection,name:dev_membership.selection__product_template__gender__female
#: model:ir.model.fields.selection,name:dev_membership.selection__res_partner__gender__female
msgid "Female"
msgstr "أنثى"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__message_follower_ids
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__message_follower_ids
msgid "Followers"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__message_channel_ids
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__message_channel_ids
msgid "Followers (Channels)"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__message_partner_ids
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,help:dev_membership.field_dev_membership__activity_type_icon
#: model:ir.model.fields,help:dev_membership.field_membership_cancellation_request__activity_type_icon
msgid "Font awesome icon e.g. fa-tasks"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_product_product__gender
#: model:ir.model.fields,field_description:dev_membership.field_product_template__gender
#: model:ir.model.fields,field_description:dev_membership.field_res_partner__gender
msgid "Gender"
msgstr "الجنس"
#. module: dev_membership
#: model_terms:ir.ui.view,arch_db:dev_membership.view_search_res_partner
msgid "Group By"
@ -475,6 +516,8 @@ msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_cancellation_reason__id
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__id
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__id
#: model:ir.model.fields,field_description:dev_membership.field_membership_level__id
#: model:ir.model.fields,field_description:dev_membership.field_membership_request_cancel_wizard__id
#: model:ir.model.fields,field_description:dev_membership.field_renew_membership__id
#: model:ir.model.fields,field_description:dev_membership.field_report_dev_membership_membership_card__id
@ -483,11 +526,13 @@ msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__activity_exception_icon
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__activity_exception_icon
msgid "Icon"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,help:dev_membership.field_dev_membership__activity_exception_icon
#: model:ir.model.fields,help:dev_membership.field_membership_cancellation_request__activity_exception_icon
msgid "Icon to indicate an exception activity."
msgstr ""
@ -499,12 +544,16 @@ msgstr "رقم الهوية"
#. module: dev_membership
#: model:ir.model.fields,help:dev_membership.field_dev_membership__message_needaction
#: model:ir.model.fields,help:dev_membership.field_dev_membership__message_unread
#: model:ir.model.fields,help:dev_membership.field_membership_cancellation_request__message_needaction
#: model:ir.model.fields,help:dev_membership.field_membership_cancellation_request__message_unread
msgid "If checked, new messages require your attention."
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,help:dev_membership.field_dev_membership__message_has_error
#: model:ir.model.fields,help:dev_membership.field_dev_membership__message_has_sms_error
#: model:ir.model.fields,help:dev_membership.field_membership_cancellation_request__message_has_error
#: model:ir.model.fields,help:dev_membership.field_membership_cancellation_request__message_has_sms_error
msgid "If checked, some messages have a delivery error."
msgstr ""
@ -529,6 +578,7 @@ msgstr "الفاتورة"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__message_is_follower
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__message_is_follower
msgid "Is Follower"
msgstr ""
@ -567,6 +617,8 @@ msgstr "فترة الانضمام"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_cancellation_reason____last_update
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership____last_update
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request____last_update
#: model:ir.model.fields,field_description:dev_membership.field_membership_level____last_update
#: model:ir.model.fields,field_description:dev_membership.field_membership_request_cancel_wizard____last_update
#: model:ir.model.fields,field_description:dev_membership.field_renew_membership____last_update
#: model:ir.model.fields,field_description:dev_membership.field_report_dev_membership_membership_card____last_update
@ -576,6 +628,8 @@ msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_cancellation_reason__write_uid
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__write_uid
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__write_uid
#: model:ir.model.fields,field_description:dev_membership.field_membership_level__write_uid
#: model:ir.model.fields,field_description:dev_membership.field_membership_request_cancel_wizard__write_uid
#: model:ir.model.fields,field_description:dev_membership.field_renew_membership__write_uid
msgid "Last Updated by"
@ -584,6 +638,8 @@ msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_cancellation_reason__write_date
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__write_date
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__write_date
#: model:ir.model.fields,field_description:dev_membership.field_membership_level__write_date
#: model:ir.model.fields,field_description:dev_membership.field_membership_request_cancel_wizard__write_date
#: model:ir.model.fields,field_description:dev_membership.field_renew_membership__write_date
msgid "Last Updated on"
@ -591,16 +647,34 @@ msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__message_main_attachment_id
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields.selection,name:dev_membership.selection__product_template__gender__male
#: model:ir.model.fields.selection,name:dev_membership.selection__res_partner__gender__male
msgid "Male"
msgstr "ذكر"
#. module: dev_membership
#: model:res.groups,name:dev_membership.group_membership_manager
msgid "Manager"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_membership_level__max
msgid "Maximum"
msgstr "الحد الاعلي"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_membership_level__min
msgid "Minimum"
msgstr "الحد الادني"
#. module: dev_membership
#: model:ir.actions.act_window,name:dev_membership.action_members
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__member_id
msgid "Member"
msgstr "العضو"
@ -611,6 +685,7 @@ msgid "Members"
msgstr "اﻷعضاء"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__membership_id
#: model:ir.model.fields,field_description:dev_membership.field_renew_membership__product_id
#: model:ir.model.fields,field_description:dev_membership.field_res_partner__active_membership_id
#: model:ir.model.fields,field_description:dev_membership.field_res_users__active_membership_id
@ -628,6 +703,12 @@ msgstr "العضوية"
msgid "Membership %s is Cancelled"
msgstr "تم إلغاء العضوية %s"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_product_product__membership_benefits
#: model:ir.model.fields,field_description:dev_membership.field_product_template__membership_benefits
msgid "Membership Benefits"
msgstr "مميزات العضوية "
#. module: dev_membership
#: code:addons/dev_membership/models/dev_membership.py:0
#: model_terms:ir.ui.view,arch_db:dev_membership.res_dev_membership_config_settings_view_form
@ -640,16 +721,28 @@ msgstr "إلغاء العضوية"
msgid "Membership Cancellation Reasones"
msgstr ""
#. module: dev_membership
#: model:ir.model,name:dev_membership.model_membership_cancellation_request
#: model_terms:ir.ui.view,arch_db:dev_membership.view_membership_cancellation_request_form
msgid "Membership Cancellation Request"
msgstr ""
#. module: dev_membership
#: model:ir.actions.act_window,name:dev_membership.action_membership_cancellation_request
#: model:ir.ui.menu,name:dev_membership.menu_membership_cancellation_request
#: model_terms:ir.ui.view,arch_db:dev_membership.view_membership_cancellation_request_tree
msgid "Membership Cancellation Requests"
msgstr "طلبات إلغاء العضوية"
#. module: dev_membership
#: model_terms:ir.ui.view,arch_db:dev_membership.res_dev_membership_config_settings_view_form
msgid "Membership Cancellation\"."
msgstr "إلغاء العضوية"
#. module: dev_membership
#: code:addons/dev_membership/wizard/cancel_membership.py:0
#, python-format
msgid "Membership Cancelled"
msgstr "إلغاء العضوية"
#: model:ir.model.fields,field_description:dev_membership.field_membership_level__color
msgid "Membership Card Color"
msgstr "لون بطاقة العضوية"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_product_product__membership_count
@ -709,6 +802,19 @@ msgid ""
"Please Paid membership invoice and active the membership."
msgstr ""
#. module: dev_membership
#: model:ir.model,name:dev_membership.model_membership_level
#: model_terms:ir.ui.view,arch_db:dev_membership.view_membership_level_form
#: model_terms:ir.ui.view,arch_db:dev_membership.view_membership_level_tree
msgid "Membership Level"
msgstr "مستوى العضوية"
#. module: dev_membership
#: model:ir.actions.act_window,name:dev_membership.action_membership_level
#: model:ir.ui.menu,name:dev_membership.menu_membership_level
msgid "Membership Levels"
msgstr "مستويات العضوية"
#. module: dev_membership
#: model:ir.actions.server,name:dev_membership.cron_cancel_dev_membership_reminder_ir_actions_server
#: model:ir.cron,cron_name:dev_membership.cron_cancel_dev_membership_reminder
@ -791,6 +897,7 @@ msgid "Membership To Date"
msgstr "تاريخ نهاية العضوية"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__membership_type_id
#: model:ir.model.fields,field_description:dev_membership.field_res_partner__product_id
#: model:ir.model.fields,field_description:dev_membership.field_res_users__product_id
#: model_terms:ir.ui.view,arch_db:dev_membership.view_search_res_partner
@ -816,6 +923,12 @@ msgid ""
msgstr ""
"لا يمكن أن تكون رسوم العضوية أقل من القيمة الافتراضية في إعداد نوع العضوية."
#. module: dev_membership
#: code:addons/dev_membership/models/dev_membership.py:0
#, python-format
msgid "Membership is only allowed for %s"
msgstr ""
#. module: dev_membership
#: model:ir.model,name:dev_membership.model_membership_request_cancel_wizard
msgid "Membership refuse Reason wizard"
@ -841,14 +954,21 @@ msgstr "تاريخ نهاية العضوية"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__message_has_error
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__message_ids
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__message_ids
msgid "Messages"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_membership_level__years
msgid "NO Of Years Subscription."
msgstr "عدد سنوات الاشتراك"
#. module: dev_membership
#: model:ir.model.fields.selection,name:dev_membership.selection__product_template__interval__month
#: model:ir.model.fields.selection,name:dev_membership.selection__renew_membership__interval__month
@ -858,14 +978,16 @@ msgstr "شهر"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__my_activity_date_deadline
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__my_activity_date_deadline
msgid "My Activity Deadline"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__name
#: model:ir.model.fields,field_description:dev_membership.field_membership_level__name
#: model_terms:ir.ui.view,arch_db:dev_membership.view_res_partner_member_tree
msgid "Name"
msgstr "رقم العضوية"
msgstr "الاسم"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_product_product__nationality_ids
@ -877,16 +999,19 @@ msgstr "الجنسية"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__activity_date_deadline
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__activity_date_deadline
msgid "Next Activity Deadline"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__activity_summary
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__activity_summary
msgid "Next Activity Summary"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__activity_type_id
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__activity_type_id
msgid "Next Activity Type"
msgstr ""
@ -903,26 +1028,31 @@ msgstr "الترشيح لعضوية مجلس الادارة"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__message_needaction_counter
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__message_has_error_counter
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__message_has_error_counter
msgid "Number of errors"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,help:dev_membership.field_dev_membership__message_needaction_counter
#: model:ir.model.fields,help:dev_membership.field_membership_cancellation_request__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,help:dev_membership.field_dev_membership__message_has_error_counter
#: model:ir.model.fields,help:dev_membership.field_membership_cancellation_request__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,help:dev_membership.field_dev_membership__message_unread_counter
#: model:ir.model.fields,help:dev_membership.field_membership_cancellation_request__message_unread_counter
msgid "Number of unread messages"
msgstr ""
@ -942,12 +1072,6 @@ msgstr ""
msgid "Phone"
msgstr "الهاتف"
#. module: dev_membership
#: code:addons/dev_membership/models/dev_membership.py:0
#, python-format
msgid "Please Check Membership Conditions in Type Of membership"
msgstr "تفضل بالتحقق من شروط العضوية في نوع العضوية"
#. module: dev_membership
#: code:addons/dev_membership/models/dev_membership.py:0
#, python-format
@ -977,6 +1101,7 @@ msgstr "قالب المنتج"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__reason
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__reason
msgid "Reason/Justification"
msgstr "الاسباب/ المبررات"
@ -985,6 +1110,16 @@ msgstr "الاسباب/ المبررات"
msgid "Reasone of Cancellation"
msgstr ""
#. module: dev_membership
#: model_terms:ir.ui.view,arch_db:dev_membership.view_membership_cancellation_request_form
msgid "Reject"
msgstr "رفض"
#. module: dev_membership
#: model:ir.model.fields.selection,name:dev_membership.selection__membership_cancellation_request__state__rejected
msgid "Rejected"
msgstr "مرفوض"
#. module: dev_membership
#: model_terms:ir.ui.view,arch_db:dev_membership.view_renew_membership_form
msgid "Renew"
@ -1010,6 +1145,7 @@ msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__date
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__request_date
msgid "Request Date"
msgstr "تاريخ الطلب"
@ -1020,6 +1156,7 @@ msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__activity_user_id
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__activity_user_id
msgid "Responsible User"
msgstr "المسؤول"
@ -1035,6 +1172,7 @@ msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__message_has_sms_error
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__message_has_sms_error
msgid "SMS Delivery error"
msgstr ""
@ -1060,8 +1198,14 @@ msgstr "الاعدادات"
msgid "State"
msgstr "الحالة"
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__state
msgid "Status"
msgstr "الحالة"
#. module: dev_membership
#: model:ir.model.fields,help:dev_membership.field_dev_membership__activity_state
#: model:ir.model.fields,help:dev_membership.field_membership_cancellation_request__activity_state
msgid ""
"Status based on activities\n"
"Overdue: Due date is already passed\n"
@ -1075,23 +1219,32 @@ msgid "Taxes"
msgstr "الضرائب"
#. module: dev_membership
#: code:addons/dev_membership/wizard/cancel_membership.py:0
#: code:addons/dev_membership/models/dev_membership.py:0
#, python-format
msgid "The Membership was Cancelled by %s for the following reason: %s "
msgstr "تم إلغاء العضوية بواسطة %s للسبب التالي: %s"
msgid "The member must be at least 18 years old."
msgstr ""
#. module: dev_membership
#: code:addons/dev_membership/models/dev_membership.py:0
#, python-format
msgid "The member's nationality does not meet the membership requirements"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,help:dev_membership.field_dev_membership__activity_exception_decoration
#: model:ir.model.fields,help:dev_membership.field_membership_cancellation_request__activity_exception_decoration
msgid "Type of the exception activity on record."
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__message_unread
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__message_unread
msgid "Unread Messages"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__message_unread_counter
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__message_unread_counter
msgid "Unread Messages Counter"
msgstr ""
@ -1103,11 +1256,13 @@ msgstr ""
#. module: dev_membership
#: model:ir.model.fields,field_description:dev_membership.field_dev_membership__website_message_ids
#: model:ir.model.fields,field_description:dev_membership.field_membership_cancellation_request__website_message_ids
msgid "Website Messages"
msgstr ""
#. module: dev_membership
#: model:ir.model.fields,help:dev_membership.field_dev_membership__website_message_ids
#: model:ir.model.fields,help:dev_membership.field_membership_cancellation_request__website_message_ids
msgid "Website communication history"
msgstr ""

View File

@ -12,5 +12,7 @@ from . import res_partner
from . import product_template
from . import dev_membership
from . import res_config_settings
from . import membershib_level
from . import membership_cancel_request
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -128,13 +128,13 @@ class DevMembership(models.Model):
def action_confirm_membership(self):
if self.product_id.nationality_ids and self.product_id.age:
if self.partner_id.nationality_id in self.product_id.nationality_ids and self.product_id.age == self.partner_id.age:
self.state = 'confirm'
else:
raise ValidationError(_('Please Check Membership Conditions in Type Of membership'))
raise ValidationError(_("The member's nationality does not meet the membership requirements"))
if self.partner_id.age <18:
raise ValidationError(_('The member must be at least 18 years old.'))
if self.partner_id.gender != self.product_id.gender:
raise ValidationError(_('Membership is only allowed for %s') % self.product_id.gender)
else:
self.state = 'confirm'
self.state = 'confirm'
def action_active_membership(self):
if not self.invoice_id and not self.is_free:
raise ValidationError(_('Please Create Membership Invoice'))

View File

@ -0,0 +1,11 @@
from odoo import models, fields,_
class MembershipLevel(models.Model):
_name = 'membership.level'
_description = 'Membership Level'
name = fields.Char(string='Name', required=True)
years = fields.Integer(string='NO Of Years Subscription.', required=True)
min = fields.Integer(string='Maximum', required=True)
max = fields.Integer(string='Maximum', required=True)
color = fields.Char(string='Membership Card Color')

View File

@ -0,0 +1,27 @@
from odoo import models, fields, api,_
class MembershipCancellationRequest(models.Model):
_name = 'membership.cancellation.request'
_description = 'Membership Cancellation Request'
_inherit = ['mail.thread', 'mail.activity.mixin']
_rec_name = 'member_id'
member_id = fields.Many2one('res.partner', string='Member', required=True)
membership_type_id = fields.Many2one('product.template', string='Membership Type', required=True)
membership_id = fields.Many2one('dev.membership', string='Membership', required=True)
cancel_reason = fields.Char(string='Cancellation Reason', required=True)
request_date = fields.Datetime(string='Request Date', default=fields.Datetime.now)
state = fields.Selection([
('draft', 'Draft'),
('approved', 'Approved'),
('rejected', 'Rejected')
], string='Status', default='draft', track_visibility='onchange')
def action_approve(self):
for rec in self:
rec.state = 'approved'
rec.membership_id.state = 'cancel'
def action_reject(self):
for rec in self:
rec.state = 'rejected'

View File

@ -14,6 +14,14 @@ from odoo import fields,api, models,_
class ProductTemplate(models.Model):
_inherit = "product.template"
gender = fields.Selection(
selection=[("male", "Male"), ("female", "Female")], default="male",string='Gender'
)
membership_benefits = fields.Text(
string="Membership Benefits",
required=False)
def view_membership(self):
ctx = dict(create=False)
return {

View File

@ -28,7 +28,9 @@ class PartnerExtended(models.Model):
age = fields.Integer(string='Age',store=True,compute='_compute_age')
employer = fields.Char(string='Employer',)
product_id = fields.Many2one('product.product', string="Membership Type",store=True,related='active_membership_id.product_id')
gender = fields.Selection(
selection=[("male", "Male"), ("female", "Female")], default="male",string='Gender'
)
# todo start
@api.depends('birth_date')
def _compute_age(self):

View File

@ -9,4 +9,6 @@ access_renew_membership_manager,renew.membership.manager,model_renew_membership,
access_renew_membership_resone,renew.membership.resone,model_cancellation_reason,group_membership_manager,1,1,1,1
access_renew_membership_resone2,renew.membership.resone2,model_cancellation_reason,group_membership_user,1,0,0,0
access_renew_membership_wiz_resone2,renew.membership.wiz.resone2,model_membership_request_cancel_wizard,,1,1,1,1
access_membership_level,membership.level,model_membership_level,,1,1,1,1
access_membership_cancel_requesst,membership.cancel,model_membership_cancellation_request,,1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
9 access_renew_membership_resone2 renew.membership.resone2 model_cancellation_reason group_membership_user 1 0 0 0
10 access_renew_membership_wiz_resone2 renew.membership.wiz.resone2 model_membership_request_cancel_wizard 1 1 1 1
11 access_membership_level membership.level model_membership_level 1 1 1 1
12 access_membership_cancel_requesst membership.cancel model_membership_cancellation_request 1 1 1 1
13
14

View File

@ -0,0 +1,53 @@
<odoo>
<!-- Form View -->
<record id="view_membership_cancellation_request_form" model="ir.ui.view">
<field name="name">membership.cancellation.request.form</field>
<field name="model">membership.cancellation.request</field>
<field name="arch" type="xml">
<form string="Membership Cancellation Request">
<header>
<button name="action_approve" string="Approve" type="object" class="oe_highlight" attrs="{'invisible': [('state', '!=', 'draft')]}"/>
<button name="action_reject" string="Reject" type="object" class="oe_highlight" attrs="{'invisible': [('state', '!=', 'draft')]}"/>
<field name="state" widget="statusbar" readonly="1"/>
</header>
<sheet>
<group>
<field name="member_id"/>
<field name="membership_type_id"/>
<field name="membership_id"/>
<field name="cancel_reason"/>
<field name="request_date"/>
</group>
</sheet>
</form>
</field>
</record>
<!-- Tree View -->
<record id="view_membership_cancellation_request_tree" model="ir.ui.view">
<field name="name">membership.cancellation.request.tree</field>
<field name="model">membership.cancellation.request</field>
<field name="arch" type="xml">
<tree string="Membership Cancellation Requests">
<field name="member_id"/>
<field name="membership_type_id"/>
<field name="membership_id"/>
<field name="cancel_reason"/>
<field name="request_date"/>
<field name="state"/>
</tree>
</field>
</record>
<!-- Action -->
<record id="action_membership_cancellation_request" model="ir.actions.act_window">
<field name="name">Membership Cancellation Requests</field>
<field name="res_model">membership.cancellation.request</field>
<field name="view_mode">tree,form</field>
</record>
<!-- Menu Item -->
<menuitem id="menu_membership_cancellation_request" name="Membership Cancellation Requests" parent="dev_membership.menu_configuration_root" action="action_membership_cancellation_request"/>
</odoo>

View File

@ -0,0 +1,39 @@
<odoo>
<record id="view_membership_level_tree" model="ir.ui.view">
<field name="name">membership.level.tree</field>
<field name="model">membership.level</field>
<field name="arch" type="xml">
<tree editable="bottom" string="Membership Level">
<field name="name"/>
<field name="years"/>
<field name="max"/>
<field name="min"/>
<field widget='color' name="color"/>
</tree>
</field>
</record>
<record id="view_membership_level_form" model="ir.ui.view">
<field name="name">membership.level.form</field>
<field name="model">membership.level</field>
<field name="arch" type="xml">
<form string="Membership Level">
<group>
<field name="name"/>
<field name="years"/>
<field name="max"/>
<field name="min"/>
<field widget='color' name="color"/>
</group>
</form>
</field>
</record>
<record id="action_membership_level" model="ir.actions.act_window">
<field name="name">Membership Levels</field>
<field name="res_model">membership.level</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem id="menu_membership_level" sequence="2" name="Membership Levels" parent="menu_configuration_root" action="action_membership_level"/>
</odoo>

View File

@ -151,7 +151,9 @@
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='vat']" position="before">
<field name="gender"/>
<field name="nationality_id"/>
<field name="birth_date"/>
<field name="age"/>
@ -159,6 +161,7 @@
<xpath expr="//field[@name='function']" position="after">
<field name="employer"/>
</xpath>
<xpath expr="//page" position="after">
<page name="memebership" string='Memebership'>
<group>

View File

@ -68,6 +68,11 @@
<label for="description"/>
</h3>
<field name="description"/>
<h3>
<label for="membership_benefits"/>
</h3>
<field name="membership_benefits"/>
<h3>
Membership Terms
</h3>
@ -77,6 +82,7 @@
<group string="Membership Terms">
<field widget="many2many_tags" name="nationality_ids"/>
<field name="age"/>
<field name="gender"/>
</group>
<group string="Nomination for Membership">
<field name="nominee"/>

View File

@ -118,16 +118,17 @@
<field name="name">cancell_view_tree</field>
<field name="model">cancellation.reason</field>
<field name="arch" type="xml">
<tree string="cancell_tree">
<tree editable='top' string="cancell_tree">
<field name="name"/>
</tree>
</field>
</record>
<record id="action_dev_membership_config_refuse_resone" model="ir.actions.act_window">
<field name="name">Cancell Resone</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">cancellation.reason</field>
<field name="view_mode">tree,form</field>
<field name="view_mode">tree</field>
</record>
<!--Menu-->
@ -140,7 +141,7 @@
<menuitem id="menu_dev_membership_general_reasons"
name="Cancell Resones"
parent="menu_configuration_root"
sequence="2"
sequence="3"
action="action_dev_membership_config_refuse_resone"/>
</odoo>

View File

@ -22,18 +22,33 @@ class MembershipRefues(models.TransientModel):
res.update({'request_id': active_ids[0] if active_ids else False})
return res
def request_cancel_reason(self):
for record in self:
record.ensure_one()
subject = _("Membership Cancelled")
body = _('The Membership was Cancelled by %s for the following reason: %s ') % (
self.env.user.name, record.reason_id.name)
# def request_cancel_reason(self):
# for record in self:
# record.ensure_one()
# subject = _("Membership Cancelled")
# body = _('The Membership was Cancelled by %s for the following reason: %s ') % (
# self.env.user.name, record.reason_id.name)
#
# if record.request_id:
# record.request_id.cancel_reasone = record.reason_id.name
#
# record.request_id.message_post(body=body, subject=subject)
# record.request_id.make_activity_group()
# # end chatter
# return {'type': 'ir.actions.act_window_close'}
if record.request_id:
record.request_id.cancel_reasone = record.reason_id.name
record.request_id.state = 'cancel'
record.request_id.message_post(body=body, subject=subject)
record.request_id.make_activity_group()
# end chatter
def request_cancel_reason(self):
request_id = self.env.context.get('active_id')
# Assuming self.env.context contains the ID of the membership
if request_id:
membership = self.env['dev.membership'].browse(request_id)
self.env['membership.cancellation.request'].create({
'member_id': membership.partner_id.id,
'membership_type_id': membership.product_id.id,
'membership_id': membership.id,
'cancel_reason': self.reason_id.name,
'state': 'draft'
})
return {'type': 'ir.actions.act_window_close'}