feat: implement barangay system phases 2-14
Complete adaptation from BukidBountyApp to Philippine barangay governance: - Barangay models: Resident, Household, HouseholdMember, Blotter, BlotterHearing, DocumentRequest, RequestPayment, RequestType, BarangayProject, BarangayBudget - Controllers: ResidentController, HouseholdController, BlotterController, BlotterHearingController, DocumentRequestController, RequestTypeController, ProjectController, BudgetController, QRPHController, AdminConsoleController, UserController, FileController, ChapterController, LoginController - Vue pages: Home, ManageResidents, ResidentProfile, ManageHouseholds, ManageBlotters, BlotterDetail, RequestDocument, ManageDocumentRequests, DocumentRequestDetail, ManageRequestTypes, ManageProjects, BudgetLedger, AdminConsole - Barangay roles: PunongBarangay, Kagawad, Secretary, Treasurer, SK, Tanod, BHW, Staff, Resident - UserPermissions matrix rewritten with barangay-specific permission mappings - VueRouteMap replaced with barangay SPA routes - UserActions enum references corrected across all controllers - Removed all market/cooperative/POS/subscription code and models
This commit is contained in:
@@ -11,9 +11,6 @@ use App\Enums\UserActions;
|
||||
use App\Models\Chapter;
|
||||
use App\Models\ChapterMember;
|
||||
use App\Models\User;
|
||||
use App\Models\Market\UserInfo;
|
||||
use App\Models\Market\CooperativeMember;
|
||||
use App\Models\Market\Organization;
|
||||
use App\Models\SystemSetting;
|
||||
use App\Support\IslandGroupHelper;
|
||||
use App\Support\SystemSettingsHelper;
|
||||
@@ -41,10 +38,10 @@ class ChapterController
|
||||
private function isAdminCaller($acctType): bool
|
||||
{
|
||||
return in_array($acctType, [
|
||||
UserTypes::ULTIMATE,
|
||||
UserTypes::SUPER_OPERATOR,
|
||||
UserTypes::OPERATOR,
|
||||
UserTypes::COORDINATOR,
|
||||
UserTypes::SUPER_ADMIN,
|
||||
UserTypes::PUNONG_BARANGAY,
|
||||
UserTypes::KAGAWAD,
|
||||
UserTypes::SECRETARY,
|
||||
], true);
|
||||
}
|
||||
|
||||
@@ -566,7 +563,7 @@ class ChapterController
|
||||
];
|
||||
|
||||
// COOP_MEMBER: own chapter + officers only, no children/member lists.
|
||||
if ($acctType === UserTypes::COOP_MEMBER) {
|
||||
if ($acctType === UserTypes::RESIDENT) {
|
||||
return response()->json(['own_chapter' => $ownChapter, 'children' => []]);
|
||||
}
|
||||
|
||||
@@ -810,8 +807,8 @@ class ChapterController
|
||||
}
|
||||
|
||||
// 3. Upgrade acct_type if currently a plain coop member.
|
||||
if ($member->acct_type === UserTypes::COOP_MEMBER) {
|
||||
$member->acct_type = UserTypes::COOP_OFFICER;
|
||||
if ($member->acct_type === UserTypes::RESIDENT) {
|
||||
$member->acct_type = UserTypes::KAGAWAD;
|
||||
$member->save();
|
||||
}
|
||||
|
||||
@@ -930,7 +927,7 @@ class ChapterController
|
||||
$validated = $validator->validated();
|
||||
|
||||
$parentUser = User::where('id', $chapter->created_by)->first()
|
||||
?? User::where('acct_type', UserTypes::COORDINATOR->value)->first()
|
||||
?? User::where('acct_type', UserTypes::SECRETARY->value)->first()
|
||||
?? User::orderBy('id')->first();
|
||||
if (!$parentUser) {
|
||||
return response()->json(['success' => false, 'message' => 'No valid parent user found'], 500);
|
||||
@@ -942,7 +939,7 @@ class ChapterController
|
||||
$user->mobile_number = $validated['mobile_number'];
|
||||
$user->password = Hash::make($validated['password']);
|
||||
$user->parentuid = $parentUser->id;
|
||||
$user->acct_type = UserTypes::COOP_MEMBER;
|
||||
$user->acct_type = UserTypes::RESIDENT;
|
||||
$user->active = true;
|
||||
if ($cooperative) {
|
||||
$settings = $user->settings ?? [];
|
||||
|
||||
Reference in New Issue
Block a user