Initial commit

This commit is contained in:
2025-11-20 23:21:05 +08:00
commit 13bc6db529
378 changed files with 54527 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
<x-mail::message>
# Finance Document Awaiting Chair Final Approval
A finance document has been approved by both cashier and accountant, and is now awaiting your final approval as chair.
**Document Details:**
- **Title:** {{ $document->title }}
- **Amount:** KES {{ number_format($document->amount, 2) }}
- **Type:** {{ ucfirst(str_replace('_', ' ', $document->type)) }}
- **Submitted by:** {{ $document->submittedBy->name }}
@if($document->member)
- **Member:** {{ $document->member->full_name }}
@endif
**Approval History:**
- **Cashier:** {{ $document->cashierApprover->name }} ({{ $document->cashier_approved_at->format('M d, Y H:i') }})
- **Accountant:** {{ $document->accountantApprover->name }} ({{ $document->accountant_approved_at->format('M d, Y H:i') }})
@if($document->description)
**Description:**
{{ $document->description }}
@endif
@if($document->attachment_path)
This document includes an attachment for review.
@endif
<x-mail::button :url="route('finance.show', $document)">
Review Document
</x-mail::button>
Please provide your final approval or rejection for this document.
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,35 @@
<x-mail::message>
# Finance Document Awaiting Accountant Review
A finance document has been approved by the cashier and is now awaiting your review as accountant.
**Document Details:**
- **Title:** {{ $document->title }}
- **Amount:** KES {{ number_format($document->amount, 2) }}
- **Type:** {{ ucfirst(str_replace('_', ' ', $document->type)) }}
- **Submitted by:** {{ $document->submittedBy->name }}
@if($document->member)
- **Member:** {{ $document->member->full_name }}
@endif
**Approval History:**
- **Cashier:** {{ $document->cashierApprover->name }} ({{ $document->cashier_approved_at->format('M d, Y H:i') }})
@if($document->description)
**Description:**
{{ $document->description }}
@endif
@if($document->attachment_path)
This document includes an attachment for review.
@endif
<x-mail::button :url="route('finance.show', $document)">
Review Document
</x-mail::button>
Please review and approve or reject this document at your earliest convenience.
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,32 @@
<x-mail::message>
# Finance Document Fully Approved
Great news! Your finance document has been fully approved by all required approvers.
**Document Details:**
- **Title:** {{ $document->title }}
- **Amount:** KES {{ number_format($document->amount, 2) }}
- **Type:** {{ ucfirst(str_replace('_', ' ', $document->type)) }}
@if($document->member)
- **Member:** {{ $document->member->full_name }}
@endif
**Approval History:**
- **Cashier:** {{ $document->cashierApprover->name }} ({{ $document->cashier_approved_at->format('M d, Y H:i') }})
- **Accountant:** {{ $document->accountantApprover->name }} ({{ $document->accountant_approved_at->format('M d, Y H:i') }})
- **Chair:** {{ $document->chairApprover->name }} ({{ $document->chair_approved_at->format('M d, Y H:i') }})
@if($document->description)
**Description:**
{{ $document->description }}
@endif
<x-mail::button :url="route('finance.show', $document)">
View Document
</x-mail::button>
The document is now fully approved and can proceed to the next stage.
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,31 @@
<x-mail::message>
# Finance Document Rejected
Your finance document has been rejected.
**Document Details:**
- **Title:** {{ $document->title }}
- **Amount:** KES {{ number_format($document->amount, 2) }}
- **Type:** {{ ucfirst(str_replace('_', ' ', $document->type)) }}
@if($document->member)
- **Member:** {{ $document->member->full_name }}
@endif
**Rejection Details:**
- **Rejected by:** {{ $document->rejectedBy->name }}
- **Rejected at:** {{ $document->rejected_at->format('M d, Y H:i') }}
@if($document->rejection_reason)
**Reason:**
{{ $document->rejection_reason }}
@endif
<x-mail::button :url="route('finance.show', $document)">
View Document
</x-mail::button>
Please review the rejection reason and contact the approver if you have any questions.
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,32 @@
<x-mail::message>
# New Finance Document Awaiting Review
A new finance document has been submitted and is awaiting cashier review.
**Document Details:**
- **Title:** {{ $document->title }}
- **Amount:** KES {{ number_format($document->amount, 2) }}
- **Type:** {{ ucfirst(str_replace('_', ' ', $document->type)) }}
- **Submitted by:** {{ $document->submittedBy->name }}
@if($document->member)
- **Member:** {{ $document->member->full_name }}
@endif
@if($document->description)
**Description:**
{{ $document->description }}
@endif
@if($document->attachment_path)
This document includes an attachment for review.
@endif
<x-mail::button :url="route('finance.show', $document)">
Review Document
</x-mail::button>
Please review and approve or reject this document at your earliest convenience.
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,33 @@
<x-mail::message>
# Issue Assigned to You
You have been assigned to work on an issue.
**Issue Details:**
- **Issue Number:** {{ $issue->issue_number }}
- **Title:** {{ $issue->title }}
- **Priority:** {{ ucfirst($issue->priority) }}
- **Type:** {{ ucfirst(str_replace('_', ' ', $issue->issue_type)) }}
- **Status:** {{ ucfirst(str_replace('_', ' ', $issue->status)) }}
@if($issue->due_date)
- **Due Date:** {{ $issue->due_date->format('Y-m-d') }} ({{ $issue->due_date->diffForHumans() }})
@endif
@if($issue->estimated_hours)
- **Estimated Hours:** {{ $issue->estimated_hours }}
@endif
- **Assigned by:** {{ $issue->createdBy->name }}
@if($issue->description)
**Description:**
{{ $issue->description }}
@endif
<x-mail::button :url="route('admin.issues.show', $issue)">
View Issue
</x-mail::button>
Please review this issue and start working on it at your earliest convenience.
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,45 @@
<x-mail::message>
# Issue Closed - Completed
An issue you were watching has been closed and marked as complete.
**Issue Details:**
- **Issue Number:** {{ $issue->issue_number }}
- **Title:** {{ $issue->title }}
- **Type:** {{ ucfirst(str_replace('_', ' ', $issue->issue_type)) }}
- **Priority:** {{ ucfirst($issue->priority) }}
- **Status:** Closed
@if($issue->assignedTo)
- **Completed By:** {{ $issue->assignedTo->name }}
@endif
- **Closed At:** {{ $issue->updated_at->format('Y-m-d H:i') }}
@if($issue->due_date)
**Due Date:** {{ $issue->due_date->format('Y-m-d') }}
@if($issue->due_date->isPast())
*This issue was completed {{ $issue->updated_at->diffInDays($issue->due_date) }} {{ $issue->updated_at->diffInDays($issue->due_date) === 1 ? 'day' : 'days' }} after the due date.*
@else
*This issue was completed on time.*
@endif
@endif
@if($issue->estimated_hours)
**Time Tracking:**
- Estimated: {{ $issue->estimated_hours }} hours
- Actual: {{ $issue->actual_hours }} hours
@if($issue->actual_hours > $issue->estimated_hours)
- Variance: +{{ round($issue->actual_hours - $issue->estimated_hours, 2) }} hours over estimate
@elseif($issue->actual_hours < $issue->estimated_hours)
- Variance: {{ round($issue->estimated_hours - $issue->actual_hours, 2) }} hours under estimate
@endif
@endif
<x-mail::button :url="route('admin.issues.show', $issue)">
View Closed Issue
</x-mail::button>
Thank you for your work on this issue.
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,30 @@
<x-mail::message>
# New Comment on Issue
A new comment has been added to an issue you're watching.
**Issue Details:**
- **Issue Number:** {{ $issue->issue_number }}
- **Title:** {{ $issue->title }}
- **Status:** {{ ucfirst(str_replace('_', ' ', $issue->status)) }}
- **Priority:** {{ ucfirst($issue->priority) }}
**Comment by:** {{ $comment->user->name }}
**Posted at:** {{ $comment->created_at->format('Y-m-d H:i') }}
@if(!$comment->is_internal)
**Comment:**
{{ $comment->comment_text }}
@else
*An internal comment has been added to this issue.*
@endif
<x-mail::button :url="route('admin.issues.show', $issue)">
View Issue & Comment
</x-mail::button>
Stay engaged with the discussion on this issue.
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,35 @@
<x-mail::message>
# Issue Due Soon - Reminder
An issue assigned to you is due soon and requires your attention.
**Issue Details:**
- **Issue Number:** {{ $issue->issue_number }}
- **Title:** {{ $issue->title }}
- **Priority:** {{ ucfirst($issue->priority) }}
- **Status:** {{ ucfirst(str_replace('_', ' ', $issue->status)) }}
- **Due Date:** {{ $issue->due_date->format('Y-m-d') }}
- **Days Remaining:** {{ $daysRemaining }} {{ $daysRemaining === 1 ? 'day' : 'days' }}
**Progress:** {{ $issue->progress_percentage }}%
@if($issue->estimated_hours)
**Time Tracking:**
- Estimated: {{ $issue->estimated_hours }} hours
- Actual: {{ $issue->actual_hours }} hours
@endif
@if($issue->description)
**Description:**
{{ Str::limit($issue->description, 200) }}
@endif
<x-mail::button :url="route('admin.issues.show', $issue)">
View Issue
</x-mail::button>
Please ensure this issue is completed before the due date.
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,35 @@
<x-mail::message>
# Issue Overdue - Urgent Attention Required
An issue assigned to you is now overdue and requires immediate attention.
**Issue Details:**
- **Issue Number:** {{ $issue->issue_number }}
- **Title:** {{ $issue->title }}
- **Priority:** {{ ucfirst($issue->priority) }}
- **Status:** {{ ucfirst(str_replace('_', ' ', $issue->status)) }}
- **Due Date:** {{ $issue->due_date->format('Y-m-d') }}
- **Days Overdue:** {{ $daysOverdue }} {{ $daysOverdue === 1 ? 'day' : 'days' }}
**Progress:** {{ $issue->progress_percentage }}%
@if($issue->estimated_hours)
**Time Tracking:**
- Estimated: {{ $issue->estimated_hours }} hours
- Actual: {{ $issue->actual_hours }} hours
@endif
@if($issue->description)
**Description:**
{{ Str::limit($issue->description, 200) }}
@endif
<x-mail::button :url="route('admin.issues.show', $issue)">
View Issue Immediately
</x-mail::button>
This issue is overdue. Please prioritize completing it or update the due date if needed.
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,29 @@
<x-mail::message>
# Issue Status Changed
The status of an issue you're watching has been updated.
**Issue Details:**
- **Issue Number:** {{ $issue->issue_number }}
- **Title:** {{ $issue->title }}
- **Previous Status:** {{ ucfirst(str_replace('_', ' ', $oldStatus)) }}
- **New Status:** {{ ucfirst(str_replace('_', ' ', $newStatus)) }}
- **Priority:** {{ ucfirst($issue->priority) }}
@if($issue->assignedTo)
- **Assigned To:** {{ $issue->assignedTo->name }}
@endif
@if($issue->due_date)
- **Due Date:** {{ $issue->due_date->format('Y-m-d') }}
@endif
**Current Progress:** {{ $issue->progress_percentage }}%
<x-mail::button :url="route('admin.issues.show', $issue)">
View Issue
</x-mail::button>
Stay updated on the progress of this issue.
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,21 @@
<x-mail::message>
# Membership Activated!
Congratulations, {{ $member->full_name }}!
Your membership has been activated and you now have full access to all member benefits.
**Membership Details:**
- **Type:** {{ $member->membership_type_label }}
- **Start Date:** {{ $member->membership_started_at->format('Y-m-d') }}
- **Expiry Date:** {{ $member->membership_expires_at->format('Y-m-d') }}
You can now access exclusive resources, participate in events, and enjoy all member privileges.
<x-mail::button :url="route('member.dashboard')">
View Your Membership
</x-mail::button>
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,17 @@
@php
/** @var \App\Models\User $user */
@endphp
{{ __('Hello') }} {{ $user->name }},
{{ __('You have been registered as a member on :app.', ['app' => config('app.name')]) }}
{{ __('To activate your online account and set your password, please open the link below:') }}
{{ $resetUrl }}
{{ __('If you did not expect this email, you can ignore it.') }}
{{ __('Thank you,') }}
{{ config('app.name') }}

View File

@@ -0,0 +1,17 @@
@php
/** @var \App\Models\Member $member */
@endphp
{{ __('Hello') }} {{ $member->full_name }},
@if ($member->membership_expires_at)
{{ __('This is a reminder that your membership with :app is scheduled to expire on :date.', ['app' => config('app.name'), 'date' => $member->membership_expires_at->toDateString()]) }}
@else
{{ __('This is a reminder to check your membership status with :app.', ['app' => config('app.name')]) }}
@endif
{{ __('If you have already renewed, you can ignore this email.') }}
{{ __('Thank you,') }}
{{ config('app.name') }}

View File

@@ -0,0 +1,24 @@
<x-mail::message>
# Welcome to {{ config('app.name') }}!
Thank you for registering, {{ $member->full_name }}!
Your account has been created successfully. To complete your membership registration, please submit your payment proof.
**Next Steps:**
1. Log in to your account
2. Navigate to "Submit Payment"
3. Upload your payment receipt (bank transfer, convenience store, etc.)
4. Our team will verify your payment within 3-5 business days
**Annual Membership Fee:** TWD 1,000
<x-mail::button :url="route('member.dashboard')">
Go to Dashboard
</x-mail::button>
If you have any questions, please contact us.
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,14 @@
<x-mail::message>
# Payment Approved by Accountant
Your payment has been approved by our accountant and forwarded to the chair for final approval.
**Payment:** TWD {{ number_format($payment->amount, 0) }} on {{ $payment->paid_at->format('Y-m-d') }}
<x-mail::button :url="route('member.dashboard')">
View Status
</x-mail::button>
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,14 @@
<x-mail::message>
# Payment Approved by Cashier
Your payment has been approved by our cashier and forwarded to the accountant for the next verification step.
**Payment:** TWD {{ number_format($payment->amount, 0) }} on {{ $payment->paid_at->format('Y-m-d') }}
<x-mail::button :url="route('member.dashboard')">
View Status
</x-mail::button>
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,16 @@
<x-mail::message>
# Payment Fully Approved!
Great news! Your payment has been fully approved by our team.
**Payment:** TWD {{ number_format($payment->amount, 0) }} on {{ $payment->paid_at->format('Y-m-d') }}
Your membership will be activated shortly by our membership manager. You will receive another email once your membership is active.
<x-mail::button :url="route('member.dashboard')">
View Dashboard
</x-mail::button>
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,20 @@
<x-mail::message>
# Payment Verification - Action Required
Your payment submission has been reviewed and requires your attention.
**Payment:** TWD {{ number_format($payment->amount, 0) }} on {{ $payment->paid_at->format('Y-m-d') }}
**Reason for Rejection:**
{{ $payment->rejection_reason }}
**Next Steps:**
Please review the reason above and submit a new payment with the correct information. If you have questions, please contact us.
<x-mail::button :url="route('member.payments.create')">
Submit New Payment
</x-mail::button>
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,17 @@
<x-mail::message>
# New Payment for Verification
A new payment has been submitted and requires cashier verification.
**Member:** {{ $payment->member->full_name }}
**Amount:** TWD {{ number_format($payment->amount, 0) }}
**Payment Date:** {{ $payment->paid_at->format('Y-m-d') }}
**Method:** {{ $payment->payment_method_label }}
<x-mail::button :url="route('admin.payment-verifications.show', $payment)">
Review Payment
</x-mail::button>
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>

View File

@@ -0,0 +1,22 @@
<x-mail::message>
# Payment Submitted Successfully
Thank you, {{ $payment->member->full_name }}!
Your payment has been received and is currently under review by our team.
**Payment Details:**
- **Amount:** TWD {{ number_format($payment->amount, 0) }}
- **Payment Date:** {{ $payment->paid_at->format('Y-m-d') }}
- **Payment Method:** {{ $payment->payment_method_label }}
- **Reference:** {{ $payment->reference ?? 'N/A' }}
Your payment will be reviewed by our cashier, accountant, and chair. You will receive email notifications at each stage.
<x-mail::button :url="route('member.dashboard')">
View Payment Status
</x-mail::button>
Thanks,<br>
{{ config('app.name') }}
</x-mail::message>