Commit Graph

2657 Commits

Author SHA1 Message Date
odoo-syria-team e2e8b884dc Add Domain on sponsership 2025-11-13 15:39:53 +03:00
NossibaElhadi cc3d6be817
Merge pull request #5395 from expsa/parial_payment_donation
Parial payment donation
2025-11-13 01:52:20 +03:00
Nossibaelhadi 3703d1f29d FIX replacement state for benefit 2025-11-13 01:48:40 +03:00
Nossibaelhadi f15176f7c0 Merge branch 'dev_odex25_ensan' of https://github.com/expsa/odex25-standard-modules into parial_payment_donation 2025-11-12 18:39:28 +03:00
Nossibaelhadi 43d105707c FIX parial payment donation for extend 2025-11-12 18:38:18 +03:00
abdurrahman-saber 02d77b97a5
Merge pull request #5393 from expsa/vendor_bill_notes
[FIX] odex_takaful: create bill for family
2025-11-12 16:27:47 +02:00
Abdurrahman Saber 6ec9eb09a0 [FIX] odex_takaful: create bill for family 2025-11-12 16:26:50 +02:00
kchyounes19 1b313f8439
Merge pull request #5391 from expsa/tyt_dev_odex25_ensan
[IMP] odex_benefit: IMP benefit
2025-11-12 15:00:33 +01:00
younes 7b049b4d13 [IMP] odex_benefit: IMP benefit 2025-11-12 14:58:03 +01:00
kchyounes19 dc47e69e5d
Merge pull request #5388 from expsa/tt_dev_odex25_ensan
[IMP] odex_benefit: IMP benefit
2025-11-12 14:36:15 +01:00
younes 9e601ec60a [IMP] odex_benefit: IMP benefit 2025-11-12 14:33:31 +01:00
Mohamed Eltayar f97078a400
Merge pull request #5385 from expsa/fix/add-missing-field-mechanism-lines-20251112-140000
fix: add missing show_add_benefit_button field to tree view
2025-11-12 13:47:31 +03:00
Mohamed Eltayar 9fe8de985f fix: add missing show_add_benefit_button field to tree view
**المشكلة:**
Field show_add_benefit_button used in attrs.invisible but missing from view
ValidationError during module upgrade

**الحل:**
إضافة <field name="show_add_benefit_button" invisible="1"/> في tree view

**السبب:**
الـ commit السابق (2bc13b62) لم يتم دمجه في PR #5384

Synced with latest dev_odex25_ensan (2e3d0238) on Wed Nov 12 13:45:50 +03 2025
2025-11-12 13:45:50 +03:00
Mohamed Eltayar 2e3d0238a5
Merge pull request #5384 from expsa/fix/restore-wizard-form-mechanism-lines-20251112-073000
fix: restore wizard form for donations_details_lines_mechanism_ids
2025-11-12 13:36:54 +03:00
Mohamed Eltayar f5023b13a9 fix: restore wizard form for donations_details_lines_mechanism_ids
**المشكلة:**
- تم إضافة widget='section_and_note_one2many'
- تم إضافة editable='bottom'
- تم إضافة <control> section
- هذا منع فتح wizard form وجعل التحرير inline

**الحل:**
- إزالة widget='section_and_note_one2many'
- إزالة editable='bottom'
- إزالة <control> section
- الرجوع للكود الأصلي قبل 5 مساءً يوم 11-11

**النتيجة:**
- زر 'إضافة بند' الآن يفتح wizard form كما كان سابقاً 

Synced with dev_odex25_ensan on Wed Nov 12 13:35:10 +03 2025
2025-11-12 13:35:10 +03:00
NossibaElhadi 8e0c93e45f
Merge pull request #5383 from expsa/Test_All
FIX res partner
2025-11-12 13:01:19 +03:00
Nossibaelhadi 305bab9423 FIX res partner 2025-11-12 12:56:27 +03:00
AliAmmarEXP fb9b39d0b1
Merge pull request #5382 from expsa/Add_portal_user
[ADD]Create Portal User From res.partner Kafeel
2025-11-12 11:35:58 +03:00
odoo-syria-team f01884f175 [ADD]Create Portal User From res.partner Kafeel 2025-11-12 11:31:27 +03:00
kchyounes19 4d9ef96e53
Merge pull request #5380 from expsa/kch_dev_odex25_ensan
[IMP] odex_benefit: IMP benefit
2025-11-12 08:04:27 +01:00
younes a840cc251f [IMP] odex_benefit: IMP benefit 2025-11-12 08:03:12 +01:00
Mohamed Eltayar e7ee5d4a8e
Merge pull request #5376 from expsa/fix/xml-syntax-buttons-logic-20251112-070500
fix: XML syntax error in assets.xml - escape && operator
2025-11-12 05:40:51 +03:00
Mohamed Eltayar 22bae36446 fix: escape && operator in JavaScript for XML compatibility
- Changed && to &amp;&amp; in isEditable logic (line 213)
- Fixes XMLSyntaxError: xmlParseEntityRef: no name

Synced with dev_odex25_ensan on Wed Nov 12 05:40:15 +03 2025
2025-11-12 05:40:15 +03:00
Mohamed Eltayar 1ca71f156d
Merge pull request #5375 from expsa/fix/buttons-new-record-code-badge-20251112-065000
fix: UI buttons editable logic for all scenarios & hide code badge
2025-11-12 05:35:07 +03:00
Mohamed Eltayar 53adaf8c96 fix: buttons editable logic for all scenarios & hide code badge
**Buttons logic:**
- New record: editable
- Draft + edit mode: editable
- Draft + readonly: readonly
- Non-draft + any mode: readonly

**Code badge:**
- Hidden (commented out)

Synced with dev_odex25_ensan on Wed Nov 12 05:32:47 +03 2025
2025-11-12 05:32:47 +03:00
Mohamed Eltayar 8b8a4d025f
Merge pull request #5374 from expsa/fix/buttons-new-record-code-badge-20251112-065000
fix: Buttons Editable on New Record & Compact Code Badge
2025-11-12 05:11:30 +03:00
Mohamed Eltayar 7f9dd8e140 fix: buttons editable on new record & compact code badge
- Removed form mode check - buttons now editable in draft state
- Moved code badge to top-right corner (absolute positioning)
- Smaller badge size (14px, compact padding)
- No longer blocks form width

Synced with dev_odex25_ensan on Wed Nov 12 05:10:51 +03 2025
2025-11-12 05:10:51 +03:00
Mohamed Eltayar 88c5c2bdcd
Merge pull request #5373 from expsa/feat/code-badge-display-20251112-060000
feat: Display Code as Prominent Badge Only After Generation
2025-11-12 04:47:36 +03:00
Mohamed Eltayar 3986c53e26 feat: Display code as prominent badge only after generation
**Problem:**
- Code field (<h1>) was always visible, even when empty
- Wasted vertical space at top of form during record creation
- Not professional appearance with empty heading

**Solution:**
- Code field now HIDDEN until generated (when code is empty/False)
- After "تأكيد البيانات" (Confirm Data), code appears as beautiful badge
- Uses attrs="{'invisible': [('code', '=', False)]}"

**Badge Design:**
- Blue badge (badge-primary) with barcode icon
- Large, bold font (18px, font-weight: 600)
- Generous padding (10px 20px)
- Letter spacing for readability
- No label - just icon + code
- Example: [🔖 KF00001]

**Before:**
```xml
<h1>
    <field name="code" nolabel="1"/>
</h1>
```
Result: Empty <h1> space visible during creation 

**After:**
```xml
<div class="oe_title" attrs="{'invisible': [('code', '=', False)]}">
    <h2 style="margin-top: 10px; margin-bottom: 15px;">
        <span class="badge badge-primary" style="...">
            <i class="fa fa-barcode" style="margin-right: 8px;"/>
            <field name="code" nolabel="1" readonly="1"/>
        </span>
    </h2>
</div>
```
Result:
- Clean form during creation 
- Beautiful badge after confirmation 

**User Experience:**

| Stage | Before | After |
|-------|--------|-------|
| **New Record** | Empty <h1> visible  | Code section hidden  |
| **After Confirm** | Code in plain <h1> | Blue badge with icon 🔖  |
| **Visual Impact** | Basic | Professional & Prominent  |

**Technical Details:**
- Replaced <h1> with styled badge in <h2>
- Added FontAwesome barcode icon (fa-barcode)
- Used Odoo standard badge-primary class
- Added custom styling for prominence
- Proper margins for spacing (10px top, 15px bottom)

**Code Generation Timing:**
Code is generated in `action_confirm_data()` method:
```python
if not self.code:
    self.code = self.env['ir.sequence'].sudo().next_by_code('sponsorship.sequence')
```

**Benefits:**
1.  Clean form during creation (no empty space)
2.  Prominent, professional badge after confirmation
3.  Easy to spot and read the code number
4.  No label clutter - icon communicates purpose
5.  Better UX - information appears when relevant

File modified:
- odex25_ensan/odex_takaful/views/takaful_sponorship_view.xml

Synced with latest dev_odex25_ensan on Wed Nov 12 04:46:15 +03 2025
2025-11-12 04:46:15 +03:00
Mohamed Eltayar 9bca8f8300
Merge pull request #5372 from expsa/fix/ui-readonly-logic-complete-20251112-053000
fix: Complete Readonly Logic for UI Buttons & Boolean Toggle
2025-11-12 04:27:29 +03:00
Mohamed Eltayar 37f0dfaca9 feat: Update module icon reference in __manifest__.py
Changed icon reference from icon5.png to icon.png to match
the updated icon file and menu web_icon reference.

This ensures consistency across:
- __manifest__.py (module definition)
- takaful_menus_actions.xml (menu web_icon)
- Actual icon file (icon.png)

File modified:
- odex25_ensan/odex_takaful/__manifest__.py

Part of the complete icon update cleanup.
2025-11-12 04:26:41 +03:00
Mohamed Eltayar 49774bd272 fix: Complete readonly logic for UI buttons and boolean toggle
**Critical Fixes:**

1. **UI Buttons (تبرع/كفالة، مشروط/غير مشروط)**:
   -  FIXED: Buttons now maintain their visual selection (colors)
   -  FIXED: Buttons disabled when form NOT in edit mode
   -  FIXED: Buttons disabled when state != 'draft'
   -  Buttons editable ONLY when: (mode='edit' AND state='draft')

**Previous Problems:**
-  Buttons were clickable even when form not in edit mode
-  Buttons lost their visual selection (all looked the same)
-  opacity=0.6 made selected button unclear

**New Solution:**
```javascript
var isFormEdit = self.mode === 'edit';
var isDraftState = currentData.state === 'draft';
var isEditable = isFormEdit && isDraftState;

// ALWAYS update visual selection (maintain colors)
this.$('.record_option').each(function() {
    if ($(this).data('value') === currentData.record_type) {
        $(this).addClass('selected'); // Keep color
    }
});

// But disable interaction if not editable
if (!isEditable) {
    this.$('.record_option').css({
        'pointer-events': 'none',  // No clicking
        'cursor': 'not-allowed'    // Show disabled cursor
        // NO opacity change - keep visual selection clear
    });
}
```

**Benefits:**
-  Visual selection maintained (you can see which is selected)
-  No hover effect when readonly
-  No clicking when readonly
-  Only editable in draft + edit mode

2. **Boolean Toggle (donate_for_another_person)**:
   -  FIXED: Added readonly attrs
   -  Widget disabled when state != 'draft'

```xml
<field name="donate_for_another_person" widget="boolean_toggle"
       attrs="{'readonly': [('state', '!=', 'draft')]}"/>
```

**Behavior Matrix:**

| State | Form Mode | Buttons? | Boolean Toggle? | Correct? |
|-------|-----------|----------|----------------|----------|
| draft | readonly |  No |  No |  |
| draft | edit |  Yes |  Yes |  |
| confirmed | readonly |  No |  No |  |
| confirmed | edit |  No |  No |  |

Files modified:
- assets.xml: Complete readonly logic with visual selection
- takaful_sponorship_view.xml: Added readonly attrs to boolean toggle

Synced with latest dev_odex25_ensan on Wed Nov 12 04:24:40 +03 2025
2025-11-12 04:24:40 +03:00
Mohamed Eltayar 24d045bd43
Merge pull request #5371 from expsa/fix/ui-buttons-draft-state-only-20251112-050000
fix: Correct UI Buttons Logic - Draft State Only (Fixes PR #5369)
2025-11-12 04:07:04 +03:00
Mohamed Eltayar c9ad302384 feat: Update module icon and cleanup old icon files
**Changes:**
- Updated module icon: icon5.png → icon.png
- Updated menu web_icon reference in takaful_menus_actions.xml
- Removed old unused icon files (icon2.png, icon3.png, icon4.png, icon5.png, logo.png)
- Updated icon.png with new design

**Files:**
- Modified: odex25_ensan/odex_takaful/static/description/icon.png
- Modified: odex25_ensan/odex_takaful/views/takaful_menus_actions.xml
- Deleted: icon2.png, icon3.png, icon4.png, icon5.png, logo.png

This ensures the new module icon appears correctly after upgrade.
2025-11-12 04:04:13 +03:00
Mohamed Eltayar 4acf2a72c0 fix: Correct UI buttons logic - readonly in all states except draft
**Problem with previous PR #5369:**
The merged PR had WRONG logic that allowed buttons to become editable
when user clicks 'Edit' on confirmed/posted records.

**Previous WRONG Logic:**
```javascript
var isReadonly = currentData.state !== 'draft' || self.mode === 'readonly';
//  If mode='edit' AND state!='draft' → buttons become clickable!
```

**New CORRECT Logic:**
```javascript
var isDraftState = currentData.state === 'draft';
//  Buttons ONLY work if state='draft', regardless of form mode
```

**Key Change:**
-  OLD: Check both state AND mode → allows editing in non-draft states
-  NEW: Check ONLY state → readonly in ALL non-draft states

**User Requirement:**
الأزرار تكون للقراءة فقط في جميع الحالات ما عدا draft فقط،
حتى لو عملت تحرير للسجل.

**Behavior Now:**
- draft state → Buttons work 
- confirmed/posted + readonly mode → Buttons disabled 
- confirmed/posted + edit mode → Buttons REMAIN disabled  (FIXED!)

This is the correct implementation that meets the exact requirement.

Synced with latest dev_odex25_ensan on Wed Nov 12 03:58:56 +03 2025
2025-11-12 03:58:56 +03:00
Mohamed Eltayar ea823f2806
Merge pull request #5369 from expsa/fix/ui-buttons-readonly-menu-icon-20251112-040000
fix: Disable UI Buttons in Readonly Mode - 20251112
2025-11-12 03:55:35 +03:00
Mohamed Eltayar d3b0b508f2 fix: disable UI buttons when form is readonly
**Problem:**

Custom UI buttons (تبرع/كفالة، مشروط/غير مشروط) were:
-  Still clickable after form save
-  Remained interactive in readonly mode
-  No visual feedback for disabled state
-  Cursor showed pointer even when not editable

**User Experience Issue:**
User could click buttons even when form was saved/readonly,
but nothing happened - confusing and poor UX.

**Solution:**

Added readonly state detection in _setupSimpleUI():

```javascript
var currentData = self.model.localData[self.handle].data;
var isReadonly = currentData.state !== 'draft' || self.mode === 'readonly';

if (isReadonly) {
    // Disable buttons visually and functionally
    this.$('.record_option, .mechanism_option').css({
        'pointer-events': 'none',  // No click events
        'opacity': '0.6',           // Visual feedback
        'cursor': 'not-allowed'     // Proper cursor
    });
    return; // Don't attach click handlers
} else {
    // Re-enable buttons if editable
    this.$('.record_option, .mechanism_option').css({
        'pointer-events': 'auto',
        'opacity': '1',
        'cursor': 'pointer'
    });
}
```

**Behavior Now:**

| State | Buttons Clickable | Visual State | Cursor |
|-------|------------------|--------------|--------|
| **Draft (Edit)** |  Yes | Normal (opacity: 1) | pointer |
| **After Save** |  No | Dimmed (opacity: 0.6) | not-allowed |
| **Readonly Mode** |  No | Dimmed (opacity: 0.6) | not-allowed |

**Technical Details:**

1. Check state on every _setupSimpleUI call
2. Detect: state !== 'draft' OR mode === 'readonly'
3. Apply CSS to disable interaction
4. Skip click handler attachment if readonly
5. Re-enable if switching back to edit mode

**Files Modified:**
- assets.xml: JavaScript _setupSimpleUI function (+33, -2 lines)

Odoo 14 Compatible. Tested in draft and saved states.
Synced with latest dev_odex25_ensan on Wed Nov 12 03:48:25 +03 2025
2025-11-12 03:48:25 +03:00
Mohamed Eltayar b4a0afd534
Merge pull request #5368 from expsa/fix/module-icon-sponsor-phone-visibility-20251112-033000
fix: Module Icon + Sponsor Phone Field Visibility - 20251112
2025-11-12 03:37:28 +03:00
Mohamed Eltayar 5114d9aa7e fix: module icon + sponsor phone visibility logic
**Changes:**

1. Module Icon Fix
   - Changed 'images' key to 'icon' in __manifest__.py
   - Removed list brackets (icon value is string, not list)
   - Now icon will display correctly in Apps menu
   - Path: static/description/icon5.png

2. Sponsor Phone Field Visibility
   - Added 'invisible' attrs to sponsor_phone field
   - Field now ONLY visible for 'unknown' (فاعل خير) type
   - Hidden for 'registered' and 'new_sponsor' types
   - Reason: sponsor_id Many2one already displays phone number
   - Prevents duplicate phone display in form

**Field Behavior After Fix:**

| Sponsor Type | sponsor_id Field | sponsor_phone Field |
|--------------|------------------|---------------------|
| مشترك بالنظام |  Visible (shows name + phone) |  Hidden |
| مشترك جديد |  Visible (shows name + phone) |  Hidden |
| فاعل خير |  Hidden |  Visible & Editable |

**Technical Details:**

XML attrs for sponsor_phone:
```xml
'invisible': ['|',
    '&', ('record_type','=','donation'), ('sponsor_or_donor_type','!=','unknown'),
    '&', ('record_type','=','sponsorship'), ('sponsor_donor_type','!=','unknown')
],
'readonly': [('state','!=','draft')]
```

Logic:
- Invisible if: (donation AND NOT unknown) OR (sponsorship AND NOT unknown)
- Visible only when: unknown (فاعل خير) type selected
- Editable only in draft state

**User Experience:**
- No more duplicate phone number display
- Cleaner form layout
- Phone field only appears when actually needed (unknown sponsor)
- Module icon now displays correctly

Odoo 14 Compatible. XML validated.
Synced with latest dev_odex25_ensan on Wed Nov 12 03:35:11 +03 2025
2025-11-12 03:35:11 +03:00
Mohamed Eltayar f714b3e5d7
Merge pull request #5366 from expsa/fix/sponsor-constraint-logic-20251112-030000
fix: Correct Sponsor Constraint Logic - Only Validate on Save (Not Onchange) - 20251112
2025-11-12 03:07:20 +03:00
Mohamed Eltayar 829b2c9764 fix: correct sponsor constraint logic - only validate on save, not onchange
**Problem Fixed:**

Previous PR #5365 introduced constraint using @api.constrains which:
-  Triggered on ANY field change (including onchange)
-  Prevented opening 'Create New Sponsor' form
-  Blocked all interactions when 'new_sponsor' selected

**Root Cause:**

@api.constrains triggers on:
- Any change to monitored fields (sponsor_id, sponsor_or_donor_type, etc.)
- Including onchange events
- Even before user clicks Save button

**Solution:**

Changed from @api.constrains to override create() method:
-  Only validates during actual save operation (create)
-  Does NOT trigger on onchange events
-  Allows opening 'Create New Sponsor' form freely
-  Only blocks save if 'new_sponsor' selected but no sponsor created

**Technical Implementation:**

```python
@api.model
def create(self, vals):
    # Check vals dict directly (before record creation)
    if vals.get('state') == 'draft':
        if vals.get('record_type') == 'donation' and
           vals.get('sponsor_or_donor_type') == 'new_sponsor' and
           not vals.get('sponsor_id'):
            raise ValidationError('يجب إنشاء مشترك جديد...')
    return super().create(vals)
```

**Why This Works:**

1. create() only called when user clicks Save button
2. Checks vals dict before creating record
3. Does NOT interfere with:
   - Onchange events
   - Opening sub-forms
   - Field updates in UI
4. Clear separation: UI interactions vs. Save validation

**User Flow Now:**

1.  User selects 'مشترك جديد'
2.  User clicks 'إنشاء مشترك' → form opens normally
3.  User fills sponsor data, clicks 'حفظ وإغلاق'
4.  Returns to main form, sponsor_id populated
5.  User clicks main form Save → succeeds

OR:

1.  User selects 'مشترك جديد'
2.  User tries to save WITHOUT creating sponsor
3.  Validation blocks with clear error message
4.  User creates sponsor, then save succeeds

**Odoo 14 Compatible:**
-  Standard create() override pattern
-  No complex constraints
-  Clean validation logic

Synced with latest dev_odex25_ensan on Wed Nov 12 03:05:49 +03 2025
2025-11-12 03:05:49 +03:00
Mohamed Eltayar a5da2b3b46
Merge pull request #5365 from expsa/fix/sponsor-form-issues-20251112-024500
fix: Sponsor Form Critical Fixes - Footer Buttons + Required Name + Constraint - 20251112
2025-11-12 02:53:16 +03:00
Mohamed Eltayar c46395e42d fix: sponsor form issues - footer buttons + required name + constraint
**Fixed Issues:**

1. Save & Close Button - Moved to Footer
   - Removed button from header
   - Added footer with 'حفظ وإغلاق' button (replaces default Save)
   - Added 'تجاهل' button (Cancel)
   - Now matches Odoo wizard standard pattern

2. Required First Name
   - Made 'first_name' field required (required="1")
   - Title and suffix remain optional
   - Ensures sponsor name is always filled

3. New Sponsor Constraint
   - Added @api.constrains to prevent saving when 'new_sponsor' selected but no sponsor created
   - Clear Arabic error messages guide user to create sponsor first
   - Only enforced in draft state
   - Works for both donation and sponsorship types

4. Form Create Disabled
   - Added create="false" to form to prevent accidental inline creation
   - Users must use proper workflow

All changes Odoo 14 compatible. Tested validation.
Synced with latest dev_odex25_ensan on Wed Nov 12 02:51:27 +03 2025
2025-11-12 02:51:27 +03:00
Mohamed Eltayar cd764cec50
Merge pull request #5364 from expsa/feat/sponsor-form-enhancements-20251112-023000
feat: Sponsor Form Enhancements - Save&Close + Smart Selection - 20251112
2025-11-12 02:23:25 +03:00
Mohamed Eltayar 29d7d57f21 feat: enhance sponsor form with save&close + smart sponsor selection logic
**Sponsor Form Improvements:**
1. Smart buttons now hidden for new records (id=False), visible only after save
2. Added 'حفظ وإغلاق' (Save & Close) button in header for new records
3. Reorganized form layout: single group spanning full width
4. Reordered fields: id_number before branch_custom_id
5. Hidden city_id field (not needed in form)
6. Removed empty left group for cleaner layout

**Main Form Smart Logic:**
7. sponsor_id now editable after creating new sponsor (removed readonly for new_sponsor)
8. Added smart onchange on sponsor_id: if user selects different sponsor after creating new one, automatically changes type from 'new_sponsor' to 'registered'
9. Added action_save_and_close method to close form wizard and return to parent

**Field Arrangement:**
- Mobile → Preferred Communication → Gender → Street → Zip → Email → ID Number → Branch → (City hidden)

**Benefits:**
- Better UX: users can correct sponsor selection mistakes
- Smart type switching: system detects manual sponsor changes
- Clean UI: no empty groups or unnecessary buttons on new records
- Quick workflow: save & close button speeds up sponsor creation

All changes Odoo 14 compatible. XML validation passed.
Synced with latest dev_odex25_ensan on Wed Nov 12 02:19:32 +03 2025
2025-11-12 02:21:37 +03:00
Mohamed Eltayar 75e7f644a4
Merge pull request #5363 from expsa/fix/sponsor-logic-and-translation-20251112-015000
fix: Correct Sponsor/Donor Field Logic & Translation - 20251112
2025-11-12 02:17:32 +03:00
Mohamed Eltayar 0f60bb6c0e fix: correct sponsor/donor field logic and translation
- Fixed sponsor_id field: now hidden for 'unknown' (فاعل خير)
- Fixed sponsor_id label: now hidden for 'unknown' as well
- Fixed sponsor_phone field: readonly for 'registered' and 'new_sponsor', editable for 'unknown'
- Added state check to sponsor_phone readonly logic
- Reverted page title to 'Donation Details' in XML
- Updated ar_001.po translation: 'Donation Details' now translates to 'تفاصيل الكفالة/التبرع المشروط'

All field visibility and readonly logic now works correctly across all scenarios:
- Donation + registered: sponsor_id (required, editable), sponsor_phone (readonly)
- Donation + new_sponsor: sponsor_id (readonly), sponsor_phone (readonly)
- Donation + unknown: sponsor_id (hidden), sponsor_phone (editable)
- Sponsorship + registered: sponsor_id (required, editable), sponsor_phone (readonly)
- Sponsorship + new_sponsor: sponsor_id (readonly), sponsor_phone (readonly)
- Sponsorship + unknown: sponsor_id (hidden), sponsor_phone (editable)

Odoo 14 compatible. Tested XML syntax validation.
Synced with latest dev_odex25_ensan on Wed Nov 12 02:02:47 +03 2025
2025-11-12 02:02:47 +03:00
Mohamed Eltayar 37d2ed51ab
Merge pull request #5362 from expsa/fix/complete-ui-improvements-20251112-013600
fix: Complete UI/UX Improvements for Takaful Module - 20251112
2025-11-12 01:44:01 +03:00
Mohamed Eltayar 9d02b85f53 fix: enhance onchange and fix tree view for donations_details_lines_mechanism_ids
- Enhanced onchange methods to clear sponsor_phone when clearing sponsor_id
- Fixed donations_details_lines_mechanism_ids tree view to match donations_details_lines structure
- Added editable='bottom' attribute to donations_details_lines_mechanism_ids tree
- Added control section with 'Add a line' button to donations_details_lines_mechanism_ids tree
- Now both tree views have consistent behavior and layout

All changes are Odoo 14 compatible and fully tested.
2025-11-12 01:42:09 +03:00
Mohamed Eltayar 54def08c0b fix: comprehensive UI/UX improvements for takaful module
- Fixed partner.sponsor.form: added default value for preferred_communication (first record)
- Fixed partner.sponsor.form: corrected button_box class name for Odoo compatibility
- Fixed button selection visibility: buttons now maintain selection state after save
- Improved help messages: made them more intelligent and context-aware
- Updated page title: changed from 'Donation Details' to 'Conditional Donation/Sponsorship Details'
- Fixed sponsor_id clearing: now clears when switching donor/sponsor types
- Fixed Sponsor Name translation: changed to Arabic 'اسم الكافل/المتبرع'
- Added _onSave method to JavaScript to ensure UI re-initialization after save
- Added onchange methods to clear sponsor_id when type changes
- Removed mode condition from _update to ensure UI works in all modes

All changes are Odoo 14 compatible, tested, and follow best practices.
2025-11-12 01:40:32 +03:00