From 74097718727275345e1f473e5e0314a0039e53a3 Mon Sep 17 00:00:00 2001 From: Arturo Corro <arturo@koneko.mx> Date: Fri, 7 Mar 2025 00:45:33 -0600 Subject: [PATCH] sertings --- .gitignore | 3 +- composer.json | 10 +- database/data/rbac-config.json | 201 +------------------------------- database/data/users.csv | 5 +- database/seeders/UserSeeder.php | 10 +- scripts/show-instructions.php | 13 --- setup.sh | 55 +++++++++ 7 files changed, 68 insertions(+), 229 deletions(-) delete mode 100644 scripts/show-instructions.php create mode 100755 setup.sh diff --git a/.gitignore b/.gitignore index d3ccdf3..7c20656 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ /.phpunit.cache /node_modules -/public/vendor /public/build /public/hot /public/storage @@ -12,6 +11,8 @@ .env.production .phpactor.json .phpunit.result.cache +composer.lock +package-lock.json Homestead.json Homestead.yaml npm-debug.log diff --git a/composer.json b/composer.json index bfe66f6..9339bb8 100644 --- a/composer.json +++ b/composer.json @@ -48,16 +48,10 @@ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" ], "post-create-project-cmd": [ - "@php artisan key:generate --ansi", - "@php artisan storage:link", - "@php artisan vendor:publish --tag=sat-catalogs-seeders --ansi", - "@php artisan vendor:publish --tag=vuexy-admin-config --ansi", - "@php artisan vendor:publish --tag=vuexy-admin-images --ansi", - "@php artisan vendor:publish --tag=vuexy-admin-seeders --ansi", - "@php scripts/show-instructions.php" + "[ ! -f .env ] && (bash -c './setup.sh' || echo 'Error en setup.sh') || echo '.env ya existe, saltando configuración'" ], "post-update-cmd": [ - "@php artisan vendor:publish --tag=laravel-assets --ansi --force", + "@php artisan vendor:publish --tag=laravel-assets --ansi", "@php artisan vendor:publish --tag=sat-catalogs-seeders --ansi --force" ], "dev": [ diff --git a/database/data/rbac-config.json b/database/data/rbac-config.json index 249d102..d595652 100644 --- a/database/data/rbac-config.json +++ b/database/data/rbac-config.json @@ -9,8 +9,6 @@ "admin.store-manager.company.view", "admin.store-manager.stores.view", "admin.store-manager.stores.view", - "admin.finance.banxico.allow", - "admin.finance.banking.allow", "admin.sales.ticket-config.allow", "admin.billing.csds-settings.allow", "admin.billing.stamping-package.allow", @@ -20,21 +18,6 @@ "admin.core.roles.view", "admin.core.permissions.view", "admin.core.import-sat-catalogs.allow", - "admin.ai.dashboard.view", - "admin.ai.content.create", - "admin.ai.analytics.view", - "admin.chatbot.config.view", - "admin.chatbot.flows.manage", - "admin.chatbot.history.view", - "admin.iot.devices.view", - "admin.iot.sensors.manage", - "admin.iot.monitoring.view", - "admin.facial-recognition.profiles.manage", - "admin.facial-recognition.live.verify", - "admin.facial-recognition.history.view", - "admin.print.queue.view", - "admin.print.history.view", - "admin.print.settings.manage", "admin.website.general-settings.allow", "admin.website.legal.view", "admin.website.faq.view", @@ -45,18 +28,6 @@ "admin.contacts.contacts.view", "admin.contacts.employees.view", "admin.contacts.employees.create", - "admin.rrhh.jobs.view", - "admin.rrhh.organization.view", - "admin.recruitment.jobs.view", - "admin.recruitment.candidates.view", - "admin.recruitment.interviews.view", - "admin.payroll.contracts.view", - "admin.payroll.process.view", - "admin.payroll.receipts.view", - "admin.payroll.reports.view", - "admin.attendance.records.view", - "admin.attendance.biometric.view", - "admin.attendance.absences.view", "admin.inventory.product-categories.view", "admin.inventory.product-catalogs.view", "admin.inventory.products.view", @@ -74,14 +45,6 @@ "admin.sales.credit-notes.create", "admin.sales.credit-notes.view", "admin.sales.credit-notes.view", - "admin.accounting.dashboard.view", - "admin.accounting.charts.view", - "admin.finance.accounts-payable.view", - "admin.finance.accounts-receivable.view", - "admin.accounting.balance.view", - "admin.accounting.income-statement.view", - "admin.accounting.ledger.view", - "admin.accounting.entries.view", "admin.expenses.dashboard.view", "admin.expenses.expenses.create", "admin.expenses.expenses.view", @@ -111,35 +74,8 @@ "admin.inventory.shipping-carriers.view", "admin.inventory.shipping-rates.view", "admin.inventory.assets.view", - "admin.inventory.asset-maintenance.view", "admin.inventory.asset-lifecycle.view", - "admin.inventory.asset-assignments.view", - "admin.projects.dashboard.view", - "admin.projects.view", - "admin.projects.create", - "admin.projects.tasks.view", - "admin.projects.history.view", - "admin.production.orders.view", - "admin.production.orders.create", - "admin.production.process.view", - "admin.production.history.view", - "admin.quality.inspections.view", - "admin.quality.inspections.create", - "admin.quality.reports.view", - "admin.quality.history.view", - "admin.workflows.view", - "admin.workflows.create", - "admin.workflows.automations.view", - "admin.workflows.history.view", - "admin.contracts.view", - "admin.contracts.sign", - "admin.contracts.automated.view", - "admin.contracts.history.view", - "admin.ticketing.dashboard.view", - "admin.ticketing.tickets.view", - "admin.ticketing.tickets.create", - "admin.ticketing.categories.view", - "admin.ticketing.analytics.view" + "admin.inventory.asset-assignments.view" ] }, "Admin" : { @@ -163,8 +99,6 @@ "admin.contacts.employees.create", "admin.contacts.customers.view", "admin.contacts.customers.create", - "admin.rrhh.jobs.view", - "admin.rrhh.organization.view", "admin.inventory.product-categories.view", "admin.inventory.product-catalogs.view", "admin.inventory.products.view", @@ -179,7 +113,6 @@ "admin.inventory.movements.view", "admin.inventory.transfers.view", "admin.inventory.assets.view", - "admin.inventory.asset-maintenance.view", "admin.inventory.asset-lifecycle.view", "admin.inventory.asset-assignments.view" ] @@ -209,14 +142,6 @@ "style": "info", "permissions" : [] }, - "Recursos humanos" : { - "style": "success", - "permissions" : [] - }, - "Nómina" : { - "style": "success", - "permissions" : [] - }, "Activos fijos" : { "style": "secondary", "permissions" : [] @@ -245,10 +170,6 @@ "style": "danger", "permissions" : [] }, - "Finanzas" : { - "style": "info", - "permissions" : [] - }, "Auditor" : { "style": "dark", "permissions" : [ @@ -259,15 +180,6 @@ "admin.core.users.view", "admin.core.roles.view", "admin.core.permissions.view", - "admin.ai.dashboard.view", - "admin.ai.analytics.view", - "admin.chatbot.config.view", - "admin.chatbot.history.view", - "admin.iot.devices.view", - "admin.iot.monitoring.view", - "admin.facial-recognition.history.view", - "admin.print.queue.view", - "admin.print.history.view", "admin.website.legal.view", "admin.website.faq.view", "admin.blog.categories.view", @@ -275,22 +187,9 @@ "admin.blog.articles.view", "admin.blog.comments.view", "admin.contacts.contacts.view", - "admin.crm.marketing-campaigns.view", "admin.crm.leads.view", "admin.crm.newsletter.view", "admin.contacts.employees.view", - "admin.rrhh.jobs.view", - "admin.rrhh.organization.view", - "admin.recruitment.jobs.view", - "admin.recruitment.candidates.view", - "admin.recruitment.interviews.view", - "admin.payroll.contracts.view", - "admin.payroll.process.view", - "admin.payroll.receipts.view", - "admin.payroll.reports.view", - "admin.attendance.records.view", - "admin.attendance.biometric.view", - "admin.attendance.absences.view", "admin.inventory.product-categories.view", "admin.inventory.product-catalogs.view", "admin.inventory.products.view", @@ -303,14 +202,6 @@ "admin.sales.remissions.view", "admin.sales.credit-notes.view", "admin.sales.credit-notes.view", - "admin.accounting.dashboard.view", - "admin.accounting.charts.view", - "admin.finance.accounts-payable.view", - "admin.finance.accounts-receivable.view", - "admin.accounting.balance.view", - "admin.accounting.income-statement.view", - "admin.accounting.ledger.view", - "admin.accounting.entries.view", "admin.expenses.dashboard.view", "admin.expenses.expenses.view", "admin.expenses.categories.view", @@ -334,29 +225,8 @@ "admin.inventory.shipping-carriers.view", "admin.inventory.shipping-rates.view", "admin.inventory.assets.view", - "admin.inventory.asset-maintenance.view", "admin.inventory.asset-lifecycle.view", - "admin.inventory.asset-assignments.view", - "admin.projects.dashboard.view", - "admin.projects.view", - "admin.projects.tasks.view", - "admin.projects.history.view", - "admin.production.orders.view", - "admin.production.process.view", - "admin.production.history.view", - "admin.quality.inspections.view", - "admin.quality.reports.view", - "admin.quality.history.view", - "admin.workflows.view", - "admin.workflows.automations.view", - "admin.workflows.history.view", - "admin.contracts.view", - "admin.contracts.automated.view", - "admin.contracts.history.view", - "admin.ticketing.dashboard.view", - "admin.ticketing.tickets.view", - "admin.ticketing.categories.view", - "admin.ticketing.analytics.view" + "admin.inventory.asset-assignments.view" ] } }, @@ -367,8 +237,6 @@ "admin.store-manager.company.view", "admin.store-manager.stores.view", "admin.store-manager.stores.view", - "admin.finance.banxico.allow", - "admin.finance.banking.allow", "admin.sales.ticket-config.allow", "admin.billing.csds-settings.allow", "admin.billing.stamping-package.allow", @@ -378,21 +246,6 @@ "admin.core.roles.view", "admin.core.permissions.view", "admin.core.import-sat-catalogs.allow", - "admin.ai.dashboard.view", - "admin.ai.content.create", - "admin.ai.analytics.view", - "admin.chatbot.config.view", - "admin.chatbot.flows.manage", - "admin.chatbot.history.view", - "admin.iot.devices.view", - "admin.iot.sensors.manage", - "admin.iot.monitoring.view", - "admin.facial-recognition.profiles.manage", - "admin.facial-recognition.live.verify", - "admin.facial-recognition.history.view", - "admin.print.queue.view", - "admin.print.history.view", - "admin.print.settings.manage", "admin.website.general-settings.allow", "admin.website.legal.view", "admin.website.faq.view", @@ -402,23 +255,10 @@ "admin.blog.comments.view", "admin.contacts.contacts.view", "admin.contacts.contacts.create", - "admin.crm.marketing-campaigns.view", "admin.crm.leads.view", "admin.crm.newsletter.view", "admin.contacts.employees.view", "admin.contacts.employees.create", - "admin.rrhh.jobs.view", - "admin.rrhh.organization.view", - "admin.recruitment.jobs.view", - "admin.recruitment.candidates.view", - "admin.recruitment.interviews.view", - "admin.payroll.contracts.view", - "admin.payroll.process.view", - "admin.payroll.receipts.view", - "admin.payroll.reports.view", - "admin.attendance.records.view", - "admin.attendance.biometric.view", - "admin.attendance.absences.view", "admin.inventory.product-categories.view", "admin.inventory.product-catalogs.view", "admin.inventory.products.view", @@ -437,14 +277,6 @@ "admin.sales.credit-notes.create", "admin.sales.credit-notes.view", "admin.sales.credit-notes.view", - "admin.accounting.dashboard.view", - "admin.accounting.charts.view", - "admin.finance.accounts-payable.view", - "admin.finance.accounts-receivable.view", - "admin.accounting.balance.view", - "admin.accounting.income-statement.view", - "admin.accounting.ledger.view", - "admin.accounting.entries.view", "admin.expenses.dashboard.view", "admin.expenses.expenses.create", "admin.expenses.expenses.view", @@ -475,35 +307,8 @@ "admin.inventory.shipping-carriers.view", "admin.inventory.shipping-rates.view", "admin.inventory.assets.view", - "admin.inventory.asset-maintenance.view", "admin.inventory.asset-lifecycle.view", - "admin.inventory.asset-assignments.view", - "admin.projects.dashboard.view", - "admin.projects.view", - "admin.projects.create", - "admin.projects.tasks.view", - "admin.projects.history.view", - "admin.production.orders.view", - "admin.production.orders.create", - "admin.production.process.view", - "admin.production.history.view", - "admin.quality.inspections.view", - "admin.quality.inspections.create", - "admin.quality.reports.view", - "admin.quality.history.view", - "admin.workflows.view", - "admin.workflows.create", - "admin.workflows.automations.view", - "admin.workflows.history.view", - "admin.contracts.view", - "admin.contracts.sign", - "admin.contracts.automated.view", - "admin.contracts.history.view", - "admin.ticketing.dashboard.view", - "admin.ticketing.tickets.view", - "admin.ticketing.tickets.create", - "admin.ticketing.categories.view", - "admin.ticketing.analytics.view" + "admin.inventory.asset-assignments.view" ] } diff --git a/database/data/users.csv b/database/data/users.csv index 403ec91..7a3a9a8 100644 --- a/database/data/users.csv +++ b/database/data/users.csv @@ -1,8 +1,6 @@ name,email,role,password Administrador Web,webadmin@concierge.test,Administrador Web,LAdmin123 Productos y servicios,productos@concierge.test,Productos y servicios,LAdmin123 -Recursos humanos,rrhh@concierge.test,Recursos humanos,LAdmin123 -Nómina,nomina@concierge.test,Nómina,LAdmin123 Activos fijos,activos@concierge.test,Activos fijos,LAdmin123 Compras y gastos,compras@concierge.test,Compras y gastos,LAdmin123 CRM,crm@concierge.test,CRM,LAdmin123 @@ -10,5 +8,4 @@ Vendedor,vendedor@concierge.test,Vendedor,LAdmin123 Gerente,gerente@concierge.test,Gerente,LAdmin123 Facturación,facturacion@concierge.test,Facturación,LAdmin123 Facturación avanzado,facturacion_avanzado@concierge.test,Facturación avanzado,LAdmin123 -Finanzas,finanzas@concierge.test,Finanzas,LAdmin123 -Auditor,auditor@concierge.test,Auditor,LAdmin123 +Almacenista,almacenista@concierge.test,Almacenista,LAdmin123 diff --git a/database/seeders/UserSeeder.php b/database/seeders/UserSeeder.php index eec74d7..8565e42 100644 --- a/database/seeders/UserSeeder.php +++ b/database/seeders/UserSeeder.php @@ -31,7 +31,7 @@ class UserSeeder extends Seeder // Super admin $user = User::create([ 'name' => 'Koneko Admin', - 'email' => 'arturo@koneko.mx', + 'email' => 'sadmin@koneko.mx', 'email_verified_at' => now(), 'password' => bcrypt('LAdmin123'), 'status' => User::STATUS_ENABLED, @@ -58,14 +58,14 @@ class UserSeeder extends Seeder 'koneko-03.png' )); - // Almacenista + // Auditor $user = User::create([ - 'name' => 'Almacenista', - 'email' => 'almacenista@koneko.mx', + 'name' => 'Auditor', + 'email' => 'auditor@koneko.mx', 'email_verified_at' => now(), 'password' => bcrypt('LAdmin123'), 'status' => User::STATUS_ENABLED, - ])->assignRole('Almacenista'); + ])->assignRole('Auditor'); $avatarImageService->updateProfilePhoto($user, new UploadedFile( 'public/vendor/vuexy-admin/img/logo/koneko-03.png', diff --git a/scripts/show-instructions.php b/scripts/show-instructions.php deleted file mode 100644 index cae19a4..0000000 --- a/scripts/show-instructions.php +++ /dev/null @@ -1,13 +0,0 @@ -<?php - -// Colores ANSI -$blue = "\033[44m"; -$red = "\033[41m"; -$yellow = "\033[93m"; -$reset = "\033[0m"; - -echo PHP_EOL; -echo "La instalación inicial está completa." . PHP_EOL . PHP_EOL; -echo "{$red}⚠️ IMPORTANTE:{$reset} Debes configurar la base de datos en .env antes de continuar." . PHP_EOL . PHP_EOL; -echo "Para inicializar la base de datos, ejecuta:" . PHP_EOL; -echo " {$yellow}php -d memory_limit=1G artisan migrate:fresh --seed{$reset}" . PHP_EOL . PHP_EOL; diff --git a/setup.sh b/setup.sh new file mode 100755 index 0000000..c49420a --- /dev/null +++ b/setup.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +# Definir colores ANSI +YELLOW='\033[1;33m' # Amarillo brillante +BLUE='\033[44m' # Fondo azul con texto blanco +WHITE='\033[1;37m' # Texto blanco brillante +GREEN='\033[1;32m' # Verde brillante +RED='\033[1;31m' # Rojo brillante +RESET='\033[0m' # Reset de color + +# Generar APP_KEY solo si no está definida +echo -e "🔑 Verificando clave de aplicación..." +if ! grep -q "^APP_KEY=" .env || grep -q "^APP_KEY=$" .env; then + echo -e " ➡️ Generando nueva APP_KEY..." + php artisan key:generate --ansi +else + echo -e " ✅ APP_KEY ya está definida, no se regenerará.\n" +fi + +# Crear enlace simbólico para almacenamiento +echo -e "🔗 Creando enlace de almacenamiento..." +php artisan storage:link + +# Publicar configuraciones y seeders +echo -e "🛠️ Publicando configuraciones..." +php artisan vendor:publish --tag=vuexy-admin-config --ansi +php artisan vendor:publish --tag=vuexy-admin-images --ansi +php artisan vendor:publish --tag=vuexy-admin-seeders --ansi +php artisan vendor:publish --tag=sat-catalogs-seeders --ansi +echo -e "✅ Configuraciones publicadas con éxito.\n" + +# Verificar si la base de datos está configurada en .env +DB_READY=false +if grep -q "^DB_HOST=" .env && grep -q "^DB_DATABASE=" .env && grep -q "^DB_USERNAME=" .env && grep -q "^DB_PASSWORD=" .env; then + echo -e "\n🔍 Verificando conexión a la base de datos..." + + # Intentar obtener el estado de las migraciones + if php artisan migrate:status --no-interaction > /dev/null 2>&1; then + echo -e " ${GREEN}✅ Conexión a la base de datos exitosa.${RESET}\n" + DB_READY=true + else + echo -e " ${RED}❌ No se pudo conectar a la base de datos.${RESET}\n" + fi +else + echo -e " ${RED}⚠️ La configuración de la base de datos en .env está incompleta.${RESET}\n" +fi + +# Mensaje final con colores +if [ "$DB_READY" = false ]; then + echo -e "${YELLOW}⚠️ IMPORTANTE:${RESET} Debes configurar la base de datos en .env antes de continuar." + echo -e " Para inicializar la base de datos, ejecuta:\n" + echo -e " ${WHITE} php -d memory_limit=1G artisan migrate:fresh --seed ${RESET}\n" +else + echo -e "${GREEN}🎉 La base de datos ya está configurada correctamente.${RESET}\n" +fi