From aeb884bc8182861d1d8f63d52dd9f3e1a999f055 Mon Sep 17 00:00:00 2001 From: Ramakant Date: Mon, 19 Dec 2022 22:09:34 +0530 Subject: [PATCH] WIP --- .github/workflows/update-changelog.yml | 9 +- database/factories/AccountFactory.php | 57 ++ database/factories/AosPdfTemplateFactory.php | 50 + .../factories/AosProductCategoryFactory.php | 34 + database/factories/AosSampleFactory.php.stub | 36 + database/factories/AowWorkflowFactory.php | 32 + database/factories/BugFactory.php | 55 ++ database/factories/CallFactory.php | 58 ++ database/factories/CurrencyFactory.php | 40 + database/factories/EmailCacheFactory.php | 32 + database/factories/EmailFactory.php | 32 + database/factories/EmailTemplateFactory.php | 32 + database/factories/FavoriteFactory.php | 32 + database/factories/FolderFactory.php | 32 + database/factories/FpEventLocationFactory.php | 32 + database/factories/ImportMapFactory.php | 32 + database/factories/InboundEmailFactory.php | 32 + .../factories/JjwgAddressCacheFactory.php | 32 + database/factories/JjwgAreaFactory.php | 32 + database/factories/JjwgMapFactory.php | 32 + database/factories/JjwgMarkerFactory.php | 32 + database/factories/MeetingFactory.php | 36 + database/factories/OutboundEmailFactory.php | 35 + database/factories/ProjectFactory.php | 36 + database/factories/ProjectTaskFactory.php | 37 + database/factories/ProspectListFactory.php | 32 + database/factories/ReleaseFactory.php | 35 + database/factories/SavedSearchFactory.php | 32 + database/factories/SchedulerFactory.php | 35 + database/factories/SecuritygroupFactory.php | 32 + database/factories/SpotFactory.php | 32 + database/factories/SurveyFactory.php | 40 + .../factories/TemplatesectionlineFactory.php | 32 + database/factories/UserFactory.php | 89 ++ database/factories/UserPreferenceFactory.php | 32 + database/factories/UsersSignatureFactory.php | 32 + ..._000000_alter_users_crm_columns_table.php} | 62 +- ..._12_000001_create_accounts_cstm_table.php} | 3 +- ...12_12_000001_create_acl_actions_table.php} | 0 ...2_12_12_000001_create_acl_roles_table.php} | 0 ...2_12_000001_create_address_book_table.php} | 4 +- ...reate_am_projecttemplates_audit_table.php} | 4 +- ...m_projecttemplates_contacts_1_c_table.php} | 3 +- ...am_projecttemplates_project_1_c_table.php} | 3 +- ...0001_create_am_projecttemplates_table.php} | 3 +- ...e_am_projecttemplates_users_1_c_table.php} | 3 +- ...templates_am_projecttemplates_c_table.php} | 0 ...1_create_am_tasktemplates_audit_table.php} | 4 +- ..._000001_create_am_tasktemplates_table.php} | 3 +- ...00001_create_aobh_businesshours_table.php} | 3 +- ...2_000001_create_aod_index_audit_table.php} | 4 +- ...2_12_12_000001_create_aod_index_table.php} | 0 ...001_create_aod_indexevent_audit_table.php} | 4 +- ..._knowledge_base_categories_audit_table.php | 42 + ...e_aok_knowledge_base_categories_table.php} | 4 +- ..._create_aok_knowledgebase_audit_table.php} | 4 +- ...000001_create_aok_knowledgebase_table.php} | 5 +- ...01_create_aop_case_events_audit_table.php} | 4 +- ...1_create_aop_case_updates_audit_table.php} | 4 +- ...000001_create_aor_reports_audit_table.php} | 4 +- ...12_12_000001_create_aor_reports_table.php} | 0 ...0001_create_aos_contracts_audit_table.php} | 4 +- ...00001_create_aos_invoices_audit_table.php} | 4 +- ...eate_aos_line_item_groups_audit_table.php} | 1 + ..._create_aos_pdf_templates_audit_table.php} | 4 +- ...000001_create_aos_pdf_templates_table.php} | 3 +- ...te_aos_product_categories_audit_table.php} | 1 + ...1_create_aos_product_categories_table.php} | 3 +- ...00001_create_aos_products_audit_table.php} | 1 + ...reate_aos_products_quotes_audit_table.php} | 4 +- ...reate_aos_quotes_aos_invoices_c_table.php} | 0 ..._000001_create_aos_quotes_audit_table.php} | 4 +- ...reate_aos_quotes_os_contracts_c_table.php} | 3 +- ...001_create_aos_quotes_project_c_table.php} | 3 +- ...00001_create_aow_workflow_audit_table.php} | 4 +- ...2_12_000001_create_aow_workflow_table.php} | 0 ..._12_12_000001_create_bugs_audit_table.php} | 4 +- ...> 2022_12_12_000001_create_bugs_table.php} | 6 +- ...1_create_calls_reschedule_audit_table.php} | 4 +- ... 2022_12_12_000001_create_calls_table.php} | 7 +- ...12_12_000001_create_cases_audit_table.php} | 1 + ..._12_12_000001_create_cases_cstm_table.php} | 0 ...2022_12_12_000001_create_config_table.php} | 0 ...12_000001_create_contacts_audit_table.php} | 4 +- ..._12_000001_create_contacts_cstm_table.php} | 3 +- ...01_create_cron_remove_documents_table.php} | 5 +- ..._12_12_000001_create_currencies_table.php} | 8 +- ...2_12_12_000001_create_documents_table.php} | 0 ...> 2022_12_12_000001_create_eapm_table.php} | 3 +- ...0001_create_email_addr_bean_rel_table.php} | 3 +- ...01_create_email_addresses_audit_table.php} | 1 + ...2_000001_create_email_addresses_table.php} | 3 +- ...12_12_000001_create_email_cache_table.php} | 4 +- ...2_000001_create_email_templates_table.php} | 6 - ...01_create_emails_email_addr_rel_table.php} | 3 +- ...2022_12_12_000001_create_emails_table.php} | 3 +- ...12_12_000001_create_emails_text_table.php} | 3 +- ...2_12_12_000001_create_favorites_table.php} | 0 ..._000001_create_fields_meta_data_table.php} | 3 +- ...12_12_000001_create_folders_rel_table.php} | 3 +- ...01_create_folders_subscriptions_table.php} | 3 +- ...022_12_12_000001_create_folders_table.php} | 6 +- ...create_fp_event_locations_audit_table.php} | 4 +- ...p_event_locations_fp_events_1_c_table.php} | 3 +- ...00001_create_fp_event_locations_table.php} | 3 +- ...2_000001_create_fp_events_audit_table.php} | 4 +- ...001_create_fp_events_contacts_c_table.php} | 0 ...p_events_fp_event_delegates_1_c_table.php} | 0 ...p_events_fp_event_locations_1_c_table.php} | 3 +- ...0001_create_fp_events_leads_1_c_table.php} | 3 +- ..._create_fp_events_prospects_1_c_table.php} | 3 +- ...12_12_000001_create_import_maps_table.php} | 0 ..._create_inbound_email_autoreply_table.php} | 3 +- ...1_create_inbound_email_cache_ts_table.php} | 3 +- ..._12_000001_create_inbound_email_table.php} | 3 +- ...create_jjwg_address_cache_audit_table.php} | 4 +- ...00001_create_jjwg_address_cache_table.php} | 3 +- ..._000001_create_jjwg_areas_audit_table.php} | 1 + ..._12_12_000001_create_jjwg_areas_table.php} | 3 +- ...2_000001_create_jjwg_maps_audit_table.php} | 4 +- ...1_create_jjwg_maps_jjwg_areas_c_table.php} | 3 +- ...create_jjwg_maps_jjwg_markers_c_table.php} | 3 +- ...2_12_12_000001_create_jjwg_maps_table.php} | 3 +- ...00001_create_jjwg_markers_audit_table.php} | 1 + ...2_12_000001_create_jjwg_markers_table.php} | 3 +- ...12_12_000001_create_leads_audit_table.php} | 1 + ..._12_12_000001_create_leads_cstm_table.php} | 3 +- ..._12_000001_create_meetings_cstm_table.php} | 0 ...22_12_12_000001_create_meetings_table.php} | 3 +- ..._12_000001_create_oauth2clients_table.php} | 0 ...12_000001_create_oauth_consumer_table.php} | 3 +- ...12_12_000001_create_oauth_nonce_table.php} | 0 ...2_12_000001_create_oauth_tokens_table.php} | 5 +- ...0001_create_opportunities_audit_table.php} | 4 +- ...00001_create_opportunities_cstm_table.php} | 3 +- ...001_create_outbound_email_audit_table.php} | 1 + ...12_000001_create_outbound_email_table.php} | 3 +- ...001_create_project_contacts_1_c_table.php} | 0 ...2_12_000001_create_project_cstm_table.php} | 3 +- ...022_12_12_000001_create_project_table.php} | 0 ...00001_create_project_task_audit_table.php} | 4 +- ...2_12_000001_create_project_task_table.php} | 2 +- ...000001_create_project_users_1_c_table.php} | 0 ...12_000001_create_prospect_lists_table.php} | 0 ...12_000001_create_prospects_cstm_table.php} | 3 +- ..._12_000001_create_relationships_table.php} | 3 +- ...22_12_12_000001_create_releases_table.php} | 5 +- ...2_12_12_000001_create_reminders_table.php} | 2 +- ... 2022_12_12_000001_create_roles_table.php} | 8 +- ...12_12_000001_create_roles_users_table.php} | 3 +- ...2_12_000001_create_saved_search_table.php} | 0 ..._12_12_000001_create_schedulers_table.php} | 5 +- ...001_create_securitygroups_audit_table.php} | 1 + ...12_000001_create_securitygroups_table.php} | 3 +- ... 2022_12_12_000001_create_spots_table.php} | 0 ...ate_surveyquestionoptions_audit_table.php} | 4 +- ...options_surveyquestionresponses_table.php} | 3 +- ...e_surveyquestionresponses_audit_table.php} | 4 +- ...01_create_surveyquestions_audit_table.php} | 1 + ...01_create_surveyresponses_audit_table.php} | 1 + ...022_12_12_000001_create_surveys_table.php} | 3 +- ...0001_create_templatesectionline_table.php} | 0 ...2_000001_create_upgrade_history_table.php} | 3 +- ..._000001_create_user_preferences_table.php} | 3 +- ...0001_create_users_password_link_table.php} | 0 ..._000001_create_users_signatures_table.php} | 5 +- ... 2022_12_12_000001_create_vcals_table.php} | 5 +- ...000002_create_acl_roles_actions_table.php} | 3 +- ...2_000002_create_acl_roles_users_table.php} | 0 ...2022_12_12_000002_create_alerts_table.php} | 3 +- ...te_aok_knowledgebase_categories_table.php} | 7 +- ...2_000002_create_aop_case_events_table.php} | 3 +- ..._12_12_000002_create_aor_charts_table.php} | 0 ...12_000002_create_aor_conditions_table.php} | 3 +- ..._12_12_000002_create_aor_fields_table.php} | 0 ...02_create_aor_scheduled_reports_table.php} | 0 ...002_create_aos_line_item_groups_table.php} | 0 ...12_12_000002_create_aow_actions_table.php} | 3 +- ...12_000002_create_aow_conditions_table.php} | 3 +- ..._12_000002_create_aow_processed_table.php} | 3 +- ..._000002_create_calls_reschedule_table.php} | 0 ...12_12_000002_create_calls_users_table.php} | 0 ...2_12_12_000002_create_campaigns_table.php} | 5 +- ...00002_create_document_revisions_table.php} | 4 +- ...2_12_12_000002_create_fp_events_table.php} | 0 ...2_12_12_000002_create_job_queue_table.php} | 9 +- ...12_000002_create_meetings_users_table.php} | 0 ...2_12_000002_create_oauth2tokens_table.php} | 3 +- ..._12_000002_create_projects_bugs_table.php} | 3 +- ...00002_create_reminders_invitees_table.php} | 0 ..._12_000002_create_roles_modules_table.php} | 3 +- ...create_securitygroups_acl_roles_table.php} | 3 +- ...2_create_securitygroups_default_table.php} | 0 ...002_create_securitygroups_users_table.php} | 0 ...2_000002_create_surveyquestions_table.php} | 3 +- ..._12_000002_create_surveys_audit_table.php} | 1 + ...22_12_12_000003_create_accounts_table.php} | 4 +- ...reate_aow_processed_aow_actions_table.php} | 3 +- ...12_000003_create_campaign_trkrs_table.php} | 5 +- ...2_000003_create_campaigns_audit_table.php} | 1 + ...22_12_12_000003_create_contacts_table.php} | 9 +- ...2_000003_create_email_marketing_table.php} | 5 +- ..._000003_create_linked_documents_table.php} | 0 ..._12_000003_create_opportunities_table.php} | 3 +- ..._create_prospect_list_campaigns_table.php} | 3 +- ...03_create_surveyquestionoptions_table.php} | 3 +- ...12_000004_create_accounts_audit_table.php} | 1 + ..._12_000004_create_accounts_bugs_table.php} | 3 +- ...000004_create_accounts_contacts_table.php} | 3 +- ...4_create_accounts_opportunities_table.php} | 0 ..._000004_create_aop_case_updates_table.php} | 3 +- ..._12_000004_create_aos_contracts_table.php} | 0 ...2_12_000004_create_aos_invoices_table.php} | 3 +- ...2_12_000004_create_aos_products_table.php} | 3 +- ..._12_12_000004_create_aos_quotes_table.php} | 3 +- ...12_000004_create_calls_contacts_table.php} | 0 ... 2022_12_12_000004_create_cases_table.php} | 5 +- ..._12_000004_create_contacts_bugs_table.php} | 0 ...12_000004_create_contacts_users_table.php} | 3 +- ...00004_create_documents_accounts_table.php} | 0 ...12_000004_create_documents_bugs_table.php} | 3 +- ...00004_create_documents_contacts_table.php} | 0 ..._create_documents_opportunities_table.php} | 3 +- ..._email_marketing_prospect_lists_table.php} | 0 ... 2022_12_12_000004_create_leads_table.php} | 5 +- ...000004_create_meetings_contacts_table.php} | 0 ... 2022_12_12_000004_create_notes_table.php} | 5 +- ...4_create_opportunities_contacts_table.php} | 3 +- ...000004_create_projects_accounts_table.php} | 0 ...000004_create_projects_contacts_table.php} | 3 +- ...4_create_projects_opportunities_table.php} | 0 ...2_000004_create_surveyresponses_table.php} | 3 +- ... 2022_12_12_000004_create_tasks_table.php} | 0 ...12_000005_create_accounts_cases_table.php} | 3 +- ..._create_aos_contracts_documents_table.php} | 3 +- ...0005_create_aos_products_quotes_table.php} | 0 ...12_12_000005_create_calls_leads_table.php} | 3 +- ..._12_12_000005_create_cases_bugs_table.php} | 3 +- ...12_000005_create_contacts_cases_table.php} | 3 +- ...2_000005_create_documents_cases_table.php} | 3 +- ...12_000005_create_meetings_leads_table.php} | 0 ...12_000005_create_projects_cases_table.php} | 0 ...000005_create_projects_products_table.php} | 3 +- ...2_12_12_000005_create_prospects_table.php} | 2 +- ..._create_surveyquestionresponses_table.php} | 3 +- ...12_000006_create_aod_indexevent_table.php} | 0 ...2_12_000006_create_campaign_log_table.php} | 9 +- ..._12_000006_create_custom_fields_table.php} | 0 ...22_12_12_000006_create_emailman_table.php} | 4 +- ...2_12_000006_create_emails_beans_table.php} | 3 +- ...create_prospect_lists_prospects_table.php} | 3 +- ...6_create_securitygroups_records_table.php} | 5 +- ...2_12_12_000006_create_sugarfeed_table.php} | 5 +- ...022_12_12_000006_create_tracker_table.php} | 5 +- ...000006_create_users_last_import_table.php} | 5 +- ...12_12_000007_create_users_feeds_table.php} | 3 +- ..._knowledge_base_categories_audit_table.php | 41 - .../seeders/Account/AccountsTableSeeder.php | 26 + .../seeders/Account/DataRowsTableSeeder.php | 661 +++++++++++++ .../seeders/Account/DataTypesTableSeeder.php | 44 + .../Account/DummyAccountsTableSeeder.php | 22 + .../seeders/Account/MenuItemsTableSeeder.php | 37 + .../Account/PermissionsTableSeeder.php | 17 + .../seeders/Account/SettingsTableSeeder.php | 51 + .../Account/TranslationsTableSeeder.php | 115 +++ .../seeders/Account/VoyagerDatabaseSeeder.php | 31 + .../Account/VoyagerDummyDatabaseSeeder.php | 20 + .../AosPdfTemplatesTableSeeder.php | 26 + .../AosPdfTemplate/DataRowsTableSeeder.php | 438 +++++++++ .../AosPdfTemplate/DataTypesTableSeeder.php | 44 + .../DummyAosPdfTemplatesTableSeeder.php | 22 + .../AosPdfTemplate/MenuItemsTableSeeder.php | 37 + .../AosPdfTemplate/PermissionsTableSeeder.php | 17 + .../AosPdfTemplate/SettingsTableSeeder.php | 51 + .../TranslationsTableSeeder.php | 115 +++ .../AosPdfTemplate/VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + .../AosProductCategoriesTableSeeder.php | 26 + .../DataRowsTableSeeder.php | 299 ++++++ .../DataTypesTableSeeder.php | 44 + .../DummyAosProductCategoriesTableSeeder.php | 22 + .../MenuItemsTableSeeder.php | 37 + .../PermissionsTableSeeder.php | 18 + .../SettingsTableSeeder.php | 51 + .../TranslationsTableSeeder.php | 115 +++ .../VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + .../AosSample/AosSamplesTableSeeder.php.stub | 26 + .../AosSample/DataRowsTableSeeder.php.stub | 246 +++++ .../AosSample/DataTypesTableSeeder.php.stub | 44 + .../DummyAosSamplesTableSeeder.php.stub | 22 + .../AosSample/MenuItemsTableSeeder.php.stub | 37 + .../AosSample/PermissionsTableSeeder.php.stub | 18 + .../AosSample/SettingsTableSeeder.php.stub | 52 + .../TranslationsTableSeeder.php.stub | 115 +++ .../AosSample/VoyagerDatabaseSeeder.php.stub | 31 + .../VoyagerDummyDatabaseSeeder.php.stub | 20 + .../AowWorkflow/AowWorkflowsTableSeeder.php | 26 + .../AowWorkflow/DataRowsTableSeeder.php | 246 +++++ .../AowWorkflow/DataTypesTableSeeder.php | 44 + .../DummyAowWorkflowsTableSeeder.php | 22 + .../AowWorkflow/MenuItemsTableSeeder.php | 37 + .../AowWorkflow/PermissionsTableSeeder.php | 18 + .../AowWorkflow/SettingsTableSeeder.php | 51 + .../AowWorkflow/TranslationsTableSeeder.php | 115 +++ .../AowWorkflow/VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + database/seeders/Bug/BugsTableSeeder.php | 26 + database/seeders/Bug/DataRowsTableSeeder.php | 414 ++++++++ database/seeders/Bug/DataTypesTableSeeder.php | 44 + database/seeders/Bug/DummyBugsTableSeeder.php | 22 + database/seeders/Bug/MenuItemsTableSeeder.php | 37 + .../seeders/Bug/PermissionsTableSeeder.php | 18 + database/seeders/Bug/SettingsTableSeeder.php | 51 + .../seeders/Bug/TranslationsTableSeeder.php | 115 +++ .../seeders/Bug/VoyagerDatabaseSeeder.php | 31 + .../Bug/VoyagerDummyDatabaseSeeder.php | 20 + database/seeders/Call/CallsTableSeeder.php | 26 + database/seeders/Call/DataRowsTableSeeder.php | 513 ++++++++++ .../seeders/Call/DataTypesTableSeeder.php | 44 + .../seeders/Call/DummyCallsTableSeeder.php | 22 + .../seeders/Call/MenuItemsTableSeeder.php | 39 + .../seeders/Call/PermissionsTableSeeder.php | 17 + database/seeders/Call/SettingsTableSeeder.php | 52 + .../seeders/Call/TranslationsTableSeeder.php | 115 +++ .../seeders/Call/VoyagerDatabaseSeeder.php | 31 + .../Call/VoyagerDummyDatabaseSeeder.php | 20 + .../Currency/CurrenciesTableSeeder.php | 26 + .../seeders/Currency/DataRowsTableSeeder.php | 256 +++++ .../seeders/Currency/DataTypesTableSeeder.php | 44 + .../Currency/DummyCurrenciesTableSeeder.php | 22 + .../seeders/Currency/MenuItemsTableSeeder.php | 39 + .../Currency/PermissionsTableSeeder.php | 18 + .../seeders/Currency/SettingsTableSeeder.php | 51 + .../Currency/TranslationsTableSeeder.php | 115 +++ .../Currency/VoyagerDatabaseSeeder.php | 31 + .../Currency/VoyagerDummyDatabaseSeeder.php | 20 + .../seeders/Email/DataRowsTableSeeder.php | 230 +++++ .../seeders/Email/DataTypesTableSeeder.php | 44 + .../seeders/Email/DummyEmailsTableSeeder.php | 22 + database/seeders/Email/EmailsTableSeeder.php | 26 + .../seeders/Email/MenuItemsTableSeeder.php | 37 + .../seeders/Email/PermissionsTableSeeder.php | 18 + .../seeders/Email/SettingsTableSeeder.php | 52 + .../seeders/Email/TranslationsTableSeeder.php | 115 +++ .../seeders/Email/VoyagerDatabaseSeeder.php | 31 + .../Email/VoyagerDummyDatabaseSeeder.php | 20 + .../EmailCache/DataRowsTableSeeder.php | 231 +++++ .../EmailCache/DataTypesTableSeeder.php | 43 + .../DummyEmailCachesTableSeeder.php | 22 + .../EmailCache/EmailCachesTableSeeder.php | 26 + .../EmailCache/MenuItemsTableSeeder.php | 37 + .../EmailCache/PermissionsTableSeeder.php | 18 + .../EmailCache/SettingsTableSeeder.php | 52 + .../EmailCache/TranslationsTableSeeder.php | 115 +++ .../EmailCache/VoyagerDatabaseSeeder.php | 31 + .../EmailCache/VoyagerDummyDatabaseSeeder.php | 20 + .../EmailTemplate/DataRowsTableSeeder.php | 246 +++++ .../EmailTemplate/DataTypesTableSeeder.php | 44 + .../DummyEmailTemplatesTableSeeder.php | 22 + .../EmailTemplatesTableSeeder.php | 26 + .../EmailTemplate/MenuItemsTableSeeder.php | 37 + .../EmailTemplate/PermissionsTableSeeder.php | 17 + .../EmailTemplate/SettingsTableSeeder.php | 52 + .../EmailTemplate/TranslationsTableSeeder.php | 115 +++ .../EmailTemplate/VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + .../seeders/Favorite/DataRowsTableSeeder.php | 245 +++++ .../seeders/Favorite/DataTypesTableSeeder.php | 44 + .../Favorite/DummyFavoritesTableSeeder.php | 22 + .../seeders/Favorite/FavoritesTableSeeder.php | 26 + .../seeders/Favorite/MenuItemsTableSeeder.php | 37 + .../Favorite/PermissionsTableSeeder.php | 18 + .../seeders/Favorite/SettingsTableSeeder.php | 52 + .../Favorite/TranslationsTableSeeder.php | 111 +++ .../Favorite/VoyagerDatabaseSeeder.php | 31 + .../Favorite/VoyagerDummyDatabaseSeeder.php | 20 + .../seeders/Folder/DataRowsTableSeeder.php | 231 +++++ .../seeders/Folder/DataTypesTableSeeder.php | 44 + .../Folder/DummyFoldersTableSeeder.php | 22 + .../seeders/Folder/FoldersTableSeeder.php | 26 + .../seeders/Folder/MenuItemsTableSeeder.php | 37 + .../seeders/Folder/PermissionsTableSeeder.php | 17 + .../seeders/Folder/SettingsTableSeeder.php | 52 + .../Folder/TranslationsTableSeeder.php | 115 +++ .../seeders/Folder/VoyagerDatabaseSeeder.php | 31 + .../Folder/VoyagerDummyDatabaseSeeder.php | 20 + .../FpEventLocation/DataRowsTableSeeder.php | 246 +++++ .../FpEventLocation/DataTypesTableSeeder.php | 44 + .../DummyFpEventLocationsTableSeeder.php | 22 + .../FpEventLocationsTableSeeder.php | 26 + .../FpEventLocation/MenuItemsTableSeeder.php | 37 + .../PermissionsTableSeeder.php | 17 + .../FpEventLocation/SettingsTableSeeder.php | 52 + .../TranslationsTableSeeder.php | 115 +++ .../FpEventLocation/VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + .../seeders/ImportMap/DataRowsTableSeeder.php | 230 +++++ .../ImportMap/DataTypesTableSeeder.php | 43 + .../ImportMap/DummyImportMapsTableSeeder.php | 22 + .../ImportMap/ImportMapsTableSeeder.php | 26 + .../ImportMap/MenuItemsTableSeeder.php | 37 + .../ImportMap/PermissionsTableSeeder.php | 17 + .../seeders/ImportMap/SettingsTableSeeder.php | 52 + .../ImportMap/TranslationsTableSeeder.php | 115 +++ .../ImportMap/VoyagerDatabaseSeeder.php | 31 + .../ImportMap/VoyagerDummyDatabaseSeeder.php | 20 + .../InboundEmail/DataRowsTableSeeder.php | 231 +++++ .../InboundEmail/DataTypesTableSeeder.php | 43 + .../DummyInboundEmailsTableSeeder.php | 22 + .../InboundEmail/InboundEmailsTableSeeder.php | 26 + .../InboundEmail/MenuItemsTableSeeder.php | 37 + .../InboundEmail/PermissionsTableSeeder.php | 17 + .../InboundEmail/SettingsTableSeeder.php | 51 + .../InboundEmail/TranslationsTableSeeder.php | 115 +++ .../InboundEmail/VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + .../JjwgAddressCache/DataRowsTableSeeder.php | 246 +++++ .../JjwgAddressCache/DataTypesTableSeeder.php | 44 + .../DummyJjwgAddressCachesTableSeeder.php | 22 + .../JjwgAddressCachesTableSeeder.php | 26 + .../JjwgAddressCache/MenuItemsTableSeeder.php | 37 + .../PermissionsTableSeeder.php | 18 + .../JjwgAddressCache/SettingsTableSeeder.php | 51 + .../TranslationsTableSeeder.php | 111 +++ .../VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + .../seeders/JjwgArea/DataRowsTableSeeder.php | 246 +++++ .../seeders/JjwgArea/DataTypesTableSeeder.php | 44 + .../JjwgArea/DummyJjwgAreasTableSeeder.php | 22 + .../seeders/JjwgArea/JjwgAreasTableSeeder.php | 26 + .../seeders/JjwgArea/MenuItemsTableSeeder.php | 37 + .../JjwgArea/PermissionsTableSeeder.php | 17 + .../seeders/JjwgArea/SettingsTableSeeder.php | 52 + .../JjwgArea/TranslationsTableSeeder.php | 115 +++ .../JjwgArea/VoyagerDatabaseSeeder.php | 31 + .../JjwgArea/VoyagerDummyDatabaseSeeder.php | 20 + .../seeders/JjwgMap/DataRowsTableSeeder.php | 246 +++++ .../seeders/JjwgMap/DataTypesTableSeeder.php | 44 + .../JjwgMap/DummyJjwgMapsTableSeeder.php | 22 + .../seeders/JjwgMap/JjwgMapsTableSeeder.php | 26 + .../seeders/JjwgMap/MenuItemsTableSeeder.php | 37 + .../JjwgMap/PermissionsTableSeeder.php | 18 + .../seeders/JjwgMap/SettingsTableSeeder.php | 52 + .../JjwgMap/TranslationsTableSeeder.php | 115 +++ .../seeders/JjwgMap/VoyagerDatabaseSeeder.php | 31 + .../JjwgMap/VoyagerDummyDatabaseSeeder.php | 20 + .../JjwgMarker/DataRowsTableSeeder.php | 246 +++++ .../JjwgMarker/DataTypesTableSeeder.php | 44 + .../DummyJjwgMarkersTableSeeder.php | 22 + .../JjwgMarker/JjwgMarkersTableSeeder.php | 26 + .../JjwgMarker/MenuItemsTableSeeder.php | 37 + .../JjwgMarker/PermissionsTableSeeder.php | 17 + .../JjwgMarker/SettingsTableSeeder.php | 51 + .../JjwgMarker/TranslationsTableSeeder.php | 115 +++ .../JjwgMarker/VoyagerDatabaseSeeder.php | 31 + .../JjwgMarker/VoyagerDummyDatabaseSeeder.php | 20 + .../seeders/Meeting/DataRowsTableSeeder.php | 245 +++++ .../seeders/Meeting/DataTypesTableSeeder.php | 44 + .../Meeting/DummyMeetingsTableSeeder.php | 22 + .../seeders/Meeting/MeetingsTableSeeder.php | 26 + .../seeders/Meeting/MenuItemsTableSeeder.php | 37 + .../Meeting/PermissionsTableSeeder.php | 18 + .../seeders/Meeting/SettingsTableSeeder.php | 52 + .../Meeting/TranslationsTableSeeder.php | 115 +++ .../seeders/Meeting/VoyagerDatabaseSeeder.php | 31 + .../Meeting/VoyagerDummyDatabaseSeeder.php | 20 + database/seeders/MenuItemsTableSeeder.php | 44 +- .../OutboundEmail/DataRowsTableSeeder.php | 231 +++++ .../OutboundEmail/DataTypesTableSeeder.php | 43 + .../DummyOutboundEmailsTableSeeder.php | 27 + .../OutboundEmail/MenuItemsTableSeeder.php | 37 + .../OutboundEmailsTableSeeder.php | 31 + .../OutboundEmail/PermissionsTableSeeder.php | 18 + .../OutboundEmail/SettingsTableSeeder.php | 52 + .../OutboundEmail/TranslationsTableSeeder.php | 115 +++ .../OutboundEmail/VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + .../seeders/Project/DataRowsTableSeeder.php | 246 +++++ .../seeders/Project/DataTypesTableSeeder.php | 43 + .../Project/DummyProjectsTableSeeder.php | 22 + .../seeders/Project/MenuItemsTableSeeder.php | 37 + .../Project/PermissionsTableSeeder.php | 18 + .../seeders/Project/ProjectsTableSeeder.php | 26 + .../seeders/Project/SettingsTableSeeder.php | 51 + .../Project/TranslationsTableSeeder.php | 115 +++ .../seeders/Project/VoyagerDatabaseSeeder.php | 31 + .../Project/VoyagerDummyDatabaseSeeder.php | 20 + .../ProjectTask/DataRowsTableSeeder.php | 246 +++++ .../ProjectTask/DataTypesTableSeeder.php | 44 + .../DummyProjectTasksTableSeeder.php | 27 + .../ProjectTask/MenuItemsTableSeeder.php | 37 + .../ProjectTask/PermissionsTableSeeder.php | 17 + .../ProjectTask/ProjectTasksTableSeeder.php | 31 + .../ProjectTask/SettingsTableSeeder.php | 52 + .../ProjectTask/TranslationsTableSeeder.php | 115 +++ .../ProjectTask/VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + .../ProspectList/DataRowsTableSeeder.php | 246 +++++ .../ProspectList/DataTypesTableSeeder.php | 43 + .../DummyProspectListsTableSeeder.php | 22 + .../ProspectList/MenuItemsTableSeeder.php | 37 + .../ProspectList/PermissionsTableSeeder.php | 17 + .../ProspectList/ProspectListsTableSeeder.php | 26 + .../ProspectList/SettingsTableSeeder.php | 52 + .../ProspectList/TranslationsTableSeeder.php | 115 +++ .../ProspectList/VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + .../seeders/Release/DataRowsTableSeeder.php | 191 ++++ .../seeders/Release/DataTypesTableSeeder.php | 43 + .../Release/DummyReleasesTableSeeder.php | 22 + .../seeders/Release/MenuItemsTableSeeder.php | 37 + .../Release/PermissionsTableSeeder.php | 17 + .../seeders/Release/ReleasesTableSeeder.php | 26 + .../seeders/Release/SettingsTableSeeder.php | 52 + .../Release/TranslationsTableSeeder.php | 111 +++ .../seeders/Release/VoyagerDatabaseSeeder.php | 31 + .../Release/VoyagerDummyDatabaseSeeder.php | 20 + .../SavedSearch/DataRowsTableSeeder.php | 165 ++++ .../SavedSearch/DataTypesTableSeeder.php | 43 + .../DummySavedSearchsTableSeeder.php | 22 + .../SavedSearch/MenuItemsTableSeeder.php | 37 + .../SavedSearch/PermissionsTableSeeder.php | 17 + .../SavedSearch/SavedSearchsTableSeeder.php | 26 + .../SavedSearch/SettingsTableSeeder.php | 51 + .../SavedSearch/TranslationsTableSeeder.php | 111 +++ .../SavedSearch/VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + .../seeders/Scheduler/DataRowsTableSeeder.php | 231 +++++ .../Scheduler/DataTypesTableSeeder.php | 44 + .../Scheduler/DummySchedulersTableSeeder.php | 22 + .../Scheduler/MenuItemsTableSeeder.php | 37 + .../Scheduler/PermissionsTableSeeder.php | 17 + .../Scheduler/SchedulersTableSeeder.php | 26 + .../seeders/Scheduler/SettingsTableSeeder.php | 51 + .../Scheduler/TranslationsTableSeeder.php | 111 +++ .../Scheduler/VoyagerDatabaseSeeder.php | 31 + .../Scheduler/VoyagerDummyDatabaseSeeder.php | 20 + .../Securitygroup/DataRowsTableSeeder.php | 245 +++++ .../Securitygroup/DataTypesTableSeeder.php | 44 + .../DummySecuritygroupsTableSeeder.php | 22 + .../Securitygroup/MenuItemsTableSeeder.php | 37 + .../Securitygroup/PermissionsTableSeeder.php | 17 + .../SecuritygroupsTableSeeder.php | 26 + .../Securitygroup/SettingsTableSeeder.php | 52 + .../Securitygroup/TranslationsTableSeeder.php | 115 +++ .../Securitygroup/VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + database/seeders/Spot/DataRowsTableSeeder.php | 245 +++++ .../seeders/Spot/DataTypesTableSeeder.php | 43 + .../seeders/Spot/DummySpotsTableSeeder.php | 22 + .../seeders/Spot/MenuItemsTableSeeder.php | 37 + .../seeders/Spot/PermissionsTableSeeder.php | 17 + database/seeders/Spot/SettingsTableSeeder.php | 51 + database/seeders/Spot/SpotsTableSeeder.php | 26 + .../seeders/Spot/TranslationsTableSeeder.php | 111 +++ .../seeders/Spot/VoyagerDatabaseSeeder.php | 31 + .../Spot/VoyagerDummyDatabaseSeeder.php | 20 + .../seeders/Survey/DataRowsTableSeeder.php | 325 +++++++ .../seeders/Survey/DataTypesTableSeeder.php | 43 + .../Survey/DummySurveysTableSeeder.php | 22 + .../seeders/Survey/MenuItemsTableSeeder.php | 37 + .../seeders/Survey/PermissionsTableSeeder.php | 17 + .../seeders/Survey/SettingsTableSeeder.php | 51 + .../seeders/Survey/SurveysTableSeeder.php | 26 + .../Survey/TranslationsTableSeeder.php | 111 +++ .../seeders/Survey/VoyagerDatabaseSeeder.php | 31 + .../Survey/VoyagerDummyDatabaseSeeder.php | 20 + .../DataRowsTableSeeder.php | 205 ++++ .../DataTypesTableSeeder.php | 43 + .../DummyTemplatesectionlinesTableSeeder.php | 22 + .../MenuItemsTableSeeder.php | 37 + .../PermissionsTableSeeder.php | 17 + .../SettingsTableSeeder.php | 51 + .../TemplatesectionlinesTableSeeder.php | 26 + .../TranslationsTableSeeder.php | 115 +++ .../VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + database/seeders/User/DataRowsTableSeeder.php | 893 ++++++++++++++++++ .../seeders/User/DataTypesTableSeeder.php | 44 + .../seeders/User/DummyUsersTableSeeder.php | 35 + .../seeders/User/MenuItemsTableSeeder.php | 37 + .../seeders/User/PermissionsTableSeeder.php | 18 + database/seeders/User/SettingsTableSeeder.php | 52 + .../seeders/User/TranslationsTableSeeder.php | 115 +++ database/seeders/User/UsersTableSeeder.php | 54 ++ .../seeders/User/VoyagerDatabaseSeeder.php | 31 + .../User/VoyagerDummyDatabaseSeeder.php | 20 + .../UserPreference/DataRowsTableSeeder.php | 151 +++ .../UserPreference/DataTypesTableSeeder.php | 43 + .../DummyUserPreferencesTableSeeder.php | 22 + .../UserPreference/MenuItemsTableSeeder.php | 37 + .../UserPreference/PermissionsTableSeeder.php | 17 + .../UserPreference/SettingsTableSeeder.php | 52 + .../TranslationsTableSeeder.php | 111 +++ .../UserPreferencesTableSeeder.php | 26 + .../UserPreference/VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + .../UsersSignature/DataRowsTableSeeder.php | 110 +++ .../UsersSignature/DataTypesTableSeeder.php | 44 + .../DummyUsersSignaturesTableSeeder.php | 22 + .../UsersSignature/MenuItemsTableSeeder.php | 37 + .../UsersSignature/PermissionsTableSeeder.php | 18 + .../UsersSignature/SettingsTableSeeder.php | 52 + .../TranslationsTableSeeder.php | 115 +++ .../UsersSignaturesTableSeeder.php | 26 + .../UsersSignature/VoyagerDatabaseSeeder.php | 31 + .../VoyagerDummyDatabaseSeeder.php | 20 + database/seeders/VoyagerDatabaseSeeder.php | 38 +- .../seeders/VoyagerDummyDatabaseSeeder.php | 38 +- phpcs.xml | 59 +- resources/lang/en/seeders.php | 453 ++++++++- src/Models/Account.php | 116 +++ src/Models/AccountsAudit.php | 60 ++ src/Models/AccountsBug.php | 47 + src/Models/AccountsCase.php | 44 + src/Models/AccountsContact.php | 44 + src/Models/AccountsCstm.php | 51 + src/Models/AccountsOpportunity.php | 44 + src/Models/AclAction.php | 61 ++ src/Models/AclRole.php | 50 + src/Models/AclRolesAction.php | 53 ++ src/Models/AclRolesUser.php | 47 + src/Models/AddressBook.php | 44 + src/Models/Alert.php | 66 ++ src/Models/AmProjecttemplate.php | 65 ++ src/Models/AmProjecttemplatesAudit.php | 60 ++ src/Models/AmProjecttemplatesContacts1C.php | 47 + src/Models/AmProjecttemplatesProject1C.php | 47 + src/Models/AmProjecttemplatesUsers1C.php | 47 + src/Models/AmTasktemplate.php | 87 ++ .../AmTasktemplatesAmProjecttemplatesC.php | 47 + src/Models/AmTasktemplatesAudit.php | 60 ++ src/Models/AobhBusinesshour.php | 66 ++ src/Models/AodIndex.php | 60 ++ src/Models/AodIndexAudit.php | 60 ++ src/Models/AodIndexevent.php | 67 ++ src/Models/AodIndexeventAudit.php | 57 ++ .../AokKnowledgeBaseCategoriesAudit.php | 60 ++ src/Models/AokKnowledgebase.php | 62 ++ src/Models/AokKnowledgebaseAudit.php | 60 ++ src/Models/AokKnowledgebaseBaseCategory.php | 55 ++ src/Models/AokKnowledgebaseCategory.php | 44 + src/Models/AopCaseEvent.php | 57 ++ src/Models/AopCaseEventsAudit.php | 60 ++ src/Models/AopCaseUpdate.php | 62 ++ src/Models/AopCaseUpdatesAudit.php | 60 ++ src/Models/AorChart.php | 67 ++ src/Models/AorCondition.php | 76 ++ src/Models/AorField.php | 92 ++ src/Models/AorReport.php | 60 ++ src/Models/AorReportsAudit.php | 57 ++ src/Models/AorScheduledReport.php | 65 ++ src/Models/AosContract.php | 139 +++ src/Models/AosContractsAudit.php | 60 ++ src/Models/AosContractsDocument.php | 46 + src/Models/AosInvoice.php | 153 +++ src/Models/AosInvoicesAudit.php | 60 ++ src/Models/AosLineItemGroup.php | 103 ++ src/Models/AosLineItemGroupsAudit.php | 60 ++ src/Models/AosPdfTemplate.php | 101 ++ src/Models/AosPdfTemplatesAudit.php | 57 ++ src/Models/AosProduct.php | 88 ++ src/Models/AosProductCategoriesAudit.php | 60 ++ src/Models/AosProductCategory.php | 75 ++ src/Models/AosProductsAudit.php | 60 ++ src/Models/AosProductsQuote.php | 124 +++ src/Models/AosProductsQuotesAudit.php | 57 ++ src/Models/AosQuote.php | 156 +++ src/Models/AosQuotesAosInvoicesC.php | 44 + src/Models/AosQuotesAudit.php | 60 ++ src/Models/AosQuotesOsContractsC.php | 47 + src/Models/AosQuotesProjectC.php | 47 + src/Models/AowAction.php | 66 ++ src/Models/AowCondition.php | 72 ++ src/Models/AowProcessed.php | 61 ++ src/Models/AowProcessedAowAction.php | 51 + src/Models/AowWorkflow.php | 84 ++ src/Models/AowWorkflowAudit.php | 60 ++ src/Models/Bug.php | 91 ++ src/Models/BugsAudit.php | 60 ++ src/Models/Call.php | 118 +++ src/Models/CallsContact.php | 51 + src/Models/CallsLead.php | 51 + src/Models/CallsReschedule.php | 59 ++ src/Models/CallsRescheduleAudit.php | 60 ++ src/Models/CallsUser.php | 51 + src/Models/Campaign.php | 101 ++ src/Models/CampaignLog.php | 75 ++ src/Models/CampaignTrkr.php | 64 ++ src/Models/CampaignsAudit.php | 60 ++ src/Models/CasesAudit.php | 60 ++ src/Models/CasesBug.php | 47 + src/Models/CasesCstm.php | 53 ++ src/Models/Config.php | 44 + src/Models/Contact.php | 128 +++ src/Models/ContactsAudit.php | 60 ++ src/Models/ContactsBug.php | 49 + src/Models/ContactsCase.php | 49 + src/Models/ContactsCstm.php | 53 ++ src/Models/ContactsUser.php | 47 + src/Models/CrmCase.php | 78 ++ src/Models/CronRemoveDocument.php | 46 + src/Models/Currency.php | 74 ++ src/Models/CustomField.php | 67 ++ src/Models/Document.php | 87 ++ src/Models/DocumentRevision.php | 66 ++ src/Models/DocumentsAccount.php | 47 + src/Models/DocumentsBug.php | 47 + src/Models/DocumentsCase.php | 47 + src/Models/DocumentsContact.php | 47 + src/Models/DocumentsOpportunity.php | 47 + src/Models/Eapm.php | 84 ++ src/Models/Email.php | 98 ++ src/Models/EmailAddrBeanRel.php | 59 ++ src/Models/EmailAddress.php | 71 ++ src/Models/EmailAddressesAudit.php | 60 ++ src/Models/EmailCache.php | 104 ++ src/Models/EmailMarketing.php | 74 ++ src/Models/EmailMarketingProspectList.php | 47 + src/Models/EmailTemplate.php | 83 ++ src/Models/Emailman.php | 76 ++ src/Models/EmailsBean.php | 51 + src/Models/EmailsEmailAddrRel.php | 46 + src/Models/EmailsText.php | 57 ++ src/Models/Favorite.php | 71 ++ src/Models/FieldsMetaDatum.php | 88 ++ src/Models/Folder.php | 80 ++ src/Models/FoldersRel.php | 46 + src/Models/FoldersSubscription.php | 43 + src/Models/FpEvent.php | 83 ++ src/Models/FpEventLocation.php | 79 ++ src/Models/FpEventLocationsAudit.php | 60 ++ src/Models/FpEventLocationsFpEvents1C.php | 47 + src/Models/FpEventsAudit.php | 57 ++ src/Models/FpEventsContactsC.php | 57 ++ src/Models/FpEventsFpEventDelegates1C.php | 47 + src/Models/FpEventsFpEventLocations1C.php | 47 + src/Models/FpEventsLeads1C.php | 57 ++ src/Models/FpEventsProspects1C.php | 57 ++ src/Models/ImportMap.php | 81 ++ src/Models/InboundEmail.php | 101 ++ src/Models/InboundEmailAutoreply.php | 48 + src/Models/InboundEmailCacheT.php | 43 + src/Models/JjwgAddressCache.php | 76 ++ src/Models/JjwgAddressCacheAudit.php | 60 ++ src/Models/JjwgArea.php | 75 ++ src/Models/JjwgAreasAudit.php | 60 ++ src/Models/JjwgMap.php | 78 ++ src/Models/JjwgMapsAudit.php | 60 ++ src/Models/JjwgMapsJjwgAreasC.php | 47 + src/Models/JjwgMapsJjwgMarkersC.php | 47 + src/Models/JjwgMarker.php | 84 ++ src/Models/JjwgMarkersAudit.php | 60 ++ src/Models/JobQueue.php | 82 ++ src/Models/Lead.php | 152 +++ src/Models/LeadsAudit.php | 57 ++ src/Models/LeadsCstm.php | 53 ++ src/Models/LinkedDocument.php | 51 + src/Models/Meeting.php | 144 +++ src/Models/MeetingsContact.php | 51 + src/Models/MeetingsCstm.php | 53 ++ src/Models/MeetingsLead.php | 48 + src/Models/MeetingsUser.php | 51 + src/Models/Note.php | 71 ++ src/Models/Oauth2client.php | 79 ++ src/Models/Oauth2token.php | 84 ++ src/Models/OauthConsumer.php | 60 ++ src/Models/OauthNonce.php | 46 + src/Models/OauthToken.php | 60 ++ src/Models/OpportunitiesAudit.php | 60 ++ src/Models/OpportunitiesContact.php | 49 + src/Models/OpportunitiesCstm.php | 51 + src/Models/Opportunity.php | 82 ++ src/Models/OutboundEmail.php | 93 ++ src/Models/OutboundEmailAudit.php | 60 ++ src/Models/Project.php | 80 ++ src/Models/ProjectContacts1C.php | 47 + src/Models/ProjectCstm.php | 51 + src/Models/ProjectTask.php | 133 +++ src/Models/ProjectTaskAudit.php | 57 ++ src/Models/ProjectUsers1C.php | 47 + src/Models/ProjectsAccount.php | 44 + src/Models/ProjectsBug.php | 47 + src/Models/ProjectsCase.php | 44 + src/Models/ProjectsContact.php | 47 + src/Models/ProjectsOpportunity.php | 44 + src/Models/ProjectsProduct.php | 47 + src/Models/Prospect.php | 121 +++ src/Models/ProspectList.php | 71 ++ src/Models/ProspectListCampaign.php | 44 + src/Models/ProspectListsProspect.php | 49 + src/Models/ProspectsCstm.php | 51 + src/Models/Relationship.php | 72 ++ src/Models/Release.php | 68 ++ src/Models/Reminder.php | 81 ++ src/Models/RemindersInvitee.php | 58 ++ src/Models/Role.php | 55 ++ src/Models/RolesModule.php | 50 + src/Models/RolesUser.php | 47 + src/Models/SavedSearch.php | 65 ++ src/Models/Scheduler.php | 90 ++ src/Models/Securitygroup.php | 73 ++ src/Models/SecuritygroupsAclRole.php | 47 + src/Models/SecuritygroupsAudit.php | 57 ++ src/Models/SecuritygroupsDefault.php | 47 + src/Models/SecuritygroupsRecord.php | 54 ++ src/Models/SecuritygroupsUser.php | 56 ++ src/Models/Spot.php | 68 ++ src/Models/Sugarfeed.php | 63 ++ src/Models/Survey.php | 74 ++ src/Models/Surveyquestion.php | 68 ++ src/Models/Surveyquestionoption.php | 60 ++ src/Models/SurveyquestionoptionsAudit.php | 60 ++ ...yquestionoptionsSurveyquestionresponse.php | 47 + src/Models/Surveyquestionresponse.php | 67 ++ src/Models/SurveyquestionresponsesAudit.php | 60 ++ src/Models/SurveyquestionsAudit.php | 60 ++ src/Models/Surveyresponse.php | 72 ++ src/Models/SurveyresponsesAudit.php | 60 ++ src/Models/SurveysAudit.php | 57 ++ src/Models/Task.php | 80 ++ src/Models/Templatesectionline.php | 72 ++ src/Models/Tracker.php | 64 ++ src/Models/Traits/CreatedModifiedBy.php | 31 + src/Models/Traits/Uuids.php | 42 + src/Models/UpgradeHistory.php | 66 ++ src/Models/User.php | 183 ++++ src/Models/UserPreference.php | 60 ++ src/Models/UsersFeed.php | 52 + src/Models/UsersLastImport.php | 48 + src/Models/UsersPasswordLink.php | 48 + src/Models/UsersSignature.php | 65 ++ src/Models/Vcal.php | 52 + src/VoyagerCrmServiceProvider.php | 442 +++++++++ 835 files changed, 39755 insertions(+), 456 deletions(-) create mode 100644 database/factories/AccountFactory.php create mode 100644 database/factories/AosPdfTemplateFactory.php create mode 100644 database/factories/AosProductCategoryFactory.php create mode 100644 database/factories/AosSampleFactory.php.stub create mode 100644 database/factories/AowWorkflowFactory.php create mode 100644 database/factories/BugFactory.php create mode 100644 database/factories/CallFactory.php create mode 100644 database/factories/CurrencyFactory.php create mode 100644 database/factories/EmailCacheFactory.php create mode 100644 database/factories/EmailFactory.php create mode 100644 database/factories/EmailTemplateFactory.php create mode 100644 database/factories/FavoriteFactory.php create mode 100644 database/factories/FolderFactory.php create mode 100644 database/factories/FpEventLocationFactory.php create mode 100644 database/factories/ImportMapFactory.php create mode 100644 database/factories/InboundEmailFactory.php create mode 100644 database/factories/JjwgAddressCacheFactory.php create mode 100644 database/factories/JjwgAreaFactory.php create mode 100644 database/factories/JjwgMapFactory.php create mode 100644 database/factories/JjwgMarkerFactory.php create mode 100644 database/factories/MeetingFactory.php create mode 100644 database/factories/OutboundEmailFactory.php create mode 100644 database/factories/ProjectFactory.php create mode 100644 database/factories/ProjectTaskFactory.php create mode 100644 database/factories/ProspectListFactory.php create mode 100644 database/factories/ReleaseFactory.php create mode 100644 database/factories/SavedSearchFactory.php create mode 100644 database/factories/SchedulerFactory.php create mode 100644 database/factories/SecuritygroupFactory.php create mode 100644 database/factories/SpotFactory.php create mode 100644 database/factories/SurveyFactory.php create mode 100644 database/factories/TemplatesectionlineFactory.php create mode 100644 database/factories/UserFactory.php create mode 100644 database/factories/UserPreferenceFactory.php create mode 100644 database/factories/UsersSignatureFactory.php rename database/migrations/{2022_12_12_033218_create_users_table.php => 2022_12_12_000000_alter_users_crm_columns_table.php} (54%) rename database/migrations/{2022_12_12_033218_create_accounts_cstm_table.php => 2022_12_12_000001_create_accounts_cstm_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_acl_actions_table.php => 2022_12_12_000001_create_acl_actions_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_acl_roles_table.php => 2022_12_12_000001_create_acl_roles_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_address_book_table.php => 2022_12_12_000001_create_address_book_table.php} (90%) rename database/migrations/{2022_12_12_033218_create_am_projecttemplates_audit_table.php => 2022_12_12_000001_create_am_projecttemplates_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_am_projecttemplates_contacts_1_c_table.php => 2022_12_12_000001_create_am_projecttemplates_contacts_1_c_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_am_projecttemplates_project_1_c_table.php => 2022_12_12_000001_create_am_projecttemplates_project_1_c_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_am_projecttemplates_table.php => 2022_12_12_000001_create_am_projecttemplates_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_am_projecttemplates_users_1_c_table.php => 2022_12_12_000001_create_am_projecttemplates_users_1_c_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_am_tasktemplates_am_projecttemplates_c_table.php => 2022_12_12_000001_create_am_tasktemplates_am_projecttemplates_c_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_am_tasktemplates_audit_table.php => 2022_12_12_000001_create_am_tasktemplates_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_am_tasktemplates_table.php => 2022_12_12_000001_create_am_tasktemplates_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_aobh_businesshours_table.php => 2022_12_12_000001_create_aobh_businesshours_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_aod_index_audit_table.php => 2022_12_12_000001_create_aod_index_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_aod_index_table.php => 2022_12_12_000001_create_aod_index_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_aod_indexevent_audit_table.php => 2022_12_12_000001_create_aod_indexevent_audit_table.php} (92%) create mode 100644 database/migrations/2022_12_12_000001_create_aok_knowledge_base_categories_audit_table.php rename database/migrations/{2022_12_12_033218_create_aok_knowledge_base_categories_table.php => 2022_12_12_000001_create_aok_knowledge_base_categories_table.php} (83%) rename database/migrations/{2022_12_12_033218_create_aok_knowledgebase_audit_table.php => 2022_12_12_000001_create_aok_knowledgebase_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_aok_knowledgebase_table.php => 2022_12_12_000001_create_aok_knowledgebase_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_aop_case_events_audit_table.php => 2022_12_12_000001_create_aop_case_events_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_aop_case_updates_audit_table.php => 2022_12_12_000001_create_aop_case_updates_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_aor_reports_audit_table.php => 2022_12_12_000001_create_aor_reports_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_aor_reports_table.php => 2022_12_12_000001_create_aor_reports_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_aos_contracts_audit_table.php => 2022_12_12_000001_create_aos_contracts_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_aos_invoices_audit_table.php => 2022_12_12_000001_create_aos_invoices_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_aos_line_item_groups_audit_table.php => 2022_12_12_000001_create_aos_line_item_groups_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_aos_pdf_templates_audit_table.php => 2022_12_12_000001_create_aos_pdf_templates_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_aos_pdf_templates_table.php => 2022_12_12_000001_create_aos_pdf_templates_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_aos_product_categories_audit_table.php => 2022_12_12_000001_create_aos_product_categories_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_aos_product_categories_table.php => 2022_12_12_000001_create_aos_product_categories_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_aos_products_audit_table.php => 2022_12_12_000001_create_aos_products_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_aos_products_quotes_audit_table.php => 2022_12_12_000001_create_aos_products_quotes_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_aos_quotes_aos_invoices_c_table.php => 2022_12_12_000001_create_aos_quotes_aos_invoices_c_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_aos_quotes_audit_table.php => 2022_12_12_000001_create_aos_quotes_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_aos_quotes_os_contracts_c_table.php => 2022_12_12_000001_create_aos_quotes_os_contracts_c_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_aos_quotes_project_c_table.php => 2022_12_12_000001_create_aos_quotes_project_c_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_aow_workflow_audit_table.php => 2022_12_12_000001_create_aow_workflow_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_aow_workflow_table.php => 2022_12_12_000001_create_aow_workflow_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_bugs_audit_table.php => 2022_12_12_000001_create_bugs_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_bugs_table.php => 2022_12_12_000001_create_bugs_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_calls_reschedule_audit_table.php => 2022_12_12_000001_create_calls_reschedule_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_calls_table.php => 2022_12_12_000001_create_calls_table.php} (88%) rename database/migrations/{2022_12_12_033218_create_cases_audit_table.php => 2022_12_12_000001_create_cases_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_cases_cstm_table.php => 2022_12_12_000001_create_cases_cstm_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_config_table.php => 2022_12_12_000001_create_config_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_contacts_audit_table.php => 2022_12_12_000001_create_contacts_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_contacts_cstm_table.php => 2022_12_12_000001_create_contacts_cstm_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_cron_remove_documents_table.php => 2022_12_12_000001_create_cron_remove_documents_table.php} (89%) rename database/migrations/{2022_12_12_033218_create_currencies_table.php => 2022_12_12_000001_create_currencies_table.php} (86%) rename database/migrations/{2022_12_12_033218_create_documents_table.php => 2022_12_12_000001_create_documents_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_eapm_table.php => 2022_12_12_000001_create_eapm_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_email_addr_bean_rel_table.php => 2022_12_12_000001_create_email_addr_bean_rel_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_email_addresses_audit_table.php => 2022_12_12_000001_create_email_addresses_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_email_addresses_table.php => 2022_12_12_000001_create_email_addresses_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_email_cache_table.php => 2022_12_12_000001_create_email_cache_table.php} (94%) rename database/migrations/{2022_12_12_033218_create_email_templates_table.php => 2022_12_12_000001_create_email_templates_table.php} (80%) rename database/migrations/{2022_12_12_033218_create_emails_email_addr_rel_table.php => 2022_12_12_000001_create_emails_email_addr_rel_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_emails_table.php => 2022_12_12_000001_create_emails_table.php} (98%) rename database/migrations/{2022_12_12_033218_create_emails_text_table.php => 2022_12_12_000001_create_emails_text_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_favorites_table.php => 2022_12_12_000001_create_favorites_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_fields_meta_data_table.php => 2022_12_12_000001_create_fields_meta_data_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_folders_rel_table.php => 2022_12_12_000001_create_folders_rel_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_folders_subscriptions_table.php => 2022_12_12_000001_create_folders_subscriptions_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_folders_table.php => 2022_12_12_000001_create_folders_table.php} (86%) rename database/migrations/{2022_12_12_033218_create_fp_event_locations_audit_table.php => 2022_12_12_000001_create_fp_event_locations_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_fp_event_locations_fp_events_1_c_table.php => 2022_12_12_000001_create_fp_event_locations_fp_events_1_c_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_fp_event_locations_table.php => 2022_12_12_000001_create_fp_event_locations_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_fp_events_audit_table.php => 2022_12_12_000001_create_fp_events_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_fp_events_contacts_c_table.php => 2022_12_12_000001_create_fp_events_contacts_c_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_fp_events_fp_event_delegates_1_c_table.php => 2022_12_12_000001_create_fp_events_fp_event_delegates_1_c_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_fp_events_fp_event_locations_1_c_table.php => 2022_12_12_000001_create_fp_events_fp_event_locations_1_c_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_fp_events_leads_1_c_table.php => 2022_12_12_000001_create_fp_events_leads_1_c_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_fp_events_prospects_1_c_table.php => 2022_12_12_000001_create_fp_events_prospects_1_c_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_import_maps_table.php => 2022_12_12_000001_create_import_maps_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_inbound_email_autoreply_table.php => 2022_12_12_000001_create_inbound_email_autoreply_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_inbound_email_cache_ts_table.php => 2022_12_12_000001_create_inbound_email_cache_ts_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_inbound_email_table.php => 2022_12_12_000001_create_inbound_email_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_jjwg_address_cache_audit_table.php => 2022_12_12_000001_create_jjwg_address_cache_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_jjwg_address_cache_table.php => 2022_12_12_000001_create_jjwg_address_cache_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_jjwg_areas_audit_table.php => 2022_12_12_000001_create_jjwg_areas_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_jjwg_areas_table.php => 2022_12_12_000001_create_jjwg_areas_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_jjwg_maps_audit_table.php => 2022_12_12_000001_create_jjwg_maps_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_jjwg_maps_jjwg_areas_c_table.php => 2022_12_12_000001_create_jjwg_maps_jjwg_areas_c_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_jjwg_maps_jjwg_markers_c_table.php => 2022_12_12_000001_create_jjwg_maps_jjwg_markers_c_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_jjwg_maps_table.php => 2022_12_12_000001_create_jjwg_maps_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_jjwg_markers_audit_table.php => 2022_12_12_000001_create_jjwg_markers_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_jjwg_markers_table.php => 2022_12_12_000001_create_jjwg_markers_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_leads_audit_table.php => 2022_12_12_000001_create_leads_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_leads_cstm_table.php => 2022_12_12_000001_create_leads_cstm_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_meetings_cstm_table.php => 2022_12_12_000001_create_meetings_cstm_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_meetings_table.php => 2022_12_12_000001_create_meetings_table.php} (98%) rename database/migrations/{2022_12_12_033218_create_oauth2clients_table.php => 2022_12_12_000001_create_oauth2clients_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_oauth_consumer_table.php => 2022_12_12_000001_create_oauth_consumer_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_oauth_nonce_table.php => 2022_12_12_000001_create_oauth_nonce_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_oauth_tokens_table.php => 2022_12_12_000001_create_oauth_tokens_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_opportunities_audit_table.php => 2022_12_12_000001_create_opportunities_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_opportunities_cstm_table.php => 2022_12_12_000001_create_opportunities_cstm_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_outbound_email_audit_table.php => 2022_12_12_000001_create_outbound_email_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_outbound_email_table.php => 2022_12_12_000001_create_outbound_email_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_project_contacts_1_c_table.php => 2022_12_12_000001_create_project_contacts_1_c_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_project_cstm_table.php => 2022_12_12_000001_create_project_cstm_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_project_table.php => 2022_12_12_000001_create_project_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_project_task_audit_table.php => 2022_12_12_000001_create_project_task_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_project_task_table.php => 2022_12_12_000001_create_project_task_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_project_users_1_c_table.php => 2022_12_12_000001_create_project_users_1_c_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_prospect_lists_table.php => 2022_12_12_000001_create_prospect_lists_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_prospects_cstm_table.php => 2022_12_12_000001_create_prospects_cstm_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_relationships_table.php => 2022_12_12_000001_create_relationships_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_releases_table.php => 2022_12_12_000001_create_releases_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_reminders_table.php => 2022_12_12_000001_create_reminders_table.php} (93%) rename database/migrations/{2022_12_12_033218_create_roles_table.php => 2022_12_12_000001_create_roles_table.php} (85%) rename database/migrations/{2022_12_12_033218_create_roles_users_table.php => 2022_12_12_000001_create_roles_users_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_saved_search_table.php => 2022_12_12_000001_create_saved_search_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_schedulers_table.php => 2022_12_12_000001_create_schedulers_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_securitygroups_audit_table.php => 2022_12_12_000001_create_securitygroups_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_securitygroups_table.php => 2022_12_12_000001_create_securitygroups_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_spots_table.php => 2022_12_12_000001_create_spots_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_surveyquestionoptions_audit_table.php => 2022_12_12_000001_create_surveyquestionoptions_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_surveyquestionoptions_surveyquestionresponses_table.php => 2022_12_12_000001_create_surveyquestionoptions_surveyquestionresponses_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_surveyquestionresponses_audit_table.php => 2022_12_12_000001_create_surveyquestionresponses_audit_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_surveyquestions_audit_table.php => 2022_12_12_000001_create_surveyquestions_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_surveyresponses_audit_table.php => 2022_12_12_000001_create_surveyresponses_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_surveys_table.php => 2022_12_12_000001_create_surveys_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_templatesectionline_table.php => 2022_12_12_000001_create_templatesectionline_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_upgrade_history_table.php => 2022_12_12_000001_create_upgrade_history_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_user_preferences_table.php => 2022_12_12_000001_create_user_preferences_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_users_password_link_table.php => 2022_12_12_000001_create_users_password_link_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_users_signatures_table.php => 2022_12_12_000001_create_users_signatures_table.php} (94%) rename database/migrations/{2022_12_12_033218_create_vcals_table.php => 2022_12_12_000001_create_vcals_table.php} (94%) rename database/migrations/{2022_12_12_033218_create_acl_roles_actions_table.php => 2022_12_12_000002_create_acl_roles_actions_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_acl_roles_users_table.php => 2022_12_12_000002_create_acl_roles_users_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_alerts_table.php => 2022_12_12_000002_create_alerts_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_aok_knowledgebase_categories_table.php => 2022_12_12_000002_create_aok_knowledgebase_categories_table.php} (81%) rename database/migrations/{2022_12_12_033218_create_aop_case_events_table.php => 2022_12_12_000002_create_aop_case_events_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_aor_charts_table.php => 2022_12_12_000002_create_aor_charts_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_aor_conditions_table.php => 2022_12_12_000002_create_aor_conditions_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_aor_fields_table.php => 2022_12_12_000002_create_aor_fields_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_aor_scheduled_reports_table.php => 2022_12_12_000002_create_aor_scheduled_reports_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_aos_line_item_groups_table.php => 2022_12_12_000002_create_aos_line_item_groups_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_aow_actions_table.php => 2022_12_12_000002_create_aow_actions_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_aow_conditions_table.php => 2022_12_12_000002_create_aow_conditions_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_aow_processed_table.php => 2022_12_12_000002_create_aow_processed_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_calls_reschedule_table.php => 2022_12_12_000002_create_calls_reschedule_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_calls_users_table.php => 2022_12_12_000002_create_calls_users_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_campaigns_table.php => 2022_12_12_000002_create_campaigns_table.php} (93%) rename database/migrations/{2022_12_12_033218_create_document_revisions_table.php => 2022_12_12_000002_create_document_revisions_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_fp_events_table.php => 2022_12_12_000002_create_fp_events_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_job_queue_table.php => 2022_12_12_000002_create_job_queue_table.php} (84%) rename database/migrations/{2022_12_12_033218_create_meetings_users_table.php => 2022_12_12_000002_create_meetings_users_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_oauth2tokens_table.php => 2022_12_12_000002_create_oauth2tokens_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_projects_bugs_table.php => 2022_12_12_000002_create_projects_bugs_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_reminders_invitees_table.php => 2022_12_12_000002_create_reminders_invitees_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_roles_modules_table.php => 2022_12_12_000002_create_roles_modules_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_securitygroups_acl_roles_table.php => 2022_12_12_000002_create_securitygroups_acl_roles_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_securitygroups_default_table.php => 2022_12_12_000002_create_securitygroups_default_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_securitygroups_users_table.php => 2022_12_12_000002_create_securitygroups_users_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_surveyquestions_table.php => 2022_12_12_000002_create_surveyquestions_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_surveys_audit_table.php => 2022_12_12_000002_create_surveys_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_accounts_table.php => 2022_12_12_000003_create_accounts_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_aow_processed_aow_actions_table.php => 2022_12_12_000003_create_aow_processed_aow_actions_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_campaign_trkrs_table.php => 2022_12_12_000003_create_campaign_trkrs_table.php} (89%) rename database/migrations/{2022_12_12_033218_create_campaigns_audit_table.php => 2022_12_12_000003_create_campaigns_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_contacts_table.php => 2022_12_12_000003_create_contacts_table.php} (91%) rename database/migrations/{2022_12_12_033218_create_email_marketing_table.php => 2022_12_12_000003_create_email_marketing_table.php} (92%) rename database/migrations/{2022_12_12_033218_create_linked_documents_table.php => 2022_12_12_000003_create_linked_documents_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_opportunities_table.php => 2022_12_12_000003_create_opportunities_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_prospect_list_campaigns_table.php => 2022_12_12_000003_create_prospect_list_campaigns_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_surveyquestionoptions_table.php => 2022_12_12_000003_create_surveyquestionoptions_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_accounts_audit_table.php => 2022_12_12_000004_create_accounts_audit_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_accounts_bugs_table.php => 2022_12_12_000004_create_accounts_bugs_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_accounts_contacts_table.php => 2022_12_12_000004_create_accounts_contacts_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_accounts_opportunities_table.php => 2022_12_12_000004_create_accounts_opportunities_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_aop_case_updates_table.php => 2022_12_12_000004_create_aop_case_updates_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_aos_contracts_table.php => 2022_12_12_000004_create_aos_contracts_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_aos_invoices_table.php => 2022_12_12_000004_create_aos_invoices_table.php} (98%) rename database/migrations/{2022_12_12_033218_create_aos_products_table.php => 2022_12_12_000004_create_aos_products_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_aos_quotes_table.php => 2022_12_12_000004_create_aos_quotes_table.php} (98%) rename database/migrations/{2022_12_12_033218_create_calls_contacts_table.php => 2022_12_12_000004_create_calls_contacts_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_cases_table.php => 2022_12_12_000004_create_cases_table.php} (93%) rename database/migrations/{2022_12_12_033218_create_contacts_bugs_table.php => 2022_12_12_000004_create_contacts_bugs_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_contacts_users_table.php => 2022_12_12_000004_create_contacts_users_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_documents_accounts_table.php => 2022_12_12_000004_create_documents_accounts_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_documents_bugs_table.php => 2022_12_12_000004_create_documents_bugs_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_documents_contacts_table.php => 2022_12_12_000004_create_documents_contacts_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_documents_opportunities_table.php => 2022_12_12_000004_create_documents_opportunities_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_email_marketing_prospect_lists_table.php => 2022_12_12_000004_create_email_marketing_prospect_lists_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_leads_table.php => 2022_12_12_000004_create_leads_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_meetings_contacts_table.php => 2022_12_12_000004_create_meetings_contacts_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_notes_table.php => 2022_12_12_000004_create_notes_table.php} (91%) rename database/migrations/{2022_12_12_033218_create_opportunities_contacts_table.php => 2022_12_12_000004_create_opportunities_contacts_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_projects_accounts_table.php => 2022_12_12_000004_create_projects_accounts_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_projects_contacts_table.php => 2022_12_12_000004_create_projects_contacts_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_projects_opportunities_table.php => 2022_12_12_000004_create_projects_opportunities_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_surveyresponses_table.php => 2022_12_12_000004_create_surveyresponses_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_tasks_table.php => 2022_12_12_000004_create_tasks_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_accounts_cases_table.php => 2022_12_12_000005_create_accounts_cases_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_aos_contracts_documents_table.php => 2022_12_12_000005_create_aos_contracts_documents_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_aos_products_quotes_table.php => 2022_12_12_000005_create_aos_products_quotes_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_calls_leads_table.php => 2022_12_12_000005_create_calls_leads_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_cases_bugs_table.php => 2022_12_12_000005_create_cases_bugs_table.php} (95%) rename database/migrations/{2022_12_12_033218_create_contacts_cases_table.php => 2022_12_12_000005_create_contacts_cases_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_documents_cases_table.php => 2022_12_12_000005_create_documents_cases_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_meetings_leads_table.php => 2022_12_12_000005_create_meetings_leads_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_projects_cases_table.php => 2022_12_12_000005_create_projects_cases_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_projects_products_table.php => 2022_12_12_000005_create_projects_products_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_prospects_table.php => 2022_12_12_000005_create_prospects_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_surveyquestionresponses_table.php => 2022_12_12_000005_create_surveyquestionresponses_table.php} (97%) rename database/migrations/{2022_12_12_033218_create_aod_indexevent_table.php => 2022_12_12_000006_create_aod_indexevent_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_campaign_log_table.php => 2022_12_12_000006_create_campaign_log_table.php} (88%) rename database/migrations/{2022_12_12_033218_create_custom_fields_table.php => 2022_12_12_000006_create_custom_fields_table.php} (100%) rename database/migrations/{2022_12_12_033218_create_emailman_table.php => 2022_12_12_000006_create_emailman_table.php} (94%) rename database/migrations/{2022_12_12_033218_create_emails_beans_table.php => 2022_12_12_000006_create_emails_beans_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_prospect_lists_prospects_table.php => 2022_12_12_000006_create_prospect_lists_prospects_table.php} (96%) rename database/migrations/{2022_12_12_033218_create_securitygroups_records_table.php => 2022_12_12_000006_create_securitygroups_records_table.php} (86%) rename database/migrations/{2022_12_12_033218_create_sugarfeed_table.php => 2022_12_12_000006_create_sugarfeed_table.php} (90%) rename database/migrations/{2022_12_12_033218_create_tracker_table.php => 2022_12_12_000006_create_tracker_table.php} (90%) rename database/migrations/{2022_12_12_033218_create_users_last_import_table.php => 2022_12_12_000006_create_users_last_import_table.php} (94%) rename database/migrations/{2022_12_12_033218_create_users_feeds_table.php => 2022_12_12_000007_create_users_feeds_table.php} (95%) delete mode 100644 database/migrations/2022_12_12_033218_create_aok_knowledge_base_categories_audit_table.php create mode 100644 database/seeders/Account/AccountsTableSeeder.php create mode 100644 database/seeders/Account/DataRowsTableSeeder.php create mode 100644 database/seeders/Account/DataTypesTableSeeder.php create mode 100644 database/seeders/Account/DummyAccountsTableSeeder.php create mode 100644 database/seeders/Account/MenuItemsTableSeeder.php create mode 100644 database/seeders/Account/PermissionsTableSeeder.php create mode 100644 database/seeders/Account/SettingsTableSeeder.php create mode 100644 database/seeders/Account/TranslationsTableSeeder.php create mode 100644 database/seeders/Account/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Account/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/AosPdfTemplate/AosPdfTemplatesTableSeeder.php create mode 100644 database/seeders/AosPdfTemplate/DataRowsTableSeeder.php create mode 100644 database/seeders/AosPdfTemplate/DataTypesTableSeeder.php create mode 100644 database/seeders/AosPdfTemplate/DummyAosPdfTemplatesTableSeeder.php create mode 100644 database/seeders/AosPdfTemplate/MenuItemsTableSeeder.php create mode 100644 database/seeders/AosPdfTemplate/PermissionsTableSeeder.php create mode 100644 database/seeders/AosPdfTemplate/SettingsTableSeeder.php create mode 100644 database/seeders/AosPdfTemplate/TranslationsTableSeeder.php create mode 100644 database/seeders/AosPdfTemplate/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/AosPdfTemplate/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/AosProductCategory/AosProductCategoriesTableSeeder.php create mode 100644 database/seeders/AosProductCategory/DataRowsTableSeeder.php create mode 100644 database/seeders/AosProductCategory/DataTypesTableSeeder.php create mode 100644 database/seeders/AosProductCategory/DummyAosProductCategoriesTableSeeder.php create mode 100644 database/seeders/AosProductCategory/MenuItemsTableSeeder.php create mode 100644 database/seeders/AosProductCategory/PermissionsTableSeeder.php create mode 100644 database/seeders/AosProductCategory/SettingsTableSeeder.php create mode 100644 database/seeders/AosProductCategory/TranslationsTableSeeder.php create mode 100644 database/seeders/AosProductCategory/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/AosProductCategory/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/AosSample/AosSamplesTableSeeder.php.stub create mode 100644 database/seeders/AosSample/DataRowsTableSeeder.php.stub create mode 100644 database/seeders/AosSample/DataTypesTableSeeder.php.stub create mode 100644 database/seeders/AosSample/DummyAosSamplesTableSeeder.php.stub create mode 100644 database/seeders/AosSample/MenuItemsTableSeeder.php.stub create mode 100644 database/seeders/AosSample/PermissionsTableSeeder.php.stub create mode 100644 database/seeders/AosSample/SettingsTableSeeder.php.stub create mode 100644 database/seeders/AosSample/TranslationsTableSeeder.php.stub create mode 100644 database/seeders/AosSample/VoyagerDatabaseSeeder.php.stub create mode 100644 database/seeders/AosSample/VoyagerDummyDatabaseSeeder.php.stub create mode 100644 database/seeders/AowWorkflow/AowWorkflowsTableSeeder.php create mode 100644 database/seeders/AowWorkflow/DataRowsTableSeeder.php create mode 100644 database/seeders/AowWorkflow/DataTypesTableSeeder.php create mode 100644 database/seeders/AowWorkflow/DummyAowWorkflowsTableSeeder.php create mode 100644 database/seeders/AowWorkflow/MenuItemsTableSeeder.php create mode 100644 database/seeders/AowWorkflow/PermissionsTableSeeder.php create mode 100644 database/seeders/AowWorkflow/SettingsTableSeeder.php create mode 100644 database/seeders/AowWorkflow/TranslationsTableSeeder.php create mode 100644 database/seeders/AowWorkflow/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/AowWorkflow/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/Bug/BugsTableSeeder.php create mode 100644 database/seeders/Bug/DataRowsTableSeeder.php create mode 100644 database/seeders/Bug/DataTypesTableSeeder.php create mode 100644 database/seeders/Bug/DummyBugsTableSeeder.php create mode 100644 database/seeders/Bug/MenuItemsTableSeeder.php create mode 100644 database/seeders/Bug/PermissionsTableSeeder.php create mode 100644 database/seeders/Bug/SettingsTableSeeder.php create mode 100644 database/seeders/Bug/TranslationsTableSeeder.php create mode 100644 database/seeders/Bug/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Bug/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/Call/CallsTableSeeder.php create mode 100644 database/seeders/Call/DataRowsTableSeeder.php create mode 100644 database/seeders/Call/DataTypesTableSeeder.php create mode 100644 database/seeders/Call/DummyCallsTableSeeder.php create mode 100644 database/seeders/Call/MenuItemsTableSeeder.php create mode 100644 database/seeders/Call/PermissionsTableSeeder.php create mode 100644 database/seeders/Call/SettingsTableSeeder.php create mode 100644 database/seeders/Call/TranslationsTableSeeder.php create mode 100644 database/seeders/Call/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Call/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/Currency/CurrenciesTableSeeder.php create mode 100644 database/seeders/Currency/DataRowsTableSeeder.php create mode 100644 database/seeders/Currency/DataTypesTableSeeder.php create mode 100644 database/seeders/Currency/DummyCurrenciesTableSeeder.php create mode 100644 database/seeders/Currency/MenuItemsTableSeeder.php create mode 100644 database/seeders/Currency/PermissionsTableSeeder.php create mode 100644 database/seeders/Currency/SettingsTableSeeder.php create mode 100644 database/seeders/Currency/TranslationsTableSeeder.php create mode 100644 database/seeders/Currency/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Currency/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/Email/DataRowsTableSeeder.php create mode 100644 database/seeders/Email/DataTypesTableSeeder.php create mode 100644 database/seeders/Email/DummyEmailsTableSeeder.php create mode 100644 database/seeders/Email/EmailsTableSeeder.php create mode 100644 database/seeders/Email/MenuItemsTableSeeder.php create mode 100644 database/seeders/Email/PermissionsTableSeeder.php create mode 100644 database/seeders/Email/SettingsTableSeeder.php create mode 100644 database/seeders/Email/TranslationsTableSeeder.php create mode 100644 database/seeders/Email/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Email/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/EmailCache/DataRowsTableSeeder.php create mode 100644 database/seeders/EmailCache/DataTypesTableSeeder.php create mode 100644 database/seeders/EmailCache/DummyEmailCachesTableSeeder.php create mode 100644 database/seeders/EmailCache/EmailCachesTableSeeder.php create mode 100644 database/seeders/EmailCache/MenuItemsTableSeeder.php create mode 100644 database/seeders/EmailCache/PermissionsTableSeeder.php create mode 100644 database/seeders/EmailCache/SettingsTableSeeder.php create mode 100644 database/seeders/EmailCache/TranslationsTableSeeder.php create mode 100644 database/seeders/EmailCache/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/EmailCache/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/EmailTemplate/DataRowsTableSeeder.php create mode 100644 database/seeders/EmailTemplate/DataTypesTableSeeder.php create mode 100644 database/seeders/EmailTemplate/DummyEmailTemplatesTableSeeder.php create mode 100644 database/seeders/EmailTemplate/EmailTemplatesTableSeeder.php create mode 100644 database/seeders/EmailTemplate/MenuItemsTableSeeder.php create mode 100644 database/seeders/EmailTemplate/PermissionsTableSeeder.php create mode 100644 database/seeders/EmailTemplate/SettingsTableSeeder.php create mode 100644 database/seeders/EmailTemplate/TranslationsTableSeeder.php create mode 100644 database/seeders/EmailTemplate/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/EmailTemplate/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/Favorite/DataRowsTableSeeder.php create mode 100644 database/seeders/Favorite/DataTypesTableSeeder.php create mode 100644 database/seeders/Favorite/DummyFavoritesTableSeeder.php create mode 100644 database/seeders/Favorite/FavoritesTableSeeder.php create mode 100644 database/seeders/Favorite/MenuItemsTableSeeder.php create mode 100644 database/seeders/Favorite/PermissionsTableSeeder.php create mode 100644 database/seeders/Favorite/SettingsTableSeeder.php create mode 100644 database/seeders/Favorite/TranslationsTableSeeder.php create mode 100644 database/seeders/Favorite/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Favorite/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/Folder/DataRowsTableSeeder.php create mode 100644 database/seeders/Folder/DataTypesTableSeeder.php create mode 100644 database/seeders/Folder/DummyFoldersTableSeeder.php create mode 100644 database/seeders/Folder/FoldersTableSeeder.php create mode 100644 database/seeders/Folder/MenuItemsTableSeeder.php create mode 100644 database/seeders/Folder/PermissionsTableSeeder.php create mode 100644 database/seeders/Folder/SettingsTableSeeder.php create mode 100644 database/seeders/Folder/TranslationsTableSeeder.php create mode 100644 database/seeders/Folder/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Folder/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/FpEventLocation/DataRowsTableSeeder.php create mode 100644 database/seeders/FpEventLocation/DataTypesTableSeeder.php create mode 100644 database/seeders/FpEventLocation/DummyFpEventLocationsTableSeeder.php create mode 100644 database/seeders/FpEventLocation/FpEventLocationsTableSeeder.php create mode 100644 database/seeders/FpEventLocation/MenuItemsTableSeeder.php create mode 100644 database/seeders/FpEventLocation/PermissionsTableSeeder.php create mode 100644 database/seeders/FpEventLocation/SettingsTableSeeder.php create mode 100644 database/seeders/FpEventLocation/TranslationsTableSeeder.php create mode 100644 database/seeders/FpEventLocation/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/FpEventLocation/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/ImportMap/DataRowsTableSeeder.php create mode 100644 database/seeders/ImportMap/DataTypesTableSeeder.php create mode 100644 database/seeders/ImportMap/DummyImportMapsTableSeeder.php create mode 100644 database/seeders/ImportMap/ImportMapsTableSeeder.php create mode 100644 database/seeders/ImportMap/MenuItemsTableSeeder.php create mode 100644 database/seeders/ImportMap/PermissionsTableSeeder.php create mode 100644 database/seeders/ImportMap/SettingsTableSeeder.php create mode 100644 database/seeders/ImportMap/TranslationsTableSeeder.php create mode 100644 database/seeders/ImportMap/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/ImportMap/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/InboundEmail/DataRowsTableSeeder.php create mode 100644 database/seeders/InboundEmail/DataTypesTableSeeder.php create mode 100644 database/seeders/InboundEmail/DummyInboundEmailsTableSeeder.php create mode 100644 database/seeders/InboundEmail/InboundEmailsTableSeeder.php create mode 100644 database/seeders/InboundEmail/MenuItemsTableSeeder.php create mode 100644 database/seeders/InboundEmail/PermissionsTableSeeder.php create mode 100644 database/seeders/InboundEmail/SettingsTableSeeder.php create mode 100644 database/seeders/InboundEmail/TranslationsTableSeeder.php create mode 100644 database/seeders/InboundEmail/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/InboundEmail/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/JjwgAddressCache/DataRowsTableSeeder.php create mode 100644 database/seeders/JjwgAddressCache/DataTypesTableSeeder.php create mode 100644 database/seeders/JjwgAddressCache/DummyJjwgAddressCachesTableSeeder.php create mode 100644 database/seeders/JjwgAddressCache/JjwgAddressCachesTableSeeder.php create mode 100644 database/seeders/JjwgAddressCache/MenuItemsTableSeeder.php create mode 100644 database/seeders/JjwgAddressCache/PermissionsTableSeeder.php create mode 100644 database/seeders/JjwgAddressCache/SettingsTableSeeder.php create mode 100644 database/seeders/JjwgAddressCache/TranslationsTableSeeder.php create mode 100644 database/seeders/JjwgAddressCache/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/JjwgAddressCache/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/JjwgArea/DataRowsTableSeeder.php create mode 100644 database/seeders/JjwgArea/DataTypesTableSeeder.php create mode 100644 database/seeders/JjwgArea/DummyJjwgAreasTableSeeder.php create mode 100644 database/seeders/JjwgArea/JjwgAreasTableSeeder.php create mode 100644 database/seeders/JjwgArea/MenuItemsTableSeeder.php create mode 100644 database/seeders/JjwgArea/PermissionsTableSeeder.php create mode 100644 database/seeders/JjwgArea/SettingsTableSeeder.php create mode 100644 database/seeders/JjwgArea/TranslationsTableSeeder.php create mode 100644 database/seeders/JjwgArea/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/JjwgArea/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/JjwgMap/DataRowsTableSeeder.php create mode 100644 database/seeders/JjwgMap/DataTypesTableSeeder.php create mode 100644 database/seeders/JjwgMap/DummyJjwgMapsTableSeeder.php create mode 100644 database/seeders/JjwgMap/JjwgMapsTableSeeder.php create mode 100644 database/seeders/JjwgMap/MenuItemsTableSeeder.php create mode 100644 database/seeders/JjwgMap/PermissionsTableSeeder.php create mode 100644 database/seeders/JjwgMap/SettingsTableSeeder.php create mode 100644 database/seeders/JjwgMap/TranslationsTableSeeder.php create mode 100644 database/seeders/JjwgMap/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/JjwgMap/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/JjwgMarker/DataRowsTableSeeder.php create mode 100644 database/seeders/JjwgMarker/DataTypesTableSeeder.php create mode 100644 database/seeders/JjwgMarker/DummyJjwgMarkersTableSeeder.php create mode 100644 database/seeders/JjwgMarker/JjwgMarkersTableSeeder.php create mode 100644 database/seeders/JjwgMarker/MenuItemsTableSeeder.php create mode 100644 database/seeders/JjwgMarker/PermissionsTableSeeder.php create mode 100644 database/seeders/JjwgMarker/SettingsTableSeeder.php create mode 100644 database/seeders/JjwgMarker/TranslationsTableSeeder.php create mode 100644 database/seeders/JjwgMarker/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/JjwgMarker/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/Meeting/DataRowsTableSeeder.php create mode 100644 database/seeders/Meeting/DataTypesTableSeeder.php create mode 100644 database/seeders/Meeting/DummyMeetingsTableSeeder.php create mode 100644 database/seeders/Meeting/MeetingsTableSeeder.php create mode 100644 database/seeders/Meeting/MenuItemsTableSeeder.php create mode 100644 database/seeders/Meeting/PermissionsTableSeeder.php create mode 100644 database/seeders/Meeting/SettingsTableSeeder.php create mode 100644 database/seeders/Meeting/TranslationsTableSeeder.php create mode 100644 database/seeders/Meeting/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Meeting/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/OutboundEmail/DataRowsTableSeeder.php create mode 100644 database/seeders/OutboundEmail/DataTypesTableSeeder.php create mode 100644 database/seeders/OutboundEmail/DummyOutboundEmailsTableSeeder.php create mode 100644 database/seeders/OutboundEmail/MenuItemsTableSeeder.php create mode 100644 database/seeders/OutboundEmail/OutboundEmailsTableSeeder.php create mode 100644 database/seeders/OutboundEmail/PermissionsTableSeeder.php create mode 100644 database/seeders/OutboundEmail/SettingsTableSeeder.php create mode 100644 database/seeders/OutboundEmail/TranslationsTableSeeder.php create mode 100644 database/seeders/OutboundEmail/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/OutboundEmail/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/Project/DataRowsTableSeeder.php create mode 100644 database/seeders/Project/DataTypesTableSeeder.php create mode 100644 database/seeders/Project/DummyProjectsTableSeeder.php create mode 100644 database/seeders/Project/MenuItemsTableSeeder.php create mode 100644 database/seeders/Project/PermissionsTableSeeder.php create mode 100644 database/seeders/Project/ProjectsTableSeeder.php create mode 100644 database/seeders/Project/SettingsTableSeeder.php create mode 100644 database/seeders/Project/TranslationsTableSeeder.php create mode 100644 database/seeders/Project/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Project/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/ProjectTask/DataRowsTableSeeder.php create mode 100644 database/seeders/ProjectTask/DataTypesTableSeeder.php create mode 100644 database/seeders/ProjectTask/DummyProjectTasksTableSeeder.php create mode 100644 database/seeders/ProjectTask/MenuItemsTableSeeder.php create mode 100644 database/seeders/ProjectTask/PermissionsTableSeeder.php create mode 100644 database/seeders/ProjectTask/ProjectTasksTableSeeder.php create mode 100644 database/seeders/ProjectTask/SettingsTableSeeder.php create mode 100644 database/seeders/ProjectTask/TranslationsTableSeeder.php create mode 100644 database/seeders/ProjectTask/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/ProjectTask/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/ProspectList/DataRowsTableSeeder.php create mode 100644 database/seeders/ProspectList/DataTypesTableSeeder.php create mode 100644 database/seeders/ProspectList/DummyProspectListsTableSeeder.php create mode 100644 database/seeders/ProspectList/MenuItemsTableSeeder.php create mode 100644 database/seeders/ProspectList/PermissionsTableSeeder.php create mode 100644 database/seeders/ProspectList/ProspectListsTableSeeder.php create mode 100644 database/seeders/ProspectList/SettingsTableSeeder.php create mode 100644 database/seeders/ProspectList/TranslationsTableSeeder.php create mode 100644 database/seeders/ProspectList/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/ProspectList/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/Release/DataRowsTableSeeder.php create mode 100644 database/seeders/Release/DataTypesTableSeeder.php create mode 100644 database/seeders/Release/DummyReleasesTableSeeder.php create mode 100644 database/seeders/Release/MenuItemsTableSeeder.php create mode 100644 database/seeders/Release/PermissionsTableSeeder.php create mode 100644 database/seeders/Release/ReleasesTableSeeder.php create mode 100644 database/seeders/Release/SettingsTableSeeder.php create mode 100644 database/seeders/Release/TranslationsTableSeeder.php create mode 100644 database/seeders/Release/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Release/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/SavedSearch/DataRowsTableSeeder.php create mode 100644 database/seeders/SavedSearch/DataTypesTableSeeder.php create mode 100644 database/seeders/SavedSearch/DummySavedSearchsTableSeeder.php create mode 100644 database/seeders/SavedSearch/MenuItemsTableSeeder.php create mode 100644 database/seeders/SavedSearch/PermissionsTableSeeder.php create mode 100644 database/seeders/SavedSearch/SavedSearchsTableSeeder.php create mode 100644 database/seeders/SavedSearch/SettingsTableSeeder.php create mode 100644 database/seeders/SavedSearch/TranslationsTableSeeder.php create mode 100644 database/seeders/SavedSearch/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/SavedSearch/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/Scheduler/DataRowsTableSeeder.php create mode 100644 database/seeders/Scheduler/DataTypesTableSeeder.php create mode 100644 database/seeders/Scheduler/DummySchedulersTableSeeder.php create mode 100644 database/seeders/Scheduler/MenuItemsTableSeeder.php create mode 100644 database/seeders/Scheduler/PermissionsTableSeeder.php create mode 100644 database/seeders/Scheduler/SchedulersTableSeeder.php create mode 100644 database/seeders/Scheduler/SettingsTableSeeder.php create mode 100644 database/seeders/Scheduler/TranslationsTableSeeder.php create mode 100644 database/seeders/Scheduler/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Scheduler/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/Securitygroup/DataRowsTableSeeder.php create mode 100644 database/seeders/Securitygroup/DataTypesTableSeeder.php create mode 100644 database/seeders/Securitygroup/DummySecuritygroupsTableSeeder.php create mode 100644 database/seeders/Securitygroup/MenuItemsTableSeeder.php create mode 100644 database/seeders/Securitygroup/PermissionsTableSeeder.php create mode 100644 database/seeders/Securitygroup/SecuritygroupsTableSeeder.php create mode 100644 database/seeders/Securitygroup/SettingsTableSeeder.php create mode 100644 database/seeders/Securitygroup/TranslationsTableSeeder.php create mode 100644 database/seeders/Securitygroup/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Securitygroup/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/Spot/DataRowsTableSeeder.php create mode 100644 database/seeders/Spot/DataTypesTableSeeder.php create mode 100644 database/seeders/Spot/DummySpotsTableSeeder.php create mode 100644 database/seeders/Spot/MenuItemsTableSeeder.php create mode 100644 database/seeders/Spot/PermissionsTableSeeder.php create mode 100644 database/seeders/Spot/SettingsTableSeeder.php create mode 100644 database/seeders/Spot/SpotsTableSeeder.php create mode 100644 database/seeders/Spot/TranslationsTableSeeder.php create mode 100644 database/seeders/Spot/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Spot/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/Survey/DataRowsTableSeeder.php create mode 100644 database/seeders/Survey/DataTypesTableSeeder.php create mode 100644 database/seeders/Survey/DummySurveysTableSeeder.php create mode 100644 database/seeders/Survey/MenuItemsTableSeeder.php create mode 100644 database/seeders/Survey/PermissionsTableSeeder.php create mode 100644 database/seeders/Survey/SettingsTableSeeder.php create mode 100644 database/seeders/Survey/SurveysTableSeeder.php create mode 100644 database/seeders/Survey/TranslationsTableSeeder.php create mode 100644 database/seeders/Survey/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Survey/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/Templatesectionline/DataRowsTableSeeder.php create mode 100644 database/seeders/Templatesectionline/DataTypesTableSeeder.php create mode 100644 database/seeders/Templatesectionline/DummyTemplatesectionlinesTableSeeder.php create mode 100644 database/seeders/Templatesectionline/MenuItemsTableSeeder.php create mode 100644 database/seeders/Templatesectionline/PermissionsTableSeeder.php create mode 100644 database/seeders/Templatesectionline/SettingsTableSeeder.php create mode 100644 database/seeders/Templatesectionline/TemplatesectionlinesTableSeeder.php create mode 100644 database/seeders/Templatesectionline/TranslationsTableSeeder.php create mode 100644 database/seeders/Templatesectionline/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/Templatesectionline/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/User/DataRowsTableSeeder.php create mode 100644 database/seeders/User/DataTypesTableSeeder.php create mode 100644 database/seeders/User/DummyUsersTableSeeder.php create mode 100644 database/seeders/User/MenuItemsTableSeeder.php create mode 100644 database/seeders/User/PermissionsTableSeeder.php create mode 100644 database/seeders/User/SettingsTableSeeder.php create mode 100644 database/seeders/User/TranslationsTableSeeder.php create mode 100644 database/seeders/User/UsersTableSeeder.php create mode 100644 database/seeders/User/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/User/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/UserPreference/DataRowsTableSeeder.php create mode 100644 database/seeders/UserPreference/DataTypesTableSeeder.php create mode 100644 database/seeders/UserPreference/DummyUserPreferencesTableSeeder.php create mode 100644 database/seeders/UserPreference/MenuItemsTableSeeder.php create mode 100644 database/seeders/UserPreference/PermissionsTableSeeder.php create mode 100644 database/seeders/UserPreference/SettingsTableSeeder.php create mode 100644 database/seeders/UserPreference/TranslationsTableSeeder.php create mode 100644 database/seeders/UserPreference/UserPreferencesTableSeeder.php create mode 100644 database/seeders/UserPreference/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/UserPreference/VoyagerDummyDatabaseSeeder.php create mode 100644 database/seeders/UsersSignature/DataRowsTableSeeder.php create mode 100644 database/seeders/UsersSignature/DataTypesTableSeeder.php create mode 100644 database/seeders/UsersSignature/DummyUsersSignaturesTableSeeder.php create mode 100644 database/seeders/UsersSignature/MenuItemsTableSeeder.php create mode 100644 database/seeders/UsersSignature/PermissionsTableSeeder.php create mode 100644 database/seeders/UsersSignature/SettingsTableSeeder.php create mode 100644 database/seeders/UsersSignature/TranslationsTableSeeder.php create mode 100644 database/seeders/UsersSignature/UsersSignaturesTableSeeder.php create mode 100644 database/seeders/UsersSignature/VoyagerDatabaseSeeder.php create mode 100644 database/seeders/UsersSignature/VoyagerDummyDatabaseSeeder.php create mode 100644 src/Models/Account.php create mode 100644 src/Models/AccountsAudit.php create mode 100644 src/Models/AccountsBug.php create mode 100644 src/Models/AccountsCase.php create mode 100644 src/Models/AccountsContact.php create mode 100644 src/Models/AccountsCstm.php create mode 100644 src/Models/AccountsOpportunity.php create mode 100644 src/Models/AclAction.php create mode 100644 src/Models/AclRole.php create mode 100644 src/Models/AclRolesAction.php create mode 100644 src/Models/AclRolesUser.php create mode 100644 src/Models/AddressBook.php create mode 100644 src/Models/Alert.php create mode 100644 src/Models/AmProjecttemplate.php create mode 100644 src/Models/AmProjecttemplatesAudit.php create mode 100644 src/Models/AmProjecttemplatesContacts1C.php create mode 100644 src/Models/AmProjecttemplatesProject1C.php create mode 100644 src/Models/AmProjecttemplatesUsers1C.php create mode 100644 src/Models/AmTasktemplate.php create mode 100644 src/Models/AmTasktemplatesAmProjecttemplatesC.php create mode 100644 src/Models/AmTasktemplatesAudit.php create mode 100644 src/Models/AobhBusinesshour.php create mode 100644 src/Models/AodIndex.php create mode 100644 src/Models/AodIndexAudit.php create mode 100644 src/Models/AodIndexevent.php create mode 100644 src/Models/AodIndexeventAudit.php create mode 100644 src/Models/AokKnowledgeBaseCategoriesAudit.php create mode 100644 src/Models/AokKnowledgebase.php create mode 100644 src/Models/AokKnowledgebaseAudit.php create mode 100644 src/Models/AokKnowledgebaseBaseCategory.php create mode 100644 src/Models/AokKnowledgebaseCategory.php create mode 100644 src/Models/AopCaseEvent.php create mode 100644 src/Models/AopCaseEventsAudit.php create mode 100644 src/Models/AopCaseUpdate.php create mode 100644 src/Models/AopCaseUpdatesAudit.php create mode 100644 src/Models/AorChart.php create mode 100644 src/Models/AorCondition.php create mode 100644 src/Models/AorField.php create mode 100644 src/Models/AorReport.php create mode 100644 src/Models/AorReportsAudit.php create mode 100644 src/Models/AorScheduledReport.php create mode 100644 src/Models/AosContract.php create mode 100644 src/Models/AosContractsAudit.php create mode 100644 src/Models/AosContractsDocument.php create mode 100644 src/Models/AosInvoice.php create mode 100644 src/Models/AosInvoicesAudit.php create mode 100644 src/Models/AosLineItemGroup.php create mode 100644 src/Models/AosLineItemGroupsAudit.php create mode 100644 src/Models/AosPdfTemplate.php create mode 100644 src/Models/AosPdfTemplatesAudit.php create mode 100644 src/Models/AosProduct.php create mode 100644 src/Models/AosProductCategoriesAudit.php create mode 100644 src/Models/AosProductCategory.php create mode 100644 src/Models/AosProductsAudit.php create mode 100644 src/Models/AosProductsQuote.php create mode 100644 src/Models/AosProductsQuotesAudit.php create mode 100644 src/Models/AosQuote.php create mode 100644 src/Models/AosQuotesAosInvoicesC.php create mode 100644 src/Models/AosQuotesAudit.php create mode 100644 src/Models/AosQuotesOsContractsC.php create mode 100644 src/Models/AosQuotesProjectC.php create mode 100644 src/Models/AowAction.php create mode 100644 src/Models/AowCondition.php create mode 100644 src/Models/AowProcessed.php create mode 100644 src/Models/AowProcessedAowAction.php create mode 100644 src/Models/AowWorkflow.php create mode 100644 src/Models/AowWorkflowAudit.php create mode 100644 src/Models/Bug.php create mode 100644 src/Models/BugsAudit.php create mode 100644 src/Models/Call.php create mode 100644 src/Models/CallsContact.php create mode 100644 src/Models/CallsLead.php create mode 100644 src/Models/CallsReschedule.php create mode 100644 src/Models/CallsRescheduleAudit.php create mode 100644 src/Models/CallsUser.php create mode 100644 src/Models/Campaign.php create mode 100644 src/Models/CampaignLog.php create mode 100644 src/Models/CampaignTrkr.php create mode 100644 src/Models/CampaignsAudit.php create mode 100644 src/Models/CasesAudit.php create mode 100644 src/Models/CasesBug.php create mode 100644 src/Models/CasesCstm.php create mode 100644 src/Models/Config.php create mode 100644 src/Models/Contact.php create mode 100644 src/Models/ContactsAudit.php create mode 100644 src/Models/ContactsBug.php create mode 100644 src/Models/ContactsCase.php create mode 100644 src/Models/ContactsCstm.php create mode 100644 src/Models/ContactsUser.php create mode 100644 src/Models/CrmCase.php create mode 100644 src/Models/CronRemoveDocument.php create mode 100644 src/Models/Currency.php create mode 100644 src/Models/CustomField.php create mode 100644 src/Models/Document.php create mode 100644 src/Models/DocumentRevision.php create mode 100644 src/Models/DocumentsAccount.php create mode 100644 src/Models/DocumentsBug.php create mode 100644 src/Models/DocumentsCase.php create mode 100644 src/Models/DocumentsContact.php create mode 100644 src/Models/DocumentsOpportunity.php create mode 100644 src/Models/Eapm.php create mode 100644 src/Models/Email.php create mode 100644 src/Models/EmailAddrBeanRel.php create mode 100644 src/Models/EmailAddress.php create mode 100644 src/Models/EmailAddressesAudit.php create mode 100644 src/Models/EmailCache.php create mode 100644 src/Models/EmailMarketing.php create mode 100644 src/Models/EmailMarketingProspectList.php create mode 100644 src/Models/EmailTemplate.php create mode 100644 src/Models/Emailman.php create mode 100644 src/Models/EmailsBean.php create mode 100644 src/Models/EmailsEmailAddrRel.php create mode 100644 src/Models/EmailsText.php create mode 100644 src/Models/Favorite.php create mode 100644 src/Models/FieldsMetaDatum.php create mode 100644 src/Models/Folder.php create mode 100644 src/Models/FoldersRel.php create mode 100644 src/Models/FoldersSubscription.php create mode 100644 src/Models/FpEvent.php create mode 100644 src/Models/FpEventLocation.php create mode 100644 src/Models/FpEventLocationsAudit.php create mode 100644 src/Models/FpEventLocationsFpEvents1C.php create mode 100644 src/Models/FpEventsAudit.php create mode 100644 src/Models/FpEventsContactsC.php create mode 100644 src/Models/FpEventsFpEventDelegates1C.php create mode 100644 src/Models/FpEventsFpEventLocations1C.php create mode 100644 src/Models/FpEventsLeads1C.php create mode 100644 src/Models/FpEventsProspects1C.php create mode 100644 src/Models/ImportMap.php create mode 100644 src/Models/InboundEmail.php create mode 100644 src/Models/InboundEmailAutoreply.php create mode 100644 src/Models/InboundEmailCacheT.php create mode 100644 src/Models/JjwgAddressCache.php create mode 100644 src/Models/JjwgAddressCacheAudit.php create mode 100644 src/Models/JjwgArea.php create mode 100644 src/Models/JjwgAreasAudit.php create mode 100644 src/Models/JjwgMap.php create mode 100644 src/Models/JjwgMapsAudit.php create mode 100644 src/Models/JjwgMapsJjwgAreasC.php create mode 100644 src/Models/JjwgMapsJjwgMarkersC.php create mode 100644 src/Models/JjwgMarker.php create mode 100644 src/Models/JjwgMarkersAudit.php create mode 100644 src/Models/JobQueue.php create mode 100644 src/Models/Lead.php create mode 100644 src/Models/LeadsAudit.php create mode 100644 src/Models/LeadsCstm.php create mode 100644 src/Models/LinkedDocument.php create mode 100644 src/Models/Meeting.php create mode 100644 src/Models/MeetingsContact.php create mode 100644 src/Models/MeetingsCstm.php create mode 100644 src/Models/MeetingsLead.php create mode 100644 src/Models/MeetingsUser.php create mode 100644 src/Models/Note.php create mode 100644 src/Models/Oauth2client.php create mode 100644 src/Models/Oauth2token.php create mode 100644 src/Models/OauthConsumer.php create mode 100644 src/Models/OauthNonce.php create mode 100644 src/Models/OauthToken.php create mode 100644 src/Models/OpportunitiesAudit.php create mode 100644 src/Models/OpportunitiesContact.php create mode 100644 src/Models/OpportunitiesCstm.php create mode 100644 src/Models/Opportunity.php create mode 100644 src/Models/OutboundEmail.php create mode 100644 src/Models/OutboundEmailAudit.php create mode 100644 src/Models/Project.php create mode 100644 src/Models/ProjectContacts1C.php create mode 100644 src/Models/ProjectCstm.php create mode 100644 src/Models/ProjectTask.php create mode 100644 src/Models/ProjectTaskAudit.php create mode 100644 src/Models/ProjectUsers1C.php create mode 100644 src/Models/ProjectsAccount.php create mode 100644 src/Models/ProjectsBug.php create mode 100644 src/Models/ProjectsCase.php create mode 100644 src/Models/ProjectsContact.php create mode 100644 src/Models/ProjectsOpportunity.php create mode 100644 src/Models/ProjectsProduct.php create mode 100644 src/Models/Prospect.php create mode 100644 src/Models/ProspectList.php create mode 100644 src/Models/ProspectListCampaign.php create mode 100644 src/Models/ProspectListsProspect.php create mode 100644 src/Models/ProspectsCstm.php create mode 100644 src/Models/Relationship.php create mode 100644 src/Models/Release.php create mode 100644 src/Models/Reminder.php create mode 100644 src/Models/RemindersInvitee.php create mode 100644 src/Models/Role.php create mode 100644 src/Models/RolesModule.php create mode 100644 src/Models/RolesUser.php create mode 100644 src/Models/SavedSearch.php create mode 100644 src/Models/Scheduler.php create mode 100644 src/Models/Securitygroup.php create mode 100644 src/Models/SecuritygroupsAclRole.php create mode 100644 src/Models/SecuritygroupsAudit.php create mode 100644 src/Models/SecuritygroupsDefault.php create mode 100644 src/Models/SecuritygroupsRecord.php create mode 100644 src/Models/SecuritygroupsUser.php create mode 100644 src/Models/Spot.php create mode 100644 src/Models/Sugarfeed.php create mode 100644 src/Models/Survey.php create mode 100644 src/Models/Surveyquestion.php create mode 100644 src/Models/Surveyquestionoption.php create mode 100644 src/Models/SurveyquestionoptionsAudit.php create mode 100644 src/Models/SurveyquestionoptionsSurveyquestionresponse.php create mode 100644 src/Models/Surveyquestionresponse.php create mode 100644 src/Models/SurveyquestionresponsesAudit.php create mode 100644 src/Models/SurveyquestionsAudit.php create mode 100644 src/Models/Surveyresponse.php create mode 100644 src/Models/SurveyresponsesAudit.php create mode 100644 src/Models/SurveysAudit.php create mode 100644 src/Models/Task.php create mode 100644 src/Models/Templatesectionline.php create mode 100644 src/Models/Tracker.php create mode 100644 src/Models/Traits/CreatedModifiedBy.php create mode 100644 src/Models/Traits/Uuids.php create mode 100644 src/Models/UpgradeHistory.php create mode 100644 src/Models/User.php create mode 100644 src/Models/UserPreference.php create mode 100644 src/Models/UsersFeed.php create mode 100644 src/Models/UsersLastImport.php create mode 100644 src/Models/UsersPasswordLink.php create mode 100644 src/Models/UsersSignature.php create mode 100644 src/Models/Vcal.php diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index fa56639..2e308bf 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -1,3 +1,4 @@ +# .github/workflows/update-changelog.yaml name: "Update Changelog" on: @@ -12,17 +13,17 @@ jobs: - name: Checkout code uses: actions/checkout@v2 with: - ref: main + ref: ${{ github.event.release.target_commitish }} - name: Update Changelog uses: stefanzweifel/changelog-updater-action@v1 with: - latest-version: ${{ github.event.release.name }} + latest-version: ${{ github.event.release.tag_name }} release-notes: ${{ github.event.release.body }} - name: Commit updated CHANGELOG uses: stefanzweifel/git-auto-commit-action@v4 with: - branch: main + branch: ${{ github.event.release.target_commitish }} commit_message: Update CHANGELOG - file_pattern: CHANGELOG.md + file_pattern: CHANGELOG.md \ No newline at end of file diff --git a/database/factories/AccountFactory.php b/database/factories/AccountFactory.php new file mode 100644 index 0000000..e72af4b --- /dev/null +++ b/database/factories/AccountFactory.php @@ -0,0 +1,57 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'account_type' => $this->faker->randomElement([ + 'TYPE1', + 'TYPE2', + ]), + 'industry' => $this->faker->word(10), + 'annual_revenue' => $this->faker->word(10), + 'phone_fax' => $this->faker->phoneNumber(), + 'billing_address_street' => $this->faker->streetName(), + 'billing_address_city' => $this->faker->city(), + 'billing_address_state' => $this->faker->state(), + 'billing_address_country' => $this->faker->country(), + 'billing_address_postalcode' => $this->faker->postcode(), + 'rating' => $this->faker->text(50), + 'phone_office' => $this->faker->phoneNumber(), + 'phone_alternate' => $this->faker->phoneNumber(), + 'website' => $this->faker->url(), + 'ownership' => $this->faker->text(50), + 'employees' => $this->faker->text(10), + 'ticker_symbol' => $this->faker->text(10), + 'shipping_address_street' => $this->faker->streetName(), + 'shipping_address_city' => $this->faker->city(), + 'shipping_address_state' => $this->faker->state(), + 'shipping_address_country' => $this->faker->country(), + 'shipping_address_postalcode' => $this->faker->postcode(), + 'sic_code' => $this->faker->text(10), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/AosPdfTemplateFactory.php b/database/factories/AosPdfTemplateFactory.php new file mode 100644 index 0000000..86d5cdc --- /dev/null +++ b/database/factories/AosPdfTemplateFactory.php @@ -0,0 +1,50 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'active' => $this->faker->boolean(), + 'type' => $this->faker->randomElement([ + 'TYPE1', + 'TYPE2', + ]), + 'pdfheader' => $this->faker->paragraphs(10, true), + 'pdffooter' => $this->faker->paragraphs(10, true), + 'margin_left' => $this->faker->numberBetween(10, 20), + 'margin_right' => $this->faker->numberBetween(10, 20), + 'margin_top' => $this->faker->numberBetween(10, 20), + 'margin_bottom' => $this->faker->numberBetween(10, 20), + 'margin_header' => $this->faker->numberBetween(10, 20), + 'margin_footer' => $this->faker->numberBetween(10, 20), + 'page_size' => $this->faker->numberBetween(100, 200) . ' KB', + 'orientation' => $this->faker->randomElement([ + 'LANDSCAPE', + 'PORTRAIT', + ]), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/AosProductCategoryFactory.php b/database/factories/AosProductCategoryFactory.php new file mode 100644 index 0000000..1d8a3f4 --- /dev/null +++ b/database/factories/AosProductCategoryFactory.php @@ -0,0 +1,34 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'is_parent' => $this->faker->boolean(), + 'parent_category_id' => null, + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/AosSampleFactory.php.stub b/database/factories/AosSampleFactory.php.stub new file mode 100644 index 0000000..a7af82e --- /dev/null +++ b/database/factories/AosSampleFactory.php.stub @@ -0,0 +1,36 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'status' => $this->faker->randomElement([ + 'ACTIVE', + 'INACTIVE', + ]), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/AowWorkflowFactory.php b/database/factories/AowWorkflowFactory.php new file mode 100644 index 0000000..43410f4 --- /dev/null +++ b/database/factories/AowWorkflowFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/BugFactory.php b/database/factories/BugFactory.php new file mode 100644 index 0000000..90b6d4b --- /dev/null +++ b/database/factories/BugFactory.php @@ -0,0 +1,55 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'bug_number' => $this->faker->unique()->numberBetween(1, 1000), + 'type' => $this->faker->randomElement([ + 'TYPE1', + 'TYPE2', + ]), + 'status' => $this->faker->randomElement([ + 'ACTIVE', + 'INACTIVE', + ]), + 'priority' => $this->faker->randomElement([ + 'LOW', + 'MEDIUM', + 'HIGH', + ]), + 'resolution' => $this->faker->randomElement([ + 'YES', + 'NO', + ]), + 'work_log' => $this->faker->text(100), + 'found_in_release' => $this->faker->text(10), + 'fixed_in_release' => $this->faker->text(10), + 'source' => $this->faker->text(10), + 'product_category' => $this->faker->text(10), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/CallFactory.php b/database/factories/CallFactory.php new file mode 100644 index 0000000..c3bd94a --- /dev/null +++ b/database/factories/CallFactory.php @@ -0,0 +1,58 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'duration_hours' => $this->faker->numberBetween(1, 24), + 'duration_minutes' => $this->faker->numberBetween(1, 60), + 'date_start' => $this->faker->dateTimeBetween('-3months', '-2months'), + 'date_end' => $this->faker->dateTimeBetween('-2months', '-1month'), + 'parent_type' => null, + 'parent_id' => null, + 'status' => $this->faker->randomElement([ + 'ACTIVE', + 'INACTIVE', + 'PLANNED', + ]), + 'direction' => $this->faker->randomElement([ + 'INCOMING', + 'OUTGOING', + ]), + 'reminder_time' => $this->faker->randomNumber(), + 'email_reminder_time' => $this->faker->randomNumber(), + 'email_reminder_sent' => $this->faker->boolean(), + 'outlook_id' => null, + 'repeat_type' => null, + 'repeat_interval' => null, + 'repeat_dow' => null, + 'repeat_until' => null, + 'repeat_count' => null, + 'repeat_parent_id' => null, + 'recurring_source' => null, + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/CurrencyFactory.php b/database/factories/CurrencyFactory.php new file mode 100644 index 0000000..868156e --- /dev/null +++ b/database/factories/CurrencyFactory.php @@ -0,0 +1,40 @@ +faker->unique()->currencyCode(); + + return [ + 'name' => $this->faker->name(), + 'symbol' => $currencyCode, + 'iso4217' => $currencyCode, + 'conversion_rate' => $this->faker->randomFloat(4, 20, 200), + 'status' => $this->faker->randomElement([ + 'ACTIVE', + 'INACTIVE', + ]), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/EmailCacheFactory.php b/database/factories/EmailCacheFactory.php new file mode 100644 index 0000000..e9a74cc --- /dev/null +++ b/database/factories/EmailCacheFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + // 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/EmailFactory.php b/database/factories/EmailFactory.php new file mode 100644 index 0000000..ac3cd2b --- /dev/null +++ b/database/factories/EmailFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + // 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/EmailTemplateFactory.php b/database/factories/EmailTemplateFactory.php new file mode 100644 index 0000000..4b719ae --- /dev/null +++ b/database/factories/EmailTemplateFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/FavoriteFactory.php b/database/factories/FavoriteFactory.php new file mode 100644 index 0000000..1ee3eac --- /dev/null +++ b/database/factories/FavoriteFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/FolderFactory.php b/database/factories/FolderFactory.php new file mode 100644 index 0000000..c2229e3 --- /dev/null +++ b/database/factories/FolderFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + // 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/FpEventLocationFactory.php b/database/factories/FpEventLocationFactory.php new file mode 100644 index 0000000..d58fb14 --- /dev/null +++ b/database/factories/FpEventLocationFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/ImportMapFactory.php b/database/factories/ImportMapFactory.php new file mode 100644 index 0000000..b40678d --- /dev/null +++ b/database/factories/ImportMapFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + // 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/InboundEmailFactory.php b/database/factories/InboundEmailFactory.php new file mode 100644 index 0000000..1e403a3 --- /dev/null +++ b/database/factories/InboundEmailFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + // 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/JjwgAddressCacheFactory.php b/database/factories/JjwgAddressCacheFactory.php new file mode 100644 index 0000000..b788767 --- /dev/null +++ b/database/factories/JjwgAddressCacheFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/JjwgAreaFactory.php b/database/factories/JjwgAreaFactory.php new file mode 100644 index 0000000..3d5e600 --- /dev/null +++ b/database/factories/JjwgAreaFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/JjwgMapFactory.php b/database/factories/JjwgMapFactory.php new file mode 100644 index 0000000..7f79e01 --- /dev/null +++ b/database/factories/JjwgMapFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/JjwgMarkerFactory.php b/database/factories/JjwgMarkerFactory.php new file mode 100644 index 0000000..d50f745 --- /dev/null +++ b/database/factories/JjwgMarkerFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/MeetingFactory.php b/database/factories/MeetingFactory.php new file mode 100644 index 0000000..5af86a7 --- /dev/null +++ b/database/factories/MeetingFactory.php @@ -0,0 +1,36 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'status' => $this->faker->randomElement([ + 'ACTIVE', + 'INACTIVE', + ]), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/OutboundEmailFactory.php b/database/factories/OutboundEmailFactory.php new file mode 100644 index 0000000..361ec8f --- /dev/null +++ b/database/factories/OutboundEmailFactory.php @@ -0,0 +1,35 @@ + $this->faker->name(), + 'type' => $this->faker->randomElement([ + 'TYPE1', + 'TYPE2', + ]), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/ProjectFactory.php b/database/factories/ProjectFactory.php new file mode 100644 index 0000000..bd12c92 --- /dev/null +++ b/database/factories/ProjectFactory.php @@ -0,0 +1,36 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'status' => $this->faker->randomElement([ + 'ACTIVE', + 'INACTIVE', + ]), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/ProjectTaskFactory.php b/database/factories/ProjectTaskFactory.php new file mode 100644 index 0000000..bd54e04 --- /dev/null +++ b/database/factories/ProjectTaskFactory.php @@ -0,0 +1,37 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'status' => $this->faker->randomElement([ + 'ACTIVE', + 'INACTIVE', + 'PLANNED', + ]), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/ProspectListFactory.php b/database/factories/ProspectListFactory.php new file mode 100644 index 0000000..4814613 --- /dev/null +++ b/database/factories/ProspectListFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/ReleaseFactory.php b/database/factories/ReleaseFactory.php new file mode 100644 index 0000000..fb3243b --- /dev/null +++ b/database/factories/ReleaseFactory.php @@ -0,0 +1,35 @@ + $this->faker->name(), + 'status' => $this->faker->randomElement([ + 'ACTIVE', + 'INACTIVE', + ]), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/SavedSearchFactory.php b/database/factories/SavedSearchFactory.php new file mode 100644 index 0000000..16b4dad --- /dev/null +++ b/database/factories/SavedSearchFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/SchedulerFactory.php b/database/factories/SchedulerFactory.php new file mode 100644 index 0000000..0a63b2c --- /dev/null +++ b/database/factories/SchedulerFactory.php @@ -0,0 +1,35 @@ + $this->faker->name(), + 'status' => $this->faker->randomElement([ + 'ACTIVE', + 'INACTIVE', + ]), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/SecuritygroupFactory.php b/database/factories/SecuritygroupFactory.php new file mode 100644 index 0000000..50c4b4c --- /dev/null +++ b/database/factories/SecuritygroupFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/SpotFactory.php b/database/factories/SpotFactory.php new file mode 100644 index 0000000..e8c1c10 --- /dev/null +++ b/database/factories/SpotFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/SurveyFactory.php b/database/factories/SurveyFactory.php new file mode 100644 index 0000000..637deeb --- /dev/null +++ b/database/factories/SurveyFactory.php @@ -0,0 +1,40 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'status' => $this->faker->randomElement([ + 'ACTIVE', + 'INACTIVE', + ]), + 'submit_text' => $this->faker->text(10), + 'satisfied_text' => $this->faker->text(10), + 'neither_text' => $this->faker->text(10), + 'dissatisfied_text' => $this->faker->text(10), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/TemplatesectionlineFactory.php b/database/factories/TemplatesectionlineFactory.php new file mode 100644 index 0000000..4515736 --- /dev/null +++ b/database/factories/TemplatesectionlineFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php new file mode 100644 index 0000000..05729c8 --- /dev/null +++ b/database/factories/UserFactory.php @@ -0,0 +1,89 @@ + + */ +class UserFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition() + { + return [ + 'name' => $this->faker->name(), + 'email' => $this->faker->unique()->safeEmail(), + 'email_verified_at' => now(), + 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password + 'remember_token' => Str::random(10), + // 'avatar' => $this->faker->avatar(), + // 'role_id' => $this->faker->role_id(), + // 'settings' => $this->faker->settings(), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + 'user_name' => $this->faker->unique()->name(), + 'user_hash' => Str::random(10), + 'system_generated_password' => $this->faker->boolean(), + 'pwd_last_changed' => $this->faker->dateTime(), + // 'authenticate_id' => $this->faker->authenticate_id(), + 'sugar_login' => $this->faker->boolean(), + 'first_name' => $this->faker->firstName(), + 'last_name' => $this->faker->lastName(), + 'is_admin' => $this->faker->boolean(), + 'external_auth_only' => $this->faker->boolean(), + 'receive_notifications' => $this->faker->boolean(), + 'description' => $this->faker->text(500), + // 'modified_by_id' => $this->faker->modified_by_id(), + // 'created_by_id' => $this->faker->created_by_id(), + 'title' => $this->faker->title(), + // 'photo' => $this->faker->photo(), + 'department' => $this->faker->word(), + 'phone_home' => $this->faker->phoneNumber(), + 'phone_mobile' => $this->faker->phoneNumber(), + 'phone_work' => $this->faker->phoneNumber(), + 'phone_other' => $this->faker->phoneNumber(), + 'phone_fax' => $this->faker->phoneNumber(), + 'status' => $this->faker->randomElement([ + 'ACTIVE', + 'INACTIVE', + ]), + 'address_street' => $this->faker->streetName(), + 'address_city' => $this->faker->city(), + 'address_state' => $this->faker->state(), + 'address_country' => $this->faker->country(), + 'address_postalcode' => $this->faker->postcode(), + 'portal_only' => $this->faker->boolean(), + 'show_on_employees' => $this->faker->boolean(), + 'employee_status' => $this->faker->randomElement([ + 'ACTIVE', + 'INACTIVE', + ]), + // 'messenger_id' => $this->faker->messenger_id(), + // 'messenger_type' => $this->faker->messenger_type(), + // 'reports_to_id' => $this->faker->reports_to_id(), + 'is_group' => $this->faker->boolean(), + // 'factor_auth' => $this->faker->factor_auth(), + // 'factor_auth_interface' => $this->faker->factor_auth_interface() + ]; + } + + /** + * Indicate that the model's email address should be unverified. + * + * @return static + */ + public function unverified() + { + return $this->state(fn (array $attributes) => [ + 'email_verified_at' => null, + ]); + } +} diff --git a/database/factories/UserPreferenceFactory.php b/database/factories/UserPreferenceFactory.php new file mode 100644 index 0000000..bcc0c92 --- /dev/null +++ b/database/factories/UserPreferenceFactory.php @@ -0,0 +1,32 @@ + $this->faker->word(), + // 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/factories/UsersSignatureFactory.php b/database/factories/UsersSignatureFactory.php new file mode 100644 index 0000000..aa434dd --- /dev/null +++ b/database/factories/UsersSignatureFactory.php @@ -0,0 +1,32 @@ + $this->faker->name(), + // 'description' => $this->faker->text(500), + 'created_at' => $this->faker->dateTime(), + 'updated_at' => $this->faker->dateTime(), + // 'deleted_at' => $this->faker->dateTime(), + ]; + } +} diff --git a/database/migrations/2022_12_12_033218_create_users_table.php b/database/migrations/2022_12_12_000000_alter_users_crm_columns_table.php similarity index 54% rename from database/migrations/2022_12_12_033218_create_users_table.php rename to database/migrations/2022_12_12_000000_alter_users_crm_columns_table.php index 3a1b1a4..4a7640e 100644 --- a/database/migrations/2022_12_12_033218_create_users_table.php +++ b/database/migrations/2022_12_12_000000_alter_users_crm_columns_table.php @@ -2,11 +2,13 @@ use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; -use Illuminate\Support\Facades\DB; -use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +use Illuminate\Support\Facades\{ + DB, + Schema +}; + +return new class extends Migration { /** * Run the migrations. * @@ -14,9 +16,9 @@ */ public function up() { - Schema::create('crm_users', function (Blueprint $table) { + Schema::table('users', function (Blueprint $table) { $table->comment(''); - $table->uuid('id')->primary(); + // $table->uuid('id')->primary()->change(); $table->string('user_name', 60)->nullable(); $table->string('user_hash')->nullable(); $table->boolean('system_generated_password')->nullable(); @@ -45,7 +47,7 @@ public function up() $table->string('address_state', 100)->nullable(); $table->string('address_country', 100)->nullable(); $table->string('address_postalcode', 20)->nullable(); - + $table->boolean('portal_only')->nullable()->default(false); $table->boolean('show_on_employees')->nullable()->default(true); $table->string('employee_status', 100)->nullable(); @@ -56,8 +58,8 @@ public function up() $table->boolean('factor_auth')->nullable(); $table->string('factor_auth_interface')->nullable(); - $table->index(['user_name', 'is_group', 'status', DB::raw("last_name(30)"), DB::raw("first_name(30)"), 'id'], 'idx_user_name'); - $table->timestamps(); + $table->index(['user_name', 'is_group', 'status', DB::raw('last_name(30)'), DB::raw('first_name(30)'), 'id'], 'idx_user_name'); + // $table->timestamps(); $table->softDeletes(); }); } @@ -69,6 +71,46 @@ public function up() */ public function down() { - Schema::dropIfExists('users'); + Schema::table('users', function (Blueprint $table) { + // $table->id()->change(); + $table->dropIndex('idx_user_name'); + $table->dropColumn('user_name'); + $table->dropColumn('user_hash'); + $table->dropColumn('system_generated_password'); + $table->dropColumn('pwd_last_changed'); + $table->dropColumn('authenticate_id'); + $table->dropColumn('sugar_login'); + $table->dropColumn('first_name'); + $table->dropColumn('last_name'); + $table->dropColumn('is_admin'); + $table->dropColumn('external_auth_only'); + $table->dropColumn('receive_notifications'); + $table->dropColumn('description'); + $table->dropColumn('modified_by_id'); + $table->dropColumn('created_by_id'); + $table->dropColumn('title'); + $table->dropColumn('photo'); + $table->dropColumn('department'); + $table->dropColumn('phone_home'); + $table->dropColumn('phone_mobile'); + $table->dropColumn('phone_work'); + $table->dropColumn('phone_other'); + $table->dropColumn('phone_fax'); + $table->dropColumn('status'); + $table->dropColumn('address_street'); + $table->dropColumn('address_city'); + $table->dropColumn('address_state'); + $table->dropColumn('address_country'); + $table->dropColumn('address_postalcode'); + $table->dropColumn('portal_only'); + $table->dropColumn('show_on_employees'); + $table->dropColumn('employee_status'); + $table->dropColumn('messenger_id'); + $table->dropColumn('messenger_type'); + $table->dropColumn('reports_to_id'); + $table->dropColumn('is_group'); + $table->dropColumn('factor_auth'); + $table->dropColumn('factor_auth_interface'); + }); } }; diff --git a/database/migrations/2022_12_12_033218_create_accounts_cstm_table.php b/database/migrations/2022_12_12_000001_create_accounts_cstm_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_accounts_cstm_table.php rename to database/migrations/2022_12_12_000001_create_accounts_cstm_table.php index 6d61a2c..d5f48df 100644 --- a/database/migrations/2022_12_12_033218_create_accounts_cstm_table.php +++ b/database/migrations/2022_12_12_000001_create_accounts_cstm_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_acl_actions_table.php b/database/migrations/2022_12_12_000001_create_acl_actions_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_acl_actions_table.php rename to database/migrations/2022_12_12_000001_create_acl_actions_table.php diff --git a/database/migrations/2022_12_12_033218_create_acl_roles_table.php b/database/migrations/2022_12_12_000001_create_acl_roles_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_acl_roles_table.php rename to database/migrations/2022_12_12_000001_create_acl_roles_table.php diff --git a/database/migrations/2022_12_12_033218_create_address_book_table.php b/database/migrations/2022_12_12_000001_create_address_book_table.php similarity index 90% rename from database/migrations/2022_12_12_033218_create_address_book_table.php rename to database/migrations/2022_12_12_000001_create_address_book_table.php index fe29afb..29fae26 100644 --- a/database/migrations/2022_12_12_033218_create_address_book_table.php +++ b/database/migrations/2022_12_12_000001_create_address_book_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -15,6 +14,7 @@ public function up() { Schema::create('address_book', function (Blueprint $table) { $table->comment(''); + $table->uuid('id')->primary(); $table->uuid('assigned_user_id'); $table->string('bean', 50)->nullable(); $table->uuid('bean_id'); diff --git a/database/migrations/2022_12_12_033218_create_am_projecttemplates_audit_table.php b/database/migrations/2022_12_12_000001_create_am_projecttemplates_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_am_projecttemplates_audit_table.php rename to database/migrations/2022_12_12_000001_create_am_projecttemplates_audit_table.php index 80d8ee8..b2f26a5 100644 --- a/database/migrations/2022_12_12_033218_create_am_projecttemplates_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_am_projecttemplates_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_am_projecttemplates_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_am_projecttemplates_contacts_1_c_table.php b/database/migrations/2022_12_12_000001_create_am_projecttemplates_contacts_1_c_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_am_projecttemplates_contacts_1_c_table.php rename to database/migrations/2022_12_12_000001_create_am_projecttemplates_contacts_1_c_table.php index b950346..b8de5a4 100644 --- a/database/migrations/2022_12_12_033218_create_am_projecttemplates_contacts_1_c_table.php +++ b/database/migrations/2022_12_12_000001_create_am_projecttemplates_contacts_1_c_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_am_projecttemplates_project_1_c_table.php b/database/migrations/2022_12_12_000001_create_am_projecttemplates_project_1_c_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_am_projecttemplates_project_1_c_table.php rename to database/migrations/2022_12_12_000001_create_am_projecttemplates_project_1_c_table.php index 6b3eebe..b42247b 100644 --- a/database/migrations/2022_12_12_033218_create_am_projecttemplates_project_1_c_table.php +++ b/database/migrations/2022_12_12_000001_create_am_projecttemplates_project_1_c_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_am_projecttemplates_table.php b/database/migrations/2022_12_12_000001_create_am_projecttemplates_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_am_projecttemplates_table.php rename to database/migrations/2022_12_12_000001_create_am_projecttemplates_table.php index 82af1b5..cac85fa 100644 --- a/database/migrations/2022_12_12_033218_create_am_projecttemplates_table.php +++ b/database/migrations/2022_12_12_000001_create_am_projecttemplates_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_am_projecttemplates_users_1_c_table.php b/database/migrations/2022_12_12_000001_create_am_projecttemplates_users_1_c_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_am_projecttemplates_users_1_c_table.php rename to database/migrations/2022_12_12_000001_create_am_projecttemplates_users_1_c_table.php index 6069087..93716af 100644 --- a/database/migrations/2022_12_12_033218_create_am_projecttemplates_users_1_c_table.php +++ b/database/migrations/2022_12_12_000001_create_am_projecttemplates_users_1_c_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_am_tasktemplates_am_projecttemplates_c_table.php b/database/migrations/2022_12_12_000001_create_am_tasktemplates_am_projecttemplates_c_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_am_tasktemplates_am_projecttemplates_c_table.php rename to database/migrations/2022_12_12_000001_create_am_tasktemplates_am_projecttemplates_c_table.php diff --git a/database/migrations/2022_12_12_033218_create_am_tasktemplates_audit_table.php b/database/migrations/2022_12_12_000001_create_am_tasktemplates_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_am_tasktemplates_audit_table.php rename to database/migrations/2022_12_12_000001_create_am_tasktemplates_audit_table.php index c118de9..c8fd1ec 100644 --- a/database/migrations/2022_12_12_033218_create_am_tasktemplates_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_am_tasktemplates_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_am_tasktemplates_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_am_tasktemplates_table.php b/database/migrations/2022_12_12_000001_create_am_tasktemplates_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_am_tasktemplates_table.php rename to database/migrations/2022_12_12_000001_create_am_tasktemplates_table.php index 064e4e0..8f58a1b 100644 --- a/database/migrations/2022_12_12_033218_create_am_tasktemplates_table.php +++ b/database/migrations/2022_12_12_000001_create_am_tasktemplates_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aobh_businesshours_table.php b/database/migrations/2022_12_12_000001_create_aobh_businesshours_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_aobh_businesshours_table.php rename to database/migrations/2022_12_12_000001_create_aobh_businesshours_table.php index 6934f05..13bcf80 100644 --- a/database/migrations/2022_12_12_033218_create_aobh_businesshours_table.php +++ b/database/migrations/2022_12_12_000001_create_aobh_businesshours_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aod_index_audit_table.php b/database/migrations/2022_12_12_000001_create_aod_index_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_aod_index_audit_table.php rename to database/migrations/2022_12_12_000001_create_aod_index_audit_table.php index 332c670..b0ae90c 100644 --- a/database/migrations/2022_12_12_033218_create_aod_index_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aod_index_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aod_index_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_aod_index_table.php b/database/migrations/2022_12_12_000001_create_aod_index_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_aod_index_table.php rename to database/migrations/2022_12_12_000001_create_aod_index_table.php diff --git a/database/migrations/2022_12_12_033218_create_aod_indexevent_audit_table.php b/database/migrations/2022_12_12_000001_create_aod_indexevent_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_aod_indexevent_audit_table.php rename to database/migrations/2022_12_12_000001_create_aod_indexevent_audit_table.php index f9f2499..7dadc98 100644 --- a/database/migrations/2022_12_12_033218_create_aod_indexevent_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aod_indexevent_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aod_indexevent_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_000001_create_aok_knowledge_base_categories_audit_table.php b/database/migrations/2022_12_12_000001_create_aok_knowledge_base_categories_audit_table.php new file mode 100644 index 0000000..59668c0 --- /dev/null +++ b/database/migrations/2022_12_12_000001_create_aok_knowledge_base_categories_audit_table.php @@ -0,0 +1,42 @@ +comment(''); + $table->uuid('id')->primary(); + $table->uuid('parent_id')->index('idx_aok_knowledgebase_base_categories_parent_id'); + $table->uuid('modified_by_id')->nullable(); + $table->uuid('created_by_id')->nullable(); + $table->string('field_name', 100)->nullable(); + $table->string('data_type', 100)->nullable(); + $table->string('before_value_string')->nullable(); + $table->string('after_value_string')->nullable(); + $table->text('before_value_text')->nullable(); + $table->text('after_value_text')->nullable(); + $table->timestamps(); + $table->softDeletes(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('aok_knowledgebase_base_categories_audit'); + } +}; diff --git a/database/migrations/2022_12_12_033218_create_aok_knowledge_base_categories_table.php b/database/migrations/2022_12_12_000001_create_aok_knowledge_base_categories_table.php similarity index 83% rename from database/migrations/2022_12_12_033218_create_aok_knowledge_base_categories_table.php rename to database/migrations/2022_12_12_000001_create_aok_knowledge_base_categories_table.php index 29d267b..b542d45 100644 --- a/database/migrations/2022_12_12_033218_create_aok_knowledge_base_categories_table.php +++ b/database/migrations/2022_12_12_000001_create_aok_knowledge_base_categories_table.php @@ -13,7 +13,7 @@ */ public function up() { - Schema::create('aok_knowledge_base_categories', function (Blueprint $table) { + Schema::create('aok_knowledgebase_base_categories', function (Blueprint $table) { $table->comment(''); $table->uuid('id')->primary(); $table->string('name')->nullable(); @@ -33,6 +33,6 @@ public function up() */ public function down() { - Schema::dropIfExists('aok_knowledge_base_categories'); + Schema::dropIfExists('aok_knowledgebase_base_categories'); } }; diff --git a/database/migrations/2022_12_12_033218_create_aok_knowledgebase_audit_table.php b/database/migrations/2022_12_12_000001_create_aok_knowledgebase_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_aok_knowledgebase_audit_table.php rename to database/migrations/2022_12_12_000001_create_aok_knowledgebase_audit_table.php index 4bc4633..292fed1 100644 --- a/database/migrations/2022_12_12_033218_create_aok_knowledgebase_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aok_knowledgebase_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aok_knowledgebase_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_aok_knowledgebase_table.php b/database/migrations/2022_12_12_000001_create_aok_knowledgebase_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_aok_knowledgebase_table.php rename to database/migrations/2022_12_12_000001_create_aok_knowledgebase_table.php index 467ce14..bd05ef3 100644 --- a/database/migrations/2022_12_12_033218_create_aok_knowledgebase_table.php +++ b/database/migrations/2022_12_12_000001_create_aok_knowledgebase_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -25,7 +24,7 @@ public function up() $table->string('revision')->nullable(); $table->text('additional_info')->nullable(); $table->uuid('user_id_c')->nullable(); - $table->char('user_id1_c', 36)->nullable(); + $table->uuid('user_id1_c')->nullable(); $table->timestamps(); $table->softDeletes(); }); diff --git a/database/migrations/2022_12_12_033218_create_aop_case_events_audit_table.php b/database/migrations/2022_12_12_000001_create_aop_case_events_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_aop_case_events_audit_table.php rename to database/migrations/2022_12_12_000001_create_aop_case_events_audit_table.php index d850ef3..539ecd6 100644 --- a/database/migrations/2022_12_12_033218_create_aop_case_events_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aop_case_events_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aop_case_events_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_aop_case_updates_audit_table.php b/database/migrations/2022_12_12_000001_create_aop_case_updates_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_aop_case_updates_audit_table.php rename to database/migrations/2022_12_12_000001_create_aop_case_updates_audit_table.php index 24d1868..695539d 100644 --- a/database/migrations/2022_12_12_033218_create_aop_case_updates_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aop_case_updates_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aop_case_updates_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_aor_reports_audit_table.php b/database/migrations/2022_12_12_000001_create_aor_reports_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_aor_reports_audit_table.php rename to database/migrations/2022_12_12_000001_create_aor_reports_audit_table.php index 260e7b4..ef42168 100644 --- a/database/migrations/2022_12_12_033218_create_aor_reports_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aor_reports_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aor_reports_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_aor_reports_table.php b/database/migrations/2022_12_12_000001_create_aor_reports_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_aor_reports_table.php rename to database/migrations/2022_12_12_000001_create_aor_reports_table.php diff --git a/database/migrations/2022_12_12_033218_create_aos_contracts_audit_table.php b/database/migrations/2022_12_12_000001_create_aos_contracts_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_aos_contracts_audit_table.php rename to database/migrations/2022_12_12_000001_create_aos_contracts_audit_table.php index 6b877d3..db0a036 100644 --- a/database/migrations/2022_12_12_033218_create_aos_contracts_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aos_contracts_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aos_contracts_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_aos_invoices_audit_table.php b/database/migrations/2022_12_12_000001_create_aos_invoices_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_aos_invoices_audit_table.php rename to database/migrations/2022_12_12_000001_create_aos_invoices_audit_table.php index 544df5b..6f63fd2 100644 --- a/database/migrations/2022_12_12_033218_create_aos_invoices_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aos_invoices_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aos_invoices_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_aos_line_item_groups_audit_table.php b/database/migrations/2022_12_12_000001_create_aos_line_item_groups_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_aos_line_item_groups_audit_table.php rename to database/migrations/2022_12_12_000001_create_aos_line_item_groups_audit_table.php index 7429649..878ed9c 100644 --- a/database/migrations/2022_12_12_033218_create_aos_line_item_groups_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aos_line_item_groups_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aos_line_item_groups_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_aos_pdf_templates_audit_table.php b/database/migrations/2022_12_12_000001_create_aos_pdf_templates_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_aos_pdf_templates_audit_table.php rename to database/migrations/2022_12_12_000001_create_aos_pdf_templates_audit_table.php index b0c3726..f445bbf 100644 --- a/database/migrations/2022_12_12_033218_create_aos_pdf_templates_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aos_pdf_templates_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aos_pdf_templates_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_aos_pdf_templates_table.php b/database/migrations/2022_12_12_000001_create_aos_pdf_templates_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_aos_pdf_templates_table.php rename to database/migrations/2022_12_12_000001_create_aos_pdf_templates_table.php index 0f86b56..4389edb 100644 --- a/database/migrations/2022_12_12_033218_create_aos_pdf_templates_table.php +++ b/database/migrations/2022_12_12_000001_create_aos_pdf_templates_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aos_product_categories_audit_table.php b/database/migrations/2022_12_12_000001_create_aos_product_categories_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_aos_product_categories_audit_table.php rename to database/migrations/2022_12_12_000001_create_aos_product_categories_audit_table.php index d5772bb..3a6a9cc 100644 --- a/database/migrations/2022_12_12_033218_create_aos_product_categories_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aos_product_categories_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aos_product_categories_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_aos_product_categories_table.php b/database/migrations/2022_12_12_000001_create_aos_product_categories_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_aos_product_categories_table.php rename to database/migrations/2022_12_12_000001_create_aos_product_categories_table.php index 6d7b5b0..76b0357 100644 --- a/database/migrations/2022_12_12_033218_create_aos_product_categories_table.php +++ b/database/migrations/2022_12_12_000001_create_aos_product_categories_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aos_products_audit_table.php b/database/migrations/2022_12_12_000001_create_aos_products_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_aos_products_audit_table.php rename to database/migrations/2022_12_12_000001_create_aos_products_audit_table.php index 207424b..deea53d 100644 --- a/database/migrations/2022_12_12_033218_create_aos_products_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aos_products_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aos_products_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_aos_products_quotes_audit_table.php b/database/migrations/2022_12_12_000001_create_aos_products_quotes_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_aos_products_quotes_audit_table.php rename to database/migrations/2022_12_12_000001_create_aos_products_quotes_audit_table.php index 7d243cf..5ca7d90 100644 --- a/database/migrations/2022_12_12_033218_create_aos_products_quotes_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aos_products_quotes_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aos_products_quotes_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_aos_quotes_aos_invoices_c_table.php b/database/migrations/2022_12_12_000001_create_aos_quotes_aos_invoices_c_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_aos_quotes_aos_invoices_c_table.php rename to database/migrations/2022_12_12_000001_create_aos_quotes_aos_invoices_c_table.php diff --git a/database/migrations/2022_12_12_033218_create_aos_quotes_audit_table.php b/database/migrations/2022_12_12_000001_create_aos_quotes_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_aos_quotes_audit_table.php rename to database/migrations/2022_12_12_000001_create_aos_quotes_audit_table.php index 3d1d0f5..efe38cb 100644 --- a/database/migrations/2022_12_12_033218_create_aos_quotes_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aos_quotes_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aos_quotes_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_aos_quotes_os_contracts_c_table.php b/database/migrations/2022_12_12_000001_create_aos_quotes_os_contracts_c_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_aos_quotes_os_contracts_c_table.php rename to database/migrations/2022_12_12_000001_create_aos_quotes_os_contracts_c_table.php index 5c30b6c..4d78caa 100644 --- a/database/migrations/2022_12_12_033218_create_aos_quotes_os_contracts_c_table.php +++ b/database/migrations/2022_12_12_000001_create_aos_quotes_os_contracts_c_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aos_quotes_project_c_table.php b/database/migrations/2022_12_12_000001_create_aos_quotes_project_c_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_aos_quotes_project_c_table.php rename to database/migrations/2022_12_12_000001_create_aos_quotes_project_c_table.php index 3bb0f16..39ff700 100644 --- a/database/migrations/2022_12_12_033218_create_aos_quotes_project_c_table.php +++ b/database/migrations/2022_12_12_000001_create_aos_quotes_project_c_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aow_workflow_audit_table.php b/database/migrations/2022_12_12_000001_create_aow_workflow_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_aow_workflow_audit_table.php rename to database/migrations/2022_12_12_000001_create_aow_workflow_audit_table.php index bf66985..8f67d96 100644 --- a/database/migrations/2022_12_12_033218_create_aow_workflow_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_aow_workflow_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_aow_workflow_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_aow_workflow_table.php b/database/migrations/2022_12_12_000001_create_aow_workflow_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_aow_workflow_table.php rename to database/migrations/2022_12_12_000001_create_aow_workflow_table.php diff --git a/database/migrations/2022_12_12_033218_create_bugs_audit_table.php b/database/migrations/2022_12_12_000001_create_bugs_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_bugs_audit_table.php rename to database/migrations/2022_12_12_000001_create_bugs_audit_table.php index 41b3b5c..f0d6664 100644 --- a/database/migrations/2022_12_12_033218_create_bugs_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_bugs_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_bugs_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_bugs_table.php b/database/migrations/2022_12_12_000001_create_bugs_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_bugs_table.php rename to database/migrations/2022_12_12_000001_create_bugs_table.php index a670ce5..a2b1d73 100644 --- a/database/migrations/2022_12_12_033218_create_bugs_table.php +++ b/database/migrations/2022_12_12_000001_create_bugs_table.php @@ -21,7 +21,7 @@ public function up() $table->uuid('created_by_id')->nullable(); $table->text('description')->nullable(); $table->uuid('assigned_user_id')->nullable()->index('idx_bugs_assigned_user'); - $table->integer('bug_number', true)->index('bug_number'); + $table->integer('bug_number')->index('bug_number'); $table->string('type')->nullable(); $table->string('status', 100)->nullable(); $table->string('priority', 100)->nullable(); @@ -31,10 +31,10 @@ public function up() $table->string('fixed_in_release')->nullable(); $table->string('source')->nullable(); $table->string('product_category')->nullable(); - - $table->unique(['bug_number'], 'bugsnumk'); $table->timestamps(); $table->softDeletes(); + + $table->unique(['bug_number'], 'bugsnumk'); }); } diff --git a/database/migrations/2022_12_12_033218_create_calls_reschedule_audit_table.php b/database/migrations/2022_12_12_000001_create_calls_reschedule_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_calls_reschedule_audit_table.php rename to database/migrations/2022_12_12_000001_create_calls_reschedule_audit_table.php index e09ba76..254bbbc 100644 --- a/database/migrations/2022_12_12_033218_create_calls_reschedule_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_calls_reschedule_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_calls_reschedule_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_calls_table.php b/database/migrations/2022_12_12_000001_create_calls_table.php similarity index 88% rename from database/migrations/2022_12_12_033218_create_calls_table.php rename to database/migrations/2022_12_12_000001_create_calls_table.php index 5c491b6..f0161b6 100644 --- a/database/migrations/2022_12_12_033218_create_calls_table.php +++ b/database/migrations/2022_12_12_000001_create_calls_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -28,7 +27,7 @@ public function up() $table->string('parent_type')->nullable(); $table->string('status', 100)->nullable()->default('Planned')->index('idx_status'); $table->string('direction', 100)->nullable(); - $table->uuid('parent_id')->nullable(); + $table->uuid('parent_id')->nullable()->comment('opportunities, cases, leads, project, aos_contracts, prospects, bugs, project_task, accounts'); $table->integer('reminder_time')->nullable()->default(-1); $table->integer('email_reminder_time')->nullable()->default(-1); $table->boolean('email_reminder_sent')->nullable()->default(false); @@ -41,7 +40,7 @@ public function up() $table->uuid('repeat_parent_id')->nullable(); $table->uuid('recurring_source')->nullable(); - $table->index(['deleted', 'assigned_user_id'], 'idx_calls_assigned_del'); + $table->index(['deleted_at', 'assigned_user_id'], 'idx_calls_assigned_del'); $table->index(['parent_id', 'parent_type', 'deleted_at'], 'idx_calls_par_del'); $table->timestamps(); $table->softDeletes(); diff --git a/database/migrations/2022_12_12_033218_create_cases_audit_table.php b/database/migrations/2022_12_12_000001_create_cases_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_cases_audit_table.php rename to database/migrations/2022_12_12_000001_create_cases_audit_table.php index 76f3bc6..3b2417b 100644 --- a/database/migrations/2022_12_12_033218_create_cases_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_cases_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_cases_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_cases_cstm_table.php b/database/migrations/2022_12_12_000001_create_cases_cstm_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_cases_cstm_table.php rename to database/migrations/2022_12_12_000001_create_cases_cstm_table.php diff --git a/database/migrations/2022_12_12_033218_create_config_table.php b/database/migrations/2022_12_12_000001_create_config_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_config_table.php rename to database/migrations/2022_12_12_000001_create_config_table.php diff --git a/database/migrations/2022_12_12_033218_create_contacts_audit_table.php b/database/migrations/2022_12_12_000001_create_contacts_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_contacts_audit_table.php rename to database/migrations/2022_12_12_000001_create_contacts_audit_table.php index e2e8ec4..2c2f257 100644 --- a/database/migrations/2022_12_12_033218_create_contacts_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_contacts_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_contacts_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_contacts_cstm_table.php b/database/migrations/2022_12_12_000001_create_contacts_cstm_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_contacts_cstm_table.php rename to database/migrations/2022_12_12_000001_create_contacts_cstm_table.php index e5ee286..7997a39 100644 --- a/database/migrations/2022_12_12_033218_create_contacts_cstm_table.php +++ b/database/migrations/2022_12_12_000001_create_contacts_cstm_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_cron_remove_documents_table.php b/database/migrations/2022_12_12_000001_create_cron_remove_documents_table.php similarity index 89% rename from database/migrations/2022_12_12_033218_create_cron_remove_documents_table.php rename to database/migrations/2022_12_12_000001_create_cron_remove_documents_table.php index d28df7b..e89274a 100644 --- a/database/migrations/2022_12_12_033218_create_cron_remove_documents_table.php +++ b/database/migrations/2022_12_12_000001_create_cron_remove_documents_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -18,7 +17,7 @@ public function up() $table->uuid('id')->primary(); $table->uuid('bean_id')->nullable()->index('idx_cron_remove_document_bean_id'); $table->string('module', 25)->nullable(); - $table->dateTime('date_modified')->nullable()->index('idx_cron_remove_document_stamp'); + // $table->dateTime('updated_at')->nullable()->index('idx_cron_remove_document_stamp'); $table->timestamps(); $table->softDeletes(); }); diff --git a/database/migrations/2022_12_12_033218_create_currencies_table.php b/database/migrations/2022_12_12_000001_create_currencies_table.php similarity index 86% rename from database/migrations/2022_12_12_033218_create_currencies_table.php rename to database/migrations/2022_12_12_000001_create_currencies_table.php index 9d39124..35777a0 100644 --- a/database/migrations/2022_12_12_033218_create_currencies_table.php +++ b/database/migrations/2022_12_12_000001_create_currencies_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -21,8 +20,9 @@ public function up() $table->string('iso4217', 3)->nullable(); $table->double('conversion_rate')->nullable()->default(0); $table->string('status', 100)->nullable(); - - $table->uuid('created_by_id'); + + $table->uuid('modified_by_id')->nullable(); + $table->uuid('created_by_id')->nullable(); $table->index(['name', 'deleted_at'], 'idx_currency_name'); $table->timestamps(); diff --git a/database/migrations/2022_12_12_033218_create_documents_table.php b/database/migrations/2022_12_12_000001_create_documents_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_documents_table.php rename to database/migrations/2022_12_12_000001_create_documents_table.php diff --git a/database/migrations/2022_12_12_033218_create_eapm_table.php b/database/migrations/2022_12_12_000001_create_eapm_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_eapm_table.php rename to database/migrations/2022_12_12_000001_create_eapm_table.php index ac63aed..82ed488 100644 --- a/database/migrations/2022_12_12_033218_create_eapm_table.php +++ b/database/migrations/2022_12_12_000001_create_eapm_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_email_addr_bean_rel_table.php b/database/migrations/2022_12_12_000001_create_email_addr_bean_rel_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_email_addr_bean_rel_table.php rename to database/migrations/2022_12_12_000001_create_email_addr_bean_rel_table.php index e834320..d9664e6 100644 --- a/database/migrations/2022_12_12_033218_create_email_addr_bean_rel_table.php +++ b/database/migrations/2022_12_12_000001_create_email_addr_bean_rel_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_email_addresses_audit_table.php b/database/migrations/2022_12_12_000001_create_email_addresses_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_email_addresses_audit_table.php rename to database/migrations/2022_12_12_000001_create_email_addresses_audit_table.php index ca704f2..01b9277 100644 --- a/database/migrations/2022_12_12_033218_create_email_addresses_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_email_addresses_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_email_addresses_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_email_addresses_table.php b/database/migrations/2022_12_12_000001_create_email_addresses_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_email_addresses_table.php rename to database/migrations/2022_12_12_000001_create_email_addresses_table.php index 1fb60d2..4e7e2dd 100644 --- a/database/migrations/2022_12_12_033218_create_email_addresses_table.php +++ b/database/migrations/2022_12_12_000001_create_email_addresses_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_email_cache_table.php b/database/migrations/2022_12_12_000001_create_email_cache_table.php similarity index 94% rename from database/migrations/2022_12_12_033218_create_email_cache_table.php rename to database/migrations/2022_12_12_000001_create_email_cache_table.php index e08a19c..7f2442d 100644 --- a/database/migrations/2022_12_12_033218_create_email_cache_table.php +++ b/database/migrations/2022_12_12_000001_create_email_cache_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -28,7 +27,6 @@ public function up() $table->tinyInteger('recent')->nullable(); $table->tinyInteger('flagged')->nullable(); $table->tinyInteger('answered')->nullable(); - $table->tinyInteger('deleted')->nullable(); $table->tinyInteger('seen')->nullable(); $table->tinyInteger('draft')->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_email_templates_table.php b/database/migrations/2022_12_12_000001_create_email_templates_table.php similarity index 80% rename from database/migrations/2022_12_12_033218_create_email_templates_table.php rename to database/migrations/2022_12_12_000001_create_email_templates_table.php index bdae101..51384bd 100644 --- a/database/migrations/2022_12_12_033218_create_email_templates_table.php +++ b/database/migrations/2022_12_12_000001_create_email_templates_table.php @@ -17,13 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('modified_by_id')->nullable(); - $table->uuid('created_by_id')->nullable(); - $table->foreignUuid('created_by_id')->references('id')->on('users')->onUpdate('cascade')->onDelete('set null'); - - $table->uuid('modified_by_id')->nullable(); - $table->foreignUuid('modified_by_id')->references('id')->on('users')->onUpdate('cascade')->onDelete('set null'); - $table->string('published', 3)->nullable(); $table->string('name')->nullable()->index('idx_email_template_name'); $table->text('description')->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_emails_email_addr_rel_table.php b/database/migrations/2022_12_12_000001_create_emails_email_addr_rel_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_emails_email_addr_rel_table.php rename to database/migrations/2022_12_12_000001_create_emails_email_addr_rel_table.php index 7225759..5e3b2cf 100644 --- a/database/migrations/2022_12_12_033218_create_emails_email_addr_rel_table.php +++ b/database/migrations/2022_12_12_000001_create_emails_email_addr_rel_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_emails_table.php b/database/migrations/2022_12_12_000001_create_emails_table.php similarity index 98% rename from database/migrations/2022_12_12_033218_create_emails_table.php rename to database/migrations/2022_12_12_000001_create_emails_table.php index 2abce15..bc20c46 100644 --- a/database/migrations/2022_12_12_033218_create_emails_table.php +++ b/database/migrations/2022_12_12_000001_create_emails_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_emails_text_table.php b/database/migrations/2022_12_12_000001_create_emails_text_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_emails_text_table.php rename to database/migrations/2022_12_12_000001_create_emails_text_table.php index edc6173..0c28c78 100644 --- a/database/migrations/2022_12_12_033218_create_emails_text_table.php +++ b/database/migrations/2022_12_12_000001_create_emails_text_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_favorites_table.php b/database/migrations/2022_12_12_000001_create_favorites_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_favorites_table.php rename to database/migrations/2022_12_12_000001_create_favorites_table.php diff --git a/database/migrations/2022_12_12_033218_create_fields_meta_data_table.php b/database/migrations/2022_12_12_000001_create_fields_meta_data_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_fields_meta_data_table.php rename to database/migrations/2022_12_12_000001_create_fields_meta_data_table.php index f81565f..c617be3 100644 --- a/database/migrations/2022_12_12_033218_create_fields_meta_data_table.php +++ b/database/migrations/2022_12_12_000001_create_fields_meta_data_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_folders_rel_table.php b/database/migrations/2022_12_12_000001_create_folders_rel_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_folders_rel_table.php rename to database/migrations/2022_12_12_000001_create_folders_rel_table.php index 42febf6..b176a12 100644 --- a/database/migrations/2022_12_12_033218_create_folders_rel_table.php +++ b/database/migrations/2022_12_12_000001_create_folders_rel_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_folders_subscriptions_table.php b/database/migrations/2022_12_12_000001_create_folders_subscriptions_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_folders_subscriptions_table.php rename to database/migrations/2022_12_12_000001_create_folders_subscriptions_table.php index f25f1ad..ada06a6 100644 --- a/database/migrations/2022_12_12_033218_create_folders_subscriptions_table.php +++ b/database/migrations/2022_12_12_000001_create_folders_subscriptions_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_folders_table.php b/database/migrations/2022_12_12_000001_create_folders_table.php similarity index 86% rename from database/migrations/2022_12_12_033218_create_folders_table.php rename to database/migrations/2022_12_12_000001_create_folders_table.php index 4e4a084..2fbed0c 100644 --- a/database/migrations/2022_12_12_033218_create_folders_table.php +++ b/database/migrations/2022_12_12_000001_create_folders_table.php @@ -23,9 +23,9 @@ public function up() $table->boolean('is_group')->nullable()->default(false); $table->boolean('is_dynamic')->nullable()->default(false); $table->text('dynamic_query')->nullable(); - $table->uuid('assign_to_id')->nullable(); - $table->uuid('created_by_id'); - $table->uuid('modified_by'); + $table->uuid('assigned_user_id')->nullable(); + $table->uuid('modified_by_id')->nullable(); + $table->uuid('created_by_id')->nullable(); $table->timestamps(); $table->softDeletes(); }); diff --git a/database/migrations/2022_12_12_033218_create_fp_event_locations_audit_table.php b/database/migrations/2022_12_12_000001_create_fp_event_locations_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_fp_event_locations_audit_table.php rename to database/migrations/2022_12_12_000001_create_fp_event_locations_audit_table.php index 02f04fd..757b361 100644 --- a/database/migrations/2022_12_12_033218_create_fp_event_locations_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_fp_event_locations_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_fp_event_locations_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_fp_event_locations_fp_events_1_c_table.php b/database/migrations/2022_12_12_000001_create_fp_event_locations_fp_events_1_c_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_fp_event_locations_fp_events_1_c_table.php rename to database/migrations/2022_12_12_000001_create_fp_event_locations_fp_events_1_c_table.php index bd3f5af..b8cec63 100644 --- a/database/migrations/2022_12_12_033218_create_fp_event_locations_fp_events_1_c_table.php +++ b/database/migrations/2022_12_12_000001_create_fp_event_locations_fp_events_1_c_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_fp_event_locations_table.php b/database/migrations/2022_12_12_000001_create_fp_event_locations_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_fp_event_locations_table.php rename to database/migrations/2022_12_12_000001_create_fp_event_locations_table.php index bc4d829..233e0de 100644 --- a/database/migrations/2022_12_12_033218_create_fp_event_locations_table.php +++ b/database/migrations/2022_12_12_000001_create_fp_event_locations_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_fp_events_audit_table.php b/database/migrations/2022_12_12_000001_create_fp_events_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_fp_events_audit_table.php rename to database/migrations/2022_12_12_000001_create_fp_events_audit_table.php index 39dddc2..d3579da 100644 --- a/database/migrations/2022_12_12_033218_create_fp_events_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_fp_events_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_fp_events_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_fp_events_contacts_c_table.php b/database/migrations/2022_12_12_000001_create_fp_events_contacts_c_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_fp_events_contacts_c_table.php rename to database/migrations/2022_12_12_000001_create_fp_events_contacts_c_table.php diff --git a/database/migrations/2022_12_12_033218_create_fp_events_fp_event_delegates_1_c_table.php b/database/migrations/2022_12_12_000001_create_fp_events_fp_event_delegates_1_c_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_fp_events_fp_event_delegates_1_c_table.php rename to database/migrations/2022_12_12_000001_create_fp_events_fp_event_delegates_1_c_table.php diff --git a/database/migrations/2022_12_12_033218_create_fp_events_fp_event_locations_1_c_table.php b/database/migrations/2022_12_12_000001_create_fp_events_fp_event_locations_1_c_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_fp_events_fp_event_locations_1_c_table.php rename to database/migrations/2022_12_12_000001_create_fp_events_fp_event_locations_1_c_table.php index 9047fb5..847ad0a 100644 --- a/database/migrations/2022_12_12_033218_create_fp_events_fp_event_locations_1_c_table.php +++ b/database/migrations/2022_12_12_000001_create_fp_events_fp_event_locations_1_c_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_fp_events_leads_1_c_table.php b/database/migrations/2022_12_12_000001_create_fp_events_leads_1_c_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_fp_events_leads_1_c_table.php rename to database/migrations/2022_12_12_000001_create_fp_events_leads_1_c_table.php index c786d54..dc9969d 100644 --- a/database/migrations/2022_12_12_033218_create_fp_events_leads_1_c_table.php +++ b/database/migrations/2022_12_12_000001_create_fp_events_leads_1_c_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_fp_events_prospects_1_c_table.php b/database/migrations/2022_12_12_000001_create_fp_events_prospects_1_c_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_fp_events_prospects_1_c_table.php rename to database/migrations/2022_12_12_000001_create_fp_events_prospects_1_c_table.php index fbe1449..aea7608 100644 --- a/database/migrations/2022_12_12_033218_create_fp_events_prospects_1_c_table.php +++ b/database/migrations/2022_12_12_000001_create_fp_events_prospects_1_c_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_import_maps_table.php b/database/migrations/2022_12_12_000001_create_import_maps_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_import_maps_table.php rename to database/migrations/2022_12_12_000001_create_import_maps_table.php diff --git a/database/migrations/2022_12_12_033218_create_inbound_email_autoreply_table.php b/database/migrations/2022_12_12_000001_create_inbound_email_autoreply_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_inbound_email_autoreply_table.php rename to database/migrations/2022_12_12_000001_create_inbound_email_autoreply_table.php index b20143a..8aa6cb6 100644 --- a/database/migrations/2022_12_12_033218_create_inbound_email_autoreply_table.php +++ b/database/migrations/2022_12_12_000001_create_inbound_email_autoreply_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_inbound_email_cache_ts_table.php b/database/migrations/2022_12_12_000001_create_inbound_email_cache_ts_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_inbound_email_cache_ts_table.php rename to database/migrations/2022_12_12_000001_create_inbound_email_cache_ts_table.php index 2c564bf..37f4e67 100644 --- a/database/migrations/2022_12_12_033218_create_inbound_email_cache_ts_table.php +++ b/database/migrations/2022_12_12_000001_create_inbound_email_cache_ts_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_inbound_email_table.php b/database/migrations/2022_12_12_000001_create_inbound_email_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_inbound_email_table.php rename to database/migrations/2022_12_12_000001_create_inbound_email_table.php index 7f6708b..585d8af 100644 --- a/database/migrations/2022_12_12_033218_create_inbound_email_table.php +++ b/database/migrations/2022_12_12_000001_create_inbound_email_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_jjwg_address_cache_audit_table.php b/database/migrations/2022_12_12_000001_create_jjwg_address_cache_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_jjwg_address_cache_audit_table.php rename to database/migrations/2022_12_12_000001_create_jjwg_address_cache_audit_table.php index 895f5ce..eb77217 100644 --- a/database/migrations/2022_12_12_033218_create_jjwg_address_cache_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_jjwg_address_cache_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_jjwg_address_cache_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_jjwg_address_cache_table.php b/database/migrations/2022_12_12_000001_create_jjwg_address_cache_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_jjwg_address_cache_table.php rename to database/migrations/2022_12_12_000001_create_jjwg_address_cache_table.php index d5d225c..3f8b3f4 100644 --- a/database/migrations/2022_12_12_033218_create_jjwg_address_cache_table.php +++ b/database/migrations/2022_12_12_000001_create_jjwg_address_cache_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_jjwg_areas_audit_table.php b/database/migrations/2022_12_12_000001_create_jjwg_areas_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_jjwg_areas_audit_table.php rename to database/migrations/2022_12_12_000001_create_jjwg_areas_audit_table.php index fa27248..971aa12 100644 --- a/database/migrations/2022_12_12_033218_create_jjwg_areas_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_jjwg_areas_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_jjwg_areas_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_jjwg_areas_table.php b/database/migrations/2022_12_12_000001_create_jjwg_areas_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_jjwg_areas_table.php rename to database/migrations/2022_12_12_000001_create_jjwg_areas_table.php index b35c9bc..9966cb8 100644 --- a/database/migrations/2022_12_12_033218_create_jjwg_areas_table.php +++ b/database/migrations/2022_12_12_000001_create_jjwg_areas_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_jjwg_maps_audit_table.php b/database/migrations/2022_12_12_000001_create_jjwg_maps_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_jjwg_maps_audit_table.php rename to database/migrations/2022_12_12_000001_create_jjwg_maps_audit_table.php index e3a3978..bf8b3bf 100644 --- a/database/migrations/2022_12_12_033218_create_jjwg_maps_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_jjwg_maps_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_jjwg_maps_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_jjwg_maps_jjwg_areas_c_table.php b/database/migrations/2022_12_12_000001_create_jjwg_maps_jjwg_areas_c_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_jjwg_maps_jjwg_areas_c_table.php rename to database/migrations/2022_12_12_000001_create_jjwg_maps_jjwg_areas_c_table.php index dd235ea..0b392a3 100644 --- a/database/migrations/2022_12_12_033218_create_jjwg_maps_jjwg_areas_c_table.php +++ b/database/migrations/2022_12_12_000001_create_jjwg_maps_jjwg_areas_c_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_jjwg_maps_jjwg_markers_c_table.php b/database/migrations/2022_12_12_000001_create_jjwg_maps_jjwg_markers_c_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_jjwg_maps_jjwg_markers_c_table.php rename to database/migrations/2022_12_12_000001_create_jjwg_maps_jjwg_markers_c_table.php index 8c984e1..a192512 100644 --- a/database/migrations/2022_12_12_033218_create_jjwg_maps_jjwg_markers_c_table.php +++ b/database/migrations/2022_12_12_000001_create_jjwg_maps_jjwg_markers_c_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_jjwg_maps_table.php b/database/migrations/2022_12_12_000001_create_jjwg_maps_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_jjwg_maps_table.php rename to database/migrations/2022_12_12_000001_create_jjwg_maps_table.php index e5119ad..c06282b 100644 --- a/database/migrations/2022_12_12_033218_create_jjwg_maps_table.php +++ b/database/migrations/2022_12_12_000001_create_jjwg_maps_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_jjwg_markers_audit_table.php b/database/migrations/2022_12_12_000001_create_jjwg_markers_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_jjwg_markers_audit_table.php rename to database/migrations/2022_12_12_000001_create_jjwg_markers_audit_table.php index 8944abc..4c903d0 100644 --- a/database/migrations/2022_12_12_033218_create_jjwg_markers_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_jjwg_markers_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_jjwg_markers_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_jjwg_markers_table.php b/database/migrations/2022_12_12_000001_create_jjwg_markers_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_jjwg_markers_table.php rename to database/migrations/2022_12_12_000001_create_jjwg_markers_table.php index 862933f..d184694 100644 --- a/database/migrations/2022_12_12_033218_create_jjwg_markers_table.php +++ b/database/migrations/2022_12_12_000001_create_jjwg_markers_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_leads_audit_table.php b/database/migrations/2022_12_12_000001_create_leads_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_leads_audit_table.php rename to database/migrations/2022_12_12_000001_create_leads_audit_table.php index 55bd32f..5b5780c 100644 --- a/database/migrations/2022_12_12_033218_create_leads_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_leads_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_leads_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_leads_cstm_table.php b/database/migrations/2022_12_12_000001_create_leads_cstm_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_leads_cstm_table.php rename to database/migrations/2022_12_12_000001_create_leads_cstm_table.php index ff40954..6fc6dcb 100644 --- a/database/migrations/2022_12_12_033218_create_leads_cstm_table.php +++ b/database/migrations/2022_12_12_000001_create_leads_cstm_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_meetings_cstm_table.php b/database/migrations/2022_12_12_000001_create_meetings_cstm_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_meetings_cstm_table.php rename to database/migrations/2022_12_12_000001_create_meetings_cstm_table.php diff --git a/database/migrations/2022_12_12_033218_create_meetings_table.php b/database/migrations/2022_12_12_000001_create_meetings_table.php similarity index 98% rename from database/migrations/2022_12_12_033218_create_meetings_table.php rename to database/migrations/2022_12_12_000001_create_meetings_table.php index fc1c18a..579745c 100644 --- a/database/migrations/2022_12_12_033218_create_meetings_table.php +++ b/database/migrations/2022_12_12_000001_create_meetings_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_oauth2clients_table.php b/database/migrations/2022_12_12_000001_create_oauth2clients_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_oauth2clients_table.php rename to database/migrations/2022_12_12_000001_create_oauth2clients_table.php diff --git a/database/migrations/2022_12_12_033218_create_oauth_consumer_table.php b/database/migrations/2022_12_12_000001_create_oauth_consumer_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_oauth_consumer_table.php rename to database/migrations/2022_12_12_000001_create_oauth_consumer_table.php index 7acab44..f8a09fd 100644 --- a/database/migrations/2022_12_12_033218_create_oauth_consumer_table.php +++ b/database/migrations/2022_12_12_000001_create_oauth_consumer_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_oauth_nonce_table.php b/database/migrations/2022_12_12_000001_create_oauth_nonce_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_oauth_nonce_table.php rename to database/migrations/2022_12_12_000001_create_oauth_nonce_table.php diff --git a/database/migrations/2022_12_12_033218_create_oauth_tokens_table.php b/database/migrations/2022_12_12_000001_create_oauth_tokens_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_oauth_tokens_table.php rename to database/migrations/2022_12_12_000001_create_oauth_tokens_table.php index 21f489e..6ecc6b5 100644 --- a/database/migrations/2022_12_12_033218_create_oauth_tokens_table.php +++ b/database/migrations/2022_12_12_000001_create_oauth_tokens_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -21,7 +20,7 @@ public function up() $table->uuid('consumer')->index('constoken_key'); $table->bigInteger('token_ts')->nullable(); $table->string('verify', 32)->nullable(); - $table->boolean('deleted')->default(false); + // $table->boolean('deleted')->default(false); $table->string('callback_url')->nullable(); $table->uuid('assigned_user_id')->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_opportunities_audit_table.php b/database/migrations/2022_12_12_000001_create_opportunities_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_opportunities_audit_table.php rename to database/migrations/2022_12_12_000001_create_opportunities_audit_table.php index c681459..b6a1316 100644 --- a/database/migrations/2022_12_12_033218_create_opportunities_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_opportunities_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_opportunities_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_opportunities_cstm_table.php b/database/migrations/2022_12_12_000001_create_opportunities_cstm_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_opportunities_cstm_table.php rename to database/migrations/2022_12_12_000001_create_opportunities_cstm_table.php index de1dba1..1ef93e7 100644 --- a/database/migrations/2022_12_12_033218_create_opportunities_cstm_table.php +++ b/database/migrations/2022_12_12_000001_create_opportunities_cstm_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_outbound_email_audit_table.php b/database/migrations/2022_12_12_000001_create_outbound_email_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_outbound_email_audit_table.php rename to database/migrations/2022_12_12_000001_create_outbound_email_audit_table.php index 8bf8b0a..380937b 100644 --- a/database/migrations/2022_12_12_033218_create_outbound_email_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_outbound_email_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_outbound_email_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_outbound_email_table.php b/database/migrations/2022_12_12_000001_create_outbound_email_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_outbound_email_table.php rename to database/migrations/2022_12_12_000001_create_outbound_email_table.php index 157312f..11785c7 100644 --- a/database/migrations/2022_12_12_033218_create_outbound_email_table.php +++ b/database/migrations/2022_12_12_000001_create_outbound_email_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_project_contacts_1_c_table.php b/database/migrations/2022_12_12_000001_create_project_contacts_1_c_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_project_contacts_1_c_table.php rename to database/migrations/2022_12_12_000001_create_project_contacts_1_c_table.php diff --git a/database/migrations/2022_12_12_033218_create_project_cstm_table.php b/database/migrations/2022_12_12_000001_create_project_cstm_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_project_cstm_table.php rename to database/migrations/2022_12_12_000001_create_project_cstm_table.php index 7dd6e43..318b2ee 100644 --- a/database/migrations/2022_12_12_033218_create_project_cstm_table.php +++ b/database/migrations/2022_12_12_000001_create_project_cstm_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_project_table.php b/database/migrations/2022_12_12_000001_create_project_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_project_table.php rename to database/migrations/2022_12_12_000001_create_project_table.php diff --git a/database/migrations/2022_12_12_033218_create_project_task_audit_table.php b/database/migrations/2022_12_12_000001_create_project_task_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_project_task_audit_table.php rename to database/migrations/2022_12_12_000001_create_project_task_audit_table.php index 1ec10e7..01cf996 100644 --- a/database/migrations/2022_12_12_033218_create_project_task_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_project_task_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_project_task_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_project_task_table.php b/database/migrations/2022_12_12_000001_create_project_task_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_project_task_table.php rename to database/migrations/2022_12_12_000001_create_project_task_table.php index 7f46744..7db7d73 100644 --- a/database/migrations/2022_12_12_033218_create_project_task_table.php +++ b/database/migrations/2022_12_12_000001_create_project_task_table.php @@ -36,8 +36,8 @@ public function up() $table->integer('parent_task_id')->nullable(); $table->uuid('assigned_user_id')->nullable(); $table->uuid('modified_by_id')->nullable(); - $table->string('priority')->nullable(); $table->uuid('created_by_id')->nullable(); + $table->string('priority')->nullable(); $table->boolean('milestone_flag')->nullable(); $table->integer('order_number')->nullable()->default(1); $table->integer('task_number')->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_project_users_1_c_table.php b/database/migrations/2022_12_12_000001_create_project_users_1_c_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_project_users_1_c_table.php rename to database/migrations/2022_12_12_000001_create_project_users_1_c_table.php diff --git a/database/migrations/2022_12_12_033218_create_prospect_lists_table.php b/database/migrations/2022_12_12_000001_create_prospect_lists_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_prospect_lists_table.php rename to database/migrations/2022_12_12_000001_create_prospect_lists_table.php diff --git a/database/migrations/2022_12_12_033218_create_prospects_cstm_table.php b/database/migrations/2022_12_12_000001_create_prospects_cstm_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_prospects_cstm_table.php rename to database/migrations/2022_12_12_000001_create_prospects_cstm_table.php index b5ecaa5..bb14ceb 100644 --- a/database/migrations/2022_12_12_033218_create_prospects_cstm_table.php +++ b/database/migrations/2022_12_12_000001_create_prospects_cstm_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_relationships_table.php b/database/migrations/2022_12_12_000001_create_relationships_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_relationships_table.php rename to database/migrations/2022_12_12_000001_create_relationships_table.php index 9d1e5b7..f862f44 100644 --- a/database/migrations/2022_12_12_033218_create_relationships_table.php +++ b/database/migrations/2022_12_12_000001_create_relationships_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_releases_table.php b/database/migrations/2022_12_12_000001_create_releases_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_releases_table.php rename to database/migrations/2022_12_12_000001_create_releases_table.php index 0215cc4..f30b55f 100644 --- a/database/migrations/2022_12_12_033218_create_releases_table.php +++ b/database/migrations/2022_12_12_000001_create_releases_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -16,7 +15,7 @@ public function up() Schema::create('releases', function (Blueprint $table) { $table->comment(''); $table->uuid('id')->primary(); - + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('name', 50)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_reminders_table.php b/database/migrations/2022_12_12_000001_create_reminders_table.php similarity index 93% rename from database/migrations/2022_12_12_033218_create_reminders_table.php rename to database/migrations/2022_12_12_000001_create_reminders_table.php index 70e37a4..81dcd11 100644 --- a/database/migrations/2022_12_12_033218_create_reminders_table.php +++ b/database/migrations/2022_12_12_000001_create_reminders_table.php @@ -20,7 +20,7 @@ public function up() $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->text('description')->nullable(); - $table->boolean('deleted')->nullable()->default(false)->index('idx_reminder_deleted'); + // $table->boolean('deleted')->nullable()->default(false)->index('idx_reminder_deleted'); $table->uuid('assigned_user_id')->nullable(); $table->boolean('popup')->nullable(); $table->boolean('email')->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_roles_table.php b/database/migrations/2022_12_12_000001_create_roles_table.php similarity index 85% rename from database/migrations/2022_12_12_033218_create_roles_table.php rename to database/migrations/2022_12_12_000001_create_roles_table.php index 112131a..01763cd 100644 --- a/database/migrations/2022_12_12_033218_create_roles_table.php +++ b/database/migrations/2022_12_12_000001_create_roles_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -13,7 +12,7 @@ */ public function up() { - Schema::create('roles', function (Blueprint $table) { + Schema::create('crm_roles', function (Blueprint $table) { $table->comment(''); $table->uuid('id')->primary(); $table->uuid('modified_by_id')->nullable(); @@ -21,7 +20,6 @@ public function up() $table->string('name', 150)->nullable(); $table->text('description')->nullable(); $table->text('modules')->nullable(); - $table->index(['id', 'deleted_at'], 'idx_role_id_del'); $table->timestamps(); @@ -36,6 +34,6 @@ public function up() */ public function down() { - Schema::dropIfExists('roles'); + Schema::dropIfExists('crm_roles'); } }; diff --git a/database/migrations/2022_12_12_033218_create_roles_users_table.php b/database/migrations/2022_12_12_000001_create_roles_users_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_roles_users_table.php rename to database/migrations/2022_12_12_000001_create_roles_users_table.php index 91600b3..99cfb91 100644 --- a/database/migrations/2022_12_12_033218_create_roles_users_table.php +++ b/database/migrations/2022_12_12_000001_create_roles_users_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_saved_search_table.php b/database/migrations/2022_12_12_000001_create_saved_search_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_saved_search_table.php rename to database/migrations/2022_12_12_000001_create_saved_search_table.php diff --git a/database/migrations/2022_12_12_033218_create_schedulers_table.php b/database/migrations/2022_12_12_000001_create_schedulers_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_schedulers_table.php rename to database/migrations/2022_12_12_000001_create_schedulers_table.php index 98ced04..57d8d08 100644 --- a/database/migrations/2022_12_12_033218_create_schedulers_table.php +++ b/database/migrations/2022_12_12_000001_create_schedulers_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -16,8 +15,8 @@ public function up() Schema::create('schedulers', function (Blueprint $table) { $table->comment(''); $table->uuid('id')->primary(); - $table->uuid('created_by_id')->nullable(); $table->uuid('modified_by_id')->nullable(); + $table->uuid('created_by_id')->nullable(); $table->string('name')->nullable(); $table->string('job')->nullable(); $table->dateTime('date_time_start')->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_securitygroups_audit_table.php b/database/migrations/2022_12_12_000001_create_securitygroups_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_securitygroups_audit_table.php rename to database/migrations/2022_12_12_000001_create_securitygroups_audit_table.php index a529da0..015985b 100644 --- a/database/migrations/2022_12_12_033218_create_securitygroups_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_securitygroups_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_securitygroups_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_securitygroups_table.php b/database/migrations/2022_12_12_000001_create_securitygroups_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_securitygroups_table.php rename to database/migrations/2022_12_12_000001_create_securitygroups_table.php index 961c429..ca4bbca 100644 --- a/database/migrations/2022_12_12_033218_create_securitygroups_table.php +++ b/database/migrations/2022_12_12_000001_create_securitygroups_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_spots_table.php b/database/migrations/2022_12_12_000001_create_spots_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_spots_table.php rename to database/migrations/2022_12_12_000001_create_spots_table.php diff --git a/database/migrations/2022_12_12_033218_create_surveyquestionoptions_audit_table.php b/database/migrations/2022_12_12_000001_create_surveyquestionoptions_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_surveyquestionoptions_audit_table.php rename to database/migrations/2022_12_12_000001_create_surveyquestionoptions_audit_table.php index 46bcd66..f8d404b 100644 --- a/database/migrations/2022_12_12_033218_create_surveyquestionoptions_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_surveyquestionoptions_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_surveyquestionoptions_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_surveyquestionoptions_surveyquestionresponses_table.php b/database/migrations/2022_12_12_000001_create_surveyquestionoptions_surveyquestionresponses_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_surveyquestionoptions_surveyquestionresponses_table.php rename to database/migrations/2022_12_12_000001_create_surveyquestionoptions_surveyquestionresponses_table.php index 16e3123..5478b90 100644 --- a/database/migrations/2022_12_12_033218_create_surveyquestionoptions_surveyquestionresponses_table.php +++ b/database/migrations/2022_12_12_000001_create_surveyquestionoptions_surveyquestionresponses_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_surveyquestionresponses_audit_table.php b/database/migrations/2022_12_12_000001_create_surveyquestionresponses_audit_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_surveyquestionresponses_audit_table.php rename to database/migrations/2022_12_12_000001_create_surveyquestionresponses_audit_table.php index 99cecf9..3c2996c 100644 --- a/database/migrations/2022_12_12_033218_create_surveyquestionresponses_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_surveyquestionresponses_audit_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,6 +16,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_surveyquestionresponses_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_surveyquestions_audit_table.php b/database/migrations/2022_12_12_000001_create_surveyquestions_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_surveyquestions_audit_table.php rename to database/migrations/2022_12_12_000001_create_surveyquestions_audit_table.php index da0eec9..14f7068 100644 --- a/database/migrations/2022_12_12_033218_create_surveyquestions_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_surveyquestions_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_surveyquestions_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_surveyresponses_audit_table.php b/database/migrations/2022_12_12_000001_create_surveyresponses_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_surveyresponses_audit_table.php rename to database/migrations/2022_12_12_000001_create_surveyresponses_audit_table.php index ba73527..51e6a26 100644 --- a/database/migrations/2022_12_12_033218_create_surveyresponses_audit_table.php +++ b/database/migrations/2022_12_12_000001_create_surveyresponses_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_surveyresponses_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_surveys_table.php b/database/migrations/2022_12_12_000001_create_surveys_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_surveys_table.php rename to database/migrations/2022_12_12_000001_create_surveys_table.php index 4ddc91c..1139464 100644 --- a/database/migrations/2022_12_12_033218_create_surveys_table.php +++ b/database/migrations/2022_12_12_000001_create_surveys_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_templatesectionline_table.php b/database/migrations/2022_12_12_000001_create_templatesectionline_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_templatesectionline_table.php rename to database/migrations/2022_12_12_000001_create_templatesectionline_table.php diff --git a/database/migrations/2022_12_12_033218_create_upgrade_history_table.php b/database/migrations/2022_12_12_000001_create_upgrade_history_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_upgrade_history_table.php rename to database/migrations/2022_12_12_000001_create_upgrade_history_table.php index 508f2fd..ff6d42f 100644 --- a/database/migrations/2022_12_12_033218_create_upgrade_history_table.php +++ b/database/migrations/2022_12_12_000001_create_upgrade_history_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_user_preferences_table.php b/database/migrations/2022_12_12_000001_create_user_preferences_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_user_preferences_table.php rename to database/migrations/2022_12_12_000001_create_user_preferences_table.php index ff5df08..6160d6f 100644 --- a/database/migrations/2022_12_12_033218_create_user_preferences_table.php +++ b/database/migrations/2022_12_12_000001_create_user_preferences_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_users_password_link_table.php b/database/migrations/2022_12_12_000001_create_users_password_link_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_users_password_link_table.php rename to database/migrations/2022_12_12_000001_create_users_password_link_table.php diff --git a/database/migrations/2022_12_12_033218_create_users_signatures_table.php b/database/migrations/2022_12_12_000001_create_users_signatures_table.php similarity index 94% rename from database/migrations/2022_12_12_033218_create_users_signatures_table.php rename to database/migrations/2022_12_12_000001_create_users_signatures_table.php index f4d11d0..9bf1b9e 100644 --- a/database/migrations/2022_12_12_033218_create_users_signatures_table.php +++ b/database/migrations/2022_12_12_000001_create_users_signatures_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -16,7 +15,7 @@ public function up() Schema::create('users_signatures', function (Blueprint $table) { $table->comment(''); $table->uuid('id')->primary(); - + $table->uuid('user_id')->nullable()->index('idx_usersig_uid'); $table->string('name')->nullable(); $table->text('signature')->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_vcals_table.php b/database/migrations/2022_12_12_000001_create_vcals_table.php similarity index 94% rename from database/migrations/2022_12_12_033218_create_vcals_table.php rename to database/migrations/2022_12_12_000001_create_vcals_table.php index 59713ed..ada1f88 100644 --- a/database/migrations/2022_12_12_033218_create_vcals_table.php +++ b/database/migrations/2022_12_12_000001_create_vcals_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -16,7 +15,7 @@ public function up() Schema::create('vcals', function (Blueprint $table) { $table->comment(''); $table->uuid('id')->primary(); - + $table->uuid('user_id'); $table->string('type', 100)->nullable(); $table->string('source', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_acl_roles_actions_table.php b/database/migrations/2022_12_12_000002_create_acl_roles_actions_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_acl_roles_actions_table.php rename to database/migrations/2022_12_12_000002_create_acl_roles_actions_table.php index 91c7f6f..f959625 100644 --- a/database/migrations/2022_12_12_033218_create_acl_roles_actions_table.php +++ b/database/migrations/2022_12_12_000002_create_acl_roles_actions_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_acl_roles_users_table.php b/database/migrations/2022_12_12_000002_create_acl_roles_users_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_acl_roles_users_table.php rename to database/migrations/2022_12_12_000002_create_acl_roles_users_table.php diff --git a/database/migrations/2022_12_12_033218_create_alerts_table.php b/database/migrations/2022_12_12_000002_create_alerts_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_alerts_table.php rename to database/migrations/2022_12_12_000002_create_alerts_table.php index 65c06a6..abca1ec 100644 --- a/database/migrations/2022_12_12_033218_create_alerts_table.php +++ b/database/migrations/2022_12_12_000002_create_alerts_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aok_knowledgebase_categories_table.php b/database/migrations/2022_12_12_000002_create_aok_knowledgebase_categories_table.php similarity index 81% rename from database/migrations/2022_12_12_033218_create_aok_knowledgebase_categories_table.php rename to database/migrations/2022_12_12_000002_create_aok_knowledgebase_categories_table.php index da8228c..1113f30 100644 --- a/database/migrations/2022_12_12_033218_create_aok_knowledgebase_categories_table.php +++ b/database/migrations/2022_12_12_000002_create_aok_knowledgebase_categories_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -17,9 +16,9 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('aok_knowledgebase_id')->nullable(); - $table->uuid('aok_knowledge_base_categories_id')->nullable(); + $table->uuid('aok_knowledgebase_base_categories_id')->nullable(); - $table->index(['aok_knowledgebase_id', 'aok_knowledge_base_categories_id'], 'aok_knowledgebase_categories_alt'); + $table->index(['aok_knowledgebase_id', 'aok_knowledgebase_base_categories_id'], 'aok_knowledgebase_categories_alt'); $table->timestamps(); $table->softDeletes(); }); diff --git a/database/migrations/2022_12_12_033218_create_aop_case_events_table.php b/database/migrations/2022_12_12_000002_create_aop_case_events_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_aop_case_events_table.php rename to database/migrations/2022_12_12_000002_create_aop_case_events_table.php index 202e6db..c88f5a1 100644 --- a/database/migrations/2022_12_12_033218_create_aop_case_events_table.php +++ b/database/migrations/2022_12_12_000002_create_aop_case_events_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aor_charts_table.php b/database/migrations/2022_12_12_000002_create_aor_charts_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_aor_charts_table.php rename to database/migrations/2022_12_12_000002_create_aor_charts_table.php diff --git a/database/migrations/2022_12_12_033218_create_aor_conditions_table.php b/database/migrations/2022_12_12_000002_create_aor_conditions_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_aor_conditions_table.php rename to database/migrations/2022_12_12_000002_create_aor_conditions_table.php index 47a1494..488797d 100644 --- a/database/migrations/2022_12_12_033218_create_aor_conditions_table.php +++ b/database/migrations/2022_12_12_000002_create_aor_conditions_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aor_fields_table.php b/database/migrations/2022_12_12_000002_create_aor_fields_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_aor_fields_table.php rename to database/migrations/2022_12_12_000002_create_aor_fields_table.php diff --git a/database/migrations/2022_12_12_033218_create_aor_scheduled_reports_table.php b/database/migrations/2022_12_12_000002_create_aor_scheduled_reports_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_aor_scheduled_reports_table.php rename to database/migrations/2022_12_12_000002_create_aor_scheduled_reports_table.php diff --git a/database/migrations/2022_12_12_033218_create_aos_line_item_groups_table.php b/database/migrations/2022_12_12_000002_create_aos_line_item_groups_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_aos_line_item_groups_table.php rename to database/migrations/2022_12_12_000002_create_aos_line_item_groups_table.php diff --git a/database/migrations/2022_12_12_033218_create_aow_actions_table.php b/database/migrations/2022_12_12_000002_create_aow_actions_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_aow_actions_table.php rename to database/migrations/2022_12_12_000002_create_aow_actions_table.php index 850e922..a89f1ff 100644 --- a/database/migrations/2022_12_12_033218_create_aow_actions_table.php +++ b/database/migrations/2022_12_12_000002_create_aow_actions_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aow_conditions_table.php b/database/migrations/2022_12_12_000002_create_aow_conditions_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_aow_conditions_table.php rename to database/migrations/2022_12_12_000002_create_aow_conditions_table.php index 4221e68..a7e6e49 100644 --- a/database/migrations/2022_12_12_033218_create_aow_conditions_table.php +++ b/database/migrations/2022_12_12_000002_create_aow_conditions_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aow_processed_table.php b/database/migrations/2022_12_12_000002_create_aow_processed_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_aow_processed_table.php rename to database/migrations/2022_12_12_000002_create_aow_processed_table.php index d0a6e96..e95533f 100644 --- a/database/migrations/2022_12_12_033218_create_aow_processed_table.php +++ b/database/migrations/2022_12_12_000002_create_aow_processed_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_calls_reschedule_table.php b/database/migrations/2022_12_12_000002_create_calls_reschedule_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_calls_reschedule_table.php rename to database/migrations/2022_12_12_000002_create_calls_reschedule_table.php diff --git a/database/migrations/2022_12_12_033218_create_calls_users_table.php b/database/migrations/2022_12_12_000002_create_calls_users_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_calls_users_table.php rename to database/migrations/2022_12_12_000002_create_calls_users_table.php diff --git a/database/migrations/2022_12_12_033218_create_campaigns_table.php b/database/migrations/2022_12_12_000002_create_campaigns_table.php similarity index 93% rename from database/migrations/2022_12_12_033218_create_campaigns_table.php rename to database/migrations/2022_12_12_000002_create_campaigns_table.php index 6a49182..3e0e22f 100644 --- a/database/migrations/2022_12_12_033218_create_campaigns_table.php +++ b/database/migrations/2022_12_12_000002_create_campaigns_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -20,7 +19,7 @@ public function up() $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->uuid('assigned_user_id')->nullable(); - $table->integer('tracker_key', true)->index('camp_auto_tracker_key'); + $table->integer('tracker_key')->index('camp_auto_tracker_key'); $table->integer('tracker_count')->nullable()->default(0); $table->string('refer_url')->nullable()->default('http://'); $table->string('tracker_text')->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_document_revisions_table.php b/database/migrations/2022_12_12_000002_create_document_revisions_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_document_revisions_table.php rename to database/migrations/2022_12_12_000002_create_document_revisions_table.php index 983a8ce..cf1fe6d 100644 --- a/database/migrations/2022_12_12_033218_create_document_revisions_table.php +++ b/database/migrations/2022_12_12_000002_create_document_revisions_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -21,6 +20,7 @@ public function up() $table->string('doc_id', 100)->nullable(); $table->string('doc_type', 100)->nullable(); $table->string('doc_url')->nullable(); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('filename')->nullable(); $table->string('file_ext', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_fp_events_table.php b/database/migrations/2022_12_12_000002_create_fp_events_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_fp_events_table.php rename to database/migrations/2022_12_12_000002_create_fp_events_table.php diff --git a/database/migrations/2022_12_12_033218_create_job_queue_table.php b/database/migrations/2022_12_12_000002_create_job_queue_table.php similarity index 84% rename from database/migrations/2022_12_12_033218_create_job_queue_table.php rename to database/migrations/2022_12_12_000002_create_job_queue_table.php index f9b44a5..76cbd23 100644 --- a/database/migrations/2022_12_12_033218_create_job_queue_table.php +++ b/database/migrations/2022_12_12_000002_create_job_queue_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -32,10 +31,10 @@ public function up() $table->string('client')->nullable(); $table->integer('percent_complete')->nullable(); - $table->index(['status', 'date_entered'], 'idx_status_entered'); - $table->index(['status', 'date_modified'], 'idx_status_modified'); + $table->index(['status', 'created_at'], 'idx_status_entered'); + $table->index(['status', 'updated_at'], 'idx_status_modified'); $table->index(['status', 'scheduler_id'], 'idx_status_scheduler'); - $table->index(['status', 'execute_time', 'date_entered'], 'idx_status_time'); + $table->index(['status', 'execute_time', 'created_at'], 'idx_status_time'); $table->timestamps(); $table->softDeletes(); }); diff --git a/database/migrations/2022_12_12_033218_create_meetings_users_table.php b/database/migrations/2022_12_12_000002_create_meetings_users_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_meetings_users_table.php rename to database/migrations/2022_12_12_000002_create_meetings_users_table.php diff --git a/database/migrations/2022_12_12_033218_create_oauth2tokens_table.php b/database/migrations/2022_12_12_000002_create_oauth2tokens_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_oauth2tokens_table.php rename to database/migrations/2022_12_12_000002_create_oauth2tokens_table.php index 6aaf7e1..25076ad 100644 --- a/database/migrations/2022_12_12_033218_create_oauth2tokens_table.php +++ b/database/migrations/2022_12_12_000002_create_oauth2tokens_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_projects_bugs_table.php b/database/migrations/2022_12_12_000002_create_projects_bugs_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_projects_bugs_table.php rename to database/migrations/2022_12_12_000002_create_projects_bugs_table.php index 21354a6..594c8ed 100644 --- a/database/migrations/2022_12_12_033218_create_projects_bugs_table.php +++ b/database/migrations/2022_12_12_000002_create_projects_bugs_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_reminders_invitees_table.php b/database/migrations/2022_12_12_000002_create_reminders_invitees_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_reminders_invitees_table.php rename to database/migrations/2022_12_12_000002_create_reminders_invitees_table.php diff --git a/database/migrations/2022_12_12_033218_create_roles_modules_table.php b/database/migrations/2022_12_12_000002_create_roles_modules_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_roles_modules_table.php rename to database/migrations/2022_12_12_000002_create_roles_modules_table.php index b5d267f..1d7f47a 100644 --- a/database/migrations/2022_12_12_033218_create_roles_modules_table.php +++ b/database/migrations/2022_12_12_000002_create_roles_modules_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_securitygroups_acl_roles_table.php b/database/migrations/2022_12_12_000002_create_securitygroups_acl_roles_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_securitygroups_acl_roles_table.php rename to database/migrations/2022_12_12_000002_create_securitygroups_acl_roles_table.php index f79836d..0f0145a 100644 --- a/database/migrations/2022_12_12_033218_create_securitygroups_acl_roles_table.php +++ b/database/migrations/2022_12_12_000002_create_securitygroups_acl_roles_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_securitygroups_default_table.php b/database/migrations/2022_12_12_000002_create_securitygroups_default_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_securitygroups_default_table.php rename to database/migrations/2022_12_12_000002_create_securitygroups_default_table.php diff --git a/database/migrations/2022_12_12_033218_create_securitygroups_users_table.php b/database/migrations/2022_12_12_000002_create_securitygroups_users_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_securitygroups_users_table.php rename to database/migrations/2022_12_12_000002_create_securitygroups_users_table.php diff --git a/database/migrations/2022_12_12_033218_create_surveyquestions_table.php b/database/migrations/2022_12_12_000002_create_surveyquestions_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_surveyquestions_table.php rename to database/migrations/2022_12_12_000002_create_surveyquestions_table.php index f99d015..6e99882 100644 --- a/database/migrations/2022_12_12_033218_create_surveyquestions_table.php +++ b/database/migrations/2022_12_12_000002_create_surveyquestions_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_surveys_audit_table.php b/database/migrations/2022_12_12_000002_create_surveys_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_surveys_audit_table.php rename to database/migrations/2022_12_12_000002_create_surveys_audit_table.php index d33aca4..bb9d448 100644 --- a/database/migrations/2022_12_12_033218_create_surveys_audit_table.php +++ b/database/migrations/2022_12_12_000002_create_surveys_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_surveys_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_accounts_table.php b/database/migrations/2022_12_12_000003_create_accounts_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_accounts_table.php rename to database/migrations/2022_12_12_000003_create_accounts_table.php index a570f15..3dc8c63 100644 --- a/database/migrations/2022_12_12_033218_create_accounts_table.php +++ b/database/migrations/2022_12_12_000003_create_accounts_table.php @@ -45,12 +45,12 @@ public function up() $table->uuid('parent_id')->nullable()->index('idx_accnt_parent_id'); $table->string('sic_code', 10)->nullable(); $table->uuid('campaign_id')->nullable(); + $table->timestamps(); + $table->softDeletes(); $table->index(['deleted_at', 'assigned_user_id'], 'idx_accnt_assigned_del'); $table->index(['id', 'deleted_at'], 'idx_accnt_id_del'); $table->index(['name', 'deleted_at'], 'idx_accnt_name_del'); - $table->timestamps(); - $table->softDeletes(); }); } diff --git a/database/migrations/2022_12_12_033218_create_aow_processed_aow_actions_table.php b/database/migrations/2022_12_12_000003_create_aow_processed_aow_actions_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_aow_processed_aow_actions_table.php rename to database/migrations/2022_12_12_000003_create_aow_processed_aow_actions_table.php index 304c1be..2665a9e 100644 --- a/database/migrations/2022_12_12_033218_create_aow_processed_aow_actions_table.php +++ b/database/migrations/2022_12_12_000003_create_aow_processed_aow_actions_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_campaign_trkrs_table.php b/database/migrations/2022_12_12_000003_create_campaign_trkrs_table.php similarity index 89% rename from database/migrations/2022_12_12_033218_create_campaign_trkrs_table.php rename to database/migrations/2022_12_12_000003_create_campaign_trkrs_table.php index 91d10e7..cd088a9 100644 --- a/database/migrations/2022_12_12_033218_create_campaign_trkrs_table.php +++ b/database/migrations/2022_12_12_000003_create_campaign_trkrs_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -18,7 +17,7 @@ public function up() $table->uuid('id')->primary(); $table->string('tracker_name')->nullable(); $table->string('tracker_url')->nullable()->default('http://'); - $table->integer('tracker_key', true)->index('campaign_tracker_key_idx'); + $table->integer('tracker_key')->index('campaign_tracker_key_idx'); $table->uuid('campaign_id')->nullable(); $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_campaigns_audit_table.php b/database/migrations/2022_12_12_000003_create_campaigns_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_campaigns_audit_table.php rename to database/migrations/2022_12_12_000003_create_campaigns_audit_table.php index 9936baf..ecaf20b 100644 --- a/database/migrations/2022_12_12_033218_create_campaigns_audit_table.php +++ b/database/migrations/2022_12_12_000003_create_campaigns_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_campaigns_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_contacts_table.php b/database/migrations/2022_12_12_000003_create_contacts_table.php similarity index 91% rename from database/migrations/2022_12_12_033218_create_contacts_table.php rename to database/migrations/2022_12_12_000003_create_contacts_table.php index d367c4f..56269dd 100644 --- a/database/migrations/2022_12_12_033218_create_contacts_table.php +++ b/database/migrations/2022_12_12_000003_create_contacts_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -55,10 +54,10 @@ public function up() $table->boolean('portal_account_disabled')->nullable(); $table->string('portal_user_type', 100)->nullable()->default('Single'); - $table->index(['deleted', 'reports_to_id', 'last_name'], 'idx_cont_del_reports'); + $table->index(['deleted_at', 'reports_to_id', 'last_name'], 'idx_cont_del_reports'); $table->index(['last_name', 'first_name', 'deleted_at'], 'idx_cont_last_first'); - $table->index(['deleted', 'last_name'], 'idx_contacts_del_last'); - $table->index(['deleted', 'id', 'assigned_user_id'], 'idx_del_id_user'); + $table->index(['deleted_at', 'last_name'], 'idx_contacts_del_last'); + $table->index(['deleted_at', 'id', 'assigned_user_id'], 'idx_del_id_user'); $table->timestamps(); $table->softDeletes(); }); diff --git a/database/migrations/2022_12_12_033218_create_email_marketing_table.php b/database/migrations/2022_12_12_000003_create_email_marketing_table.php similarity index 92% rename from database/migrations/2022_12_12_033218_create_email_marketing_table.php rename to database/migrations/2022_12_12_000003_create_email_marketing_table.php index 569cd94..48554a6 100644 --- a/database/migrations/2022_12_12_033218_create_email_marketing_table.php +++ b/database/migrations/2022_12_12_000003_create_email_marketing_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -16,7 +15,7 @@ public function up() Schema::create('email_marketing', function (Blueprint $table) { $table->comment(''); $table->uuid('id')->primary(); - $table->boolean('deleted')->nullable()->index('idx_emmkit_del'); + // $table->boolean('deleted')->nullable()->index('idx_emmkit_del'); $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('name')->nullable()->index('idx_emmkt_name'); diff --git a/database/migrations/2022_12_12_033218_create_linked_documents_table.php b/database/migrations/2022_12_12_000003_create_linked_documents_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_linked_documents_table.php rename to database/migrations/2022_12_12_000003_create_linked_documents_table.php diff --git a/database/migrations/2022_12_12_033218_create_opportunities_table.php b/database/migrations/2022_12_12_000003_create_opportunities_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_opportunities_table.php rename to database/migrations/2022_12_12_000003_create_opportunities_table.php index bf19110..0005a83 100644 --- a/database/migrations/2022_12_12_033218_create_opportunities_table.php +++ b/database/migrations/2022_12_12_000003_create_opportunities_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_prospect_list_campaigns_table.php b/database/migrations/2022_12_12_000003_create_prospect_list_campaigns_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_prospect_list_campaigns_table.php rename to database/migrations/2022_12_12_000003_create_prospect_list_campaigns_table.php index b7d37db..2561341 100644 --- a/database/migrations/2022_12_12_033218_create_prospect_list_campaigns_table.php +++ b/database/migrations/2022_12_12_000003_create_prospect_list_campaigns_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_surveyquestionoptions_table.php b/database/migrations/2022_12_12_000003_create_surveyquestionoptions_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_surveyquestionoptions_table.php rename to database/migrations/2022_12_12_000003_create_surveyquestionoptions_table.php index 8401753..031d6bc 100644 --- a/database/migrations/2022_12_12_033218_create_surveyquestionoptions_table.php +++ b/database/migrations/2022_12_12_000003_create_surveyquestionoptions_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_accounts_audit_table.php b/database/migrations/2022_12_12_000004_create_accounts_audit_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_accounts_audit_table.php rename to database/migrations/2022_12_12_000004_create_accounts_audit_table.php index 1763bc8..05c7cd3 100644 --- a/database/migrations/2022_12_12_033218_create_accounts_audit_table.php +++ b/database/migrations/2022_12_12_000004_create_accounts_audit_table.php @@ -17,6 +17,7 @@ public function up() $table->comment(''); $table->uuid('id')->primary(); $table->uuid('parent_id')->index('idx_accounts_parent_id'); + $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); $table->string('field_name', 100)->nullable(); $table->string('data_type', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_accounts_bugs_table.php b/database/migrations/2022_12_12_000004_create_accounts_bugs_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_accounts_bugs_table.php rename to database/migrations/2022_12_12_000004_create_accounts_bugs_table.php index aa70f2a..959b827 100644 --- a/database/migrations/2022_12_12_033218_create_accounts_bugs_table.php +++ b/database/migrations/2022_12_12_000004_create_accounts_bugs_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_accounts_contacts_table.php b/database/migrations/2022_12_12_000004_create_accounts_contacts_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_accounts_contacts_table.php rename to database/migrations/2022_12_12_000004_create_accounts_contacts_table.php index 6867114..6fd09d8 100644 --- a/database/migrations/2022_12_12_033218_create_accounts_contacts_table.php +++ b/database/migrations/2022_12_12_000004_create_accounts_contacts_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_accounts_opportunities_table.php b/database/migrations/2022_12_12_000004_create_accounts_opportunities_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_accounts_opportunities_table.php rename to database/migrations/2022_12_12_000004_create_accounts_opportunities_table.php diff --git a/database/migrations/2022_12_12_033218_create_aop_case_updates_table.php b/database/migrations/2022_12_12_000004_create_aop_case_updates_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_aop_case_updates_table.php rename to database/migrations/2022_12_12_000004_create_aop_case_updates_table.php index 97a04b5..c7a6fc7 100644 --- a/database/migrations/2022_12_12_033218_create_aop_case_updates_table.php +++ b/database/migrations/2022_12_12_000004_create_aop_case_updates_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aos_contracts_table.php b/database/migrations/2022_12_12_000004_create_aos_contracts_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_aos_contracts_table.php rename to database/migrations/2022_12_12_000004_create_aos_contracts_table.php diff --git a/database/migrations/2022_12_12_033218_create_aos_invoices_table.php b/database/migrations/2022_12_12_000004_create_aos_invoices_table.php similarity index 98% rename from database/migrations/2022_12_12_033218_create_aos_invoices_table.php rename to database/migrations/2022_12_12_000004_create_aos_invoices_table.php index 8fe16eb..86d5f3d 100644 --- a/database/migrations/2022_12_12_033218_create_aos_invoices_table.php +++ b/database/migrations/2022_12_12_000004_create_aos_invoices_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aos_products_table.php b/database/migrations/2022_12_12_000004_create_aos_products_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_aos_products_table.php rename to database/migrations/2022_12_12_000004_create_aos_products_table.php index 9b5a665..e4309bb 100644 --- a/database/migrations/2022_12_12_033218_create_aos_products_table.php +++ b/database/migrations/2022_12_12_000004_create_aos_products_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aos_quotes_table.php b/database/migrations/2022_12_12_000004_create_aos_quotes_table.php similarity index 98% rename from database/migrations/2022_12_12_033218_create_aos_quotes_table.php rename to database/migrations/2022_12_12_000004_create_aos_quotes_table.php index df5aa2b..4d218d7 100644 --- a/database/migrations/2022_12_12_033218_create_aos_quotes_table.php +++ b/database/migrations/2022_12_12_000004_create_aos_quotes_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_calls_contacts_table.php b/database/migrations/2022_12_12_000004_create_calls_contacts_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_calls_contacts_table.php rename to database/migrations/2022_12_12_000004_create_calls_contacts_table.php diff --git a/database/migrations/2022_12_12_033218_create_cases_table.php b/database/migrations/2022_12_12_000004_create_cases_table.php similarity index 93% rename from database/migrations/2022_12_12_033218_create_cases_table.php rename to database/migrations/2022_12_12_000004_create_cases_table.php index ad8ad6d..97544d3 100644 --- a/database/migrations/2022_12_12_033218_create_cases_table.php +++ b/database/migrations/2022_12_12_000004_create_cases_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -21,7 +20,7 @@ public function up() $table->uuid('created_by_id')->nullable(); $table->text('description')->nullable(); $table->uuid('assigned_user_id')->nullable(); - $table->integer('case_number', true)->index('case_number'); + $table->integer('case_number')->index('case_number'); $table->string('type')->nullable(); $table->string('status', 100)->nullable(); $table->string('priority', 100)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_contacts_bugs_table.php b/database/migrations/2022_12_12_000004_create_contacts_bugs_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_contacts_bugs_table.php rename to database/migrations/2022_12_12_000004_create_contacts_bugs_table.php diff --git a/database/migrations/2022_12_12_033218_create_contacts_users_table.php b/database/migrations/2022_12_12_000004_create_contacts_users_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_contacts_users_table.php rename to database/migrations/2022_12_12_000004_create_contacts_users_table.php index 574f430..fd06185 100644 --- a/database/migrations/2022_12_12_033218_create_contacts_users_table.php +++ b/database/migrations/2022_12_12_000004_create_contacts_users_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_documents_accounts_table.php b/database/migrations/2022_12_12_000004_create_documents_accounts_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_documents_accounts_table.php rename to database/migrations/2022_12_12_000004_create_documents_accounts_table.php diff --git a/database/migrations/2022_12_12_033218_create_documents_bugs_table.php b/database/migrations/2022_12_12_000004_create_documents_bugs_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_documents_bugs_table.php rename to database/migrations/2022_12_12_000004_create_documents_bugs_table.php index b3a92f4..ca74aa3 100644 --- a/database/migrations/2022_12_12_033218_create_documents_bugs_table.php +++ b/database/migrations/2022_12_12_000004_create_documents_bugs_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_documents_contacts_table.php b/database/migrations/2022_12_12_000004_create_documents_contacts_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_documents_contacts_table.php rename to database/migrations/2022_12_12_000004_create_documents_contacts_table.php diff --git a/database/migrations/2022_12_12_033218_create_documents_opportunities_table.php b/database/migrations/2022_12_12_000004_create_documents_opportunities_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_documents_opportunities_table.php rename to database/migrations/2022_12_12_000004_create_documents_opportunities_table.php index 929f0ce..3a13c55 100644 --- a/database/migrations/2022_12_12_033218_create_documents_opportunities_table.php +++ b/database/migrations/2022_12_12_000004_create_documents_opportunities_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_email_marketing_prospect_lists_table.php b/database/migrations/2022_12_12_000004_create_email_marketing_prospect_lists_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_email_marketing_prospect_lists_table.php rename to database/migrations/2022_12_12_000004_create_email_marketing_prospect_lists_table.php diff --git a/database/migrations/2022_12_12_033218_create_leads_table.php b/database/migrations/2022_12_12_000004_create_leads_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_leads_table.php rename to database/migrations/2022_12_12_000004_create_leads_table.php index cb505ef..3ddb8ca 100644 --- a/database/migrations/2022_12_12_033218_create_leads_table.php +++ b/database/migrations/2022_12_12_000004_create_leads_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -71,7 +70,7 @@ public function up() $table->index(['last_name', 'status', 'deleted_at', 'first_name'], 'idx_lead_del_stat'); $table->index(['id', 'deleted_at'], 'idx_leads_id_del'); $table->index(['last_name', 'first_name', 'deleted_at'], 'idx_lead_last_first'); - $table->index(['deleted', 'assigned_user_id'], 'idx_del_user'); + $table->index(['deleted_at', 'assigned_user_id'], 'idx_del_user'); $table->index(['account_id', 'deleted_at'], 'idx_leads_acct_del'); $table->index(['opportunity_id', 'deleted_at'], 'idx_lead_opp_del'); $table->timestamps(); diff --git a/database/migrations/2022_12_12_033218_create_meetings_contacts_table.php b/database/migrations/2022_12_12_000004_create_meetings_contacts_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_meetings_contacts_table.php rename to database/migrations/2022_12_12_000004_create_meetings_contacts_table.php diff --git a/database/migrations/2022_12_12_033218_create_notes_table.php b/database/migrations/2022_12_12_000004_create_notes_table.php similarity index 91% rename from database/migrations/2022_12_12_033218_create_notes_table.php rename to database/migrations/2022_12_12_000004_create_notes_table.php index 05c48db..9ad4cf3 100644 --- a/database/migrations/2022_12_12_033218_create_notes_table.php +++ b/database/migrations/2022_12_12_000004_create_notes_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -29,7 +28,7 @@ public function up() $table->boolean('embed_flag')->nullable()->default(false); $table->text('description')->nullable(); - $table->index(['deleted', 'assigned_user_id'], 'idx_notes_assigned_del'); + $table->index(['deleted_at', 'assigned_user_id'], 'idx_notes_assigned_del'); $table->index(['parent_id', 'parent_type'], 'idx_notes_parent'); $table->timestamps(); $table->softDeletes(); diff --git a/database/migrations/2022_12_12_033218_create_opportunities_contacts_table.php b/database/migrations/2022_12_12_000004_create_opportunities_contacts_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_opportunities_contacts_table.php rename to database/migrations/2022_12_12_000004_create_opportunities_contacts_table.php index b78e4e3..16574c0 100644 --- a/database/migrations/2022_12_12_033218_create_opportunities_contacts_table.php +++ b/database/migrations/2022_12_12_000004_create_opportunities_contacts_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_projects_accounts_table.php b/database/migrations/2022_12_12_000004_create_projects_accounts_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_projects_accounts_table.php rename to database/migrations/2022_12_12_000004_create_projects_accounts_table.php diff --git a/database/migrations/2022_12_12_033218_create_projects_contacts_table.php b/database/migrations/2022_12_12_000004_create_projects_contacts_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_projects_contacts_table.php rename to database/migrations/2022_12_12_000004_create_projects_contacts_table.php index 45f59f1..6d38936 100644 --- a/database/migrations/2022_12_12_033218_create_projects_contacts_table.php +++ b/database/migrations/2022_12_12_000004_create_projects_contacts_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_projects_opportunities_table.php b/database/migrations/2022_12_12_000004_create_projects_opportunities_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_projects_opportunities_table.php rename to database/migrations/2022_12_12_000004_create_projects_opportunities_table.php diff --git a/database/migrations/2022_12_12_033218_create_surveyresponses_table.php b/database/migrations/2022_12_12_000004_create_surveyresponses_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_surveyresponses_table.php rename to database/migrations/2022_12_12_000004_create_surveyresponses_table.php index c524dfe..9eee0e4 100644 --- a/database/migrations/2022_12_12_033218_create_surveyresponses_table.php +++ b/database/migrations/2022_12_12_000004_create_surveyresponses_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_tasks_table.php b/database/migrations/2022_12_12_000004_create_tasks_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_tasks_table.php rename to database/migrations/2022_12_12_000004_create_tasks_table.php diff --git a/database/migrations/2022_12_12_033218_create_accounts_cases_table.php b/database/migrations/2022_12_12_000005_create_accounts_cases_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_accounts_cases_table.php rename to database/migrations/2022_12_12_000005_create_accounts_cases_table.php index e7eaaad..ea23476 100644 --- a/database/migrations/2022_12_12_033218_create_accounts_cases_table.php +++ b/database/migrations/2022_12_12_000005_create_accounts_cases_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aos_contracts_documents_table.php b/database/migrations/2022_12_12_000005_create_aos_contracts_documents_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_aos_contracts_documents_table.php rename to database/migrations/2022_12_12_000005_create_aos_contracts_documents_table.php index f3357cb..e9fb0b2 100644 --- a/database/migrations/2022_12_12_033218_create_aos_contracts_documents_table.php +++ b/database/migrations/2022_12_12_000005_create_aos_contracts_documents_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aos_products_quotes_table.php b/database/migrations/2022_12_12_000005_create_aos_products_quotes_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_aos_products_quotes_table.php rename to database/migrations/2022_12_12_000005_create_aos_products_quotes_table.php diff --git a/database/migrations/2022_12_12_033218_create_calls_leads_table.php b/database/migrations/2022_12_12_000005_create_calls_leads_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_calls_leads_table.php rename to database/migrations/2022_12_12_000005_create_calls_leads_table.php index 6a808be..5b55d7b 100644 --- a/database/migrations/2022_12_12_033218_create_calls_leads_table.php +++ b/database/migrations/2022_12_12_000005_create_calls_leads_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_cases_bugs_table.php b/database/migrations/2022_12_12_000005_create_cases_bugs_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_cases_bugs_table.php rename to database/migrations/2022_12_12_000005_create_cases_bugs_table.php index 5a13ad9..5c2d8a5 100644 --- a/database/migrations/2022_12_12_033218_create_cases_bugs_table.php +++ b/database/migrations/2022_12_12_000005_create_cases_bugs_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_contacts_cases_table.php b/database/migrations/2022_12_12_000005_create_contacts_cases_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_contacts_cases_table.php rename to database/migrations/2022_12_12_000005_create_contacts_cases_table.php index cbd83a2..7f8195c 100644 --- a/database/migrations/2022_12_12_033218_create_contacts_cases_table.php +++ b/database/migrations/2022_12_12_000005_create_contacts_cases_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_documents_cases_table.php b/database/migrations/2022_12_12_000005_create_documents_cases_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_documents_cases_table.php rename to database/migrations/2022_12_12_000005_create_documents_cases_table.php index 3a00277..5f67158 100644 --- a/database/migrations/2022_12_12_033218_create_documents_cases_table.php +++ b/database/migrations/2022_12_12_000005_create_documents_cases_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_meetings_leads_table.php b/database/migrations/2022_12_12_000005_create_meetings_leads_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_meetings_leads_table.php rename to database/migrations/2022_12_12_000005_create_meetings_leads_table.php diff --git a/database/migrations/2022_12_12_033218_create_projects_cases_table.php b/database/migrations/2022_12_12_000005_create_projects_cases_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_projects_cases_table.php rename to database/migrations/2022_12_12_000005_create_projects_cases_table.php diff --git a/database/migrations/2022_12_12_033218_create_projects_products_table.php b/database/migrations/2022_12_12_000005_create_projects_products_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_projects_products_table.php rename to database/migrations/2022_12_12_000005_create_projects_products_table.php index 3100dc2..7969685 100644 --- a/database/migrations/2022_12_12_033218_create_projects_products_table.php +++ b/database/migrations/2022_12_12_000005_create_projects_products_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_prospects_table.php b/database/migrations/2022_12_12_000005_create_prospects_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_prospects_table.php rename to database/migrations/2022_12_12_000005_create_prospects_table.php index c13d147..81dc23b 100644 --- a/database/migrations/2022_12_12_033218_create_prospects_table.php +++ b/database/migrations/2022_12_12_000005_create_prospects_table.php @@ -47,7 +47,7 @@ public function up() $table->string('alt_address_country')->nullable(); $table->string('assistant', 75)->nullable(); $table->string('assistant_phone', 100)->nullable(); - $table->integer('tracker_key', true)->index('prospect_auto_tracker_key'); + $table->integer('tracker_key')->index('prospect_auto_tracker_key'); $table->date('birthdate')->nullable(); $table->uuid('lead_id')->nullable(); $table->string('account_name', 150)->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_surveyquestionresponses_table.php b/database/migrations/2022_12_12_000005_create_surveyquestionresponses_table.php similarity index 97% rename from database/migrations/2022_12_12_033218_create_surveyquestionresponses_table.php rename to database/migrations/2022_12_12_000005_create_surveyquestionresponses_table.php index ad105b9..a0f4cb2 100644 --- a/database/migrations/2022_12_12_033218_create_surveyquestionresponses_table.php +++ b/database/migrations/2022_12_12_000005_create_surveyquestionresponses_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aod_indexevent_table.php b/database/migrations/2022_12_12_000006_create_aod_indexevent_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_aod_indexevent_table.php rename to database/migrations/2022_12_12_000006_create_aod_indexevent_table.php diff --git a/database/migrations/2022_12_12_033218_create_campaign_log_table.php b/database/migrations/2022_12_12_000006_create_campaign_log_table.php similarity index 88% rename from database/migrations/2022_12_12_033218_create_campaign_log_table.php rename to database/migrations/2022_12_12_000006_create_campaign_log_table.php index a0aba3d..c8c9735 100644 --- a/database/migrations/2022_12_12_033218_create_campaign_log_table.php +++ b/database/migrations/2022_12_12_000006_create_campaign_log_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -18,16 +17,16 @@ public function up() $table->uuid('id')->primary(); $table->uuid('campaign_id')->nullable()->index('idx_camp_campaign_id'); $table->uuid('target_tracker_key')->nullable()->index('idx_camp_tracker'); - $table->uuid('target_id')->nullable()->index('idx_target_id'); + $table->uuid('target_id')->nullable()->index('idx_target_id')->comment('[leads prospects contacts accounts]'); $table->string('target_type', 100)->nullable(); $table->string('activity_type', 100)->nullable(); $table->dateTime('activity_date')->nullable(); - $table->uuid('related_id')->nullable(); + $table->uuid('related_id')->nullable()->comment('[contacts emails leads opportunities]'); $table->string('related_type', 100)->nullable(); $table->boolean('archived')->nullable()->default(false); $table->integer('hits')->nullable()->default(0); $table->uuid('list_id')->nullable(); - + $table->string('more_information', 100)->nullable()->index('idx_camp_more_info'); $table->uuid('marketing_id')->nullable(); diff --git a/database/migrations/2022_12_12_033218_create_custom_fields_table.php b/database/migrations/2022_12_12_000006_create_custom_fields_table.php similarity index 100% rename from database/migrations/2022_12_12_033218_create_custom_fields_table.php rename to database/migrations/2022_12_12_000006_create_custom_fields_table.php diff --git a/database/migrations/2022_12_12_033218_create_emailman_table.php b/database/migrations/2022_12_12_000006_create_emailman_table.php similarity index 94% rename from database/migrations/2022_12_12_033218_create_emailman_table.php rename to database/migrations/2022_12_12_000006_create_emailman_table.php index 2985c9b..02ed6ca 100644 --- a/database/migrations/2022_12_12_033218_create_emailman_table.php +++ b/database/migrations/2022_12_12_000006_create_emailman_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -22,6 +21,7 @@ public function up() $table->uuid('list_id')->nullable(); $table->dateTime('send_date_time')->nullable(); $table->uuid('modified_by_id')->nullable(); + $table->uuid('created_by_id')->nullable(); $table->boolean('in_queue')->nullable()->default(false); $table->dateTime('in_queue_date')->nullable(); $table->integer('send_attempts')->nullable()->default(0); diff --git a/database/migrations/2022_12_12_033218_create_emails_beans_table.php b/database/migrations/2022_12_12_000006_create_emails_beans_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_emails_beans_table.php rename to database/migrations/2022_12_12_000006_create_emails_beans_table.php index b7fd8d1..f90cbe1 100644 --- a/database/migrations/2022_12_12_033218_create_emails_beans_table.php +++ b/database/migrations/2022_12_12_000006_create_emails_beans_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_prospect_lists_prospects_table.php b/database/migrations/2022_12_12_000006_create_prospect_lists_prospects_table.php similarity index 96% rename from database/migrations/2022_12_12_033218_create_prospect_lists_prospects_table.php rename to database/migrations/2022_12_12_000006_create_prospect_lists_prospects_table.php index 48609e9..ba1b2e5 100644 --- a/database/migrations/2022_12_12_033218_create_prospect_lists_prospects_table.php +++ b/database/migrations/2022_12_12_000006_create_prospect_lists_prospects_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_securitygroups_records_table.php b/database/migrations/2022_12_12_000006_create_securitygroups_records_table.php similarity index 86% rename from database/migrations/2022_12_12_033218_create_securitygroups_records_table.php rename to database/migrations/2022_12_12_000006_create_securitygroups_records_table.php index 9169a2b..8384482 100644 --- a/database/migrations/2022_12_12_033218_create_securitygroups_records_table.php +++ b/database/migrations/2022_12_12_000006_create_securitygroups_records_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -22,7 +21,7 @@ public function up() $table->uuid('modified_by_id')->nullable(); $table->uuid('created_by_id')->nullable(); - $table->index(['deleted', 'record_id', 'module', 'securitygroup_id'], 'idx_securitygroups_records_del'); + $table->index(['deleted_at', 'record_id', 'module', 'securitygroup_id'], 'idx_securitygroups_records_del'); $table->index(['module', 'deleted_at', 'record_id', 'securitygroup_id'], 'idx_securitygroups_records_mod'); $table->timestamps(); $table->softDeletes(); diff --git a/database/migrations/2022_12_12_033218_create_sugarfeed_table.php b/database/migrations/2022_12_12_000006_create_sugarfeed_table.php similarity index 90% rename from database/migrations/2022_12_12_033218_create_sugarfeed_table.php rename to database/migrations/2022_12_12_000006_create_sugarfeed_table.php index bed1ae3..a18b9e6 100644 --- a/database/migrations/2022_12_12_033218_create_sugarfeed_table.php +++ b/database/migrations/2022_12_12_000006_create_sugarfeed_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -26,7 +25,7 @@ public function up() $table->string('link_url')->nullable(); $table->string('link_type', 30)->nullable(); - $table->index(['date_entered', 'deleted_at'], 'sgrfeed_date'); + $table->index(['created_at', 'deleted_at'], 'sgrfeed_date'); $table->timestamps(); $table->softDeletes(); }); diff --git a/database/migrations/2022_12_12_033218_create_tracker_table.php b/database/migrations/2022_12_12_000006_create_tracker_table.php similarity index 90% rename from database/migrations/2022_12_12_033218_create_tracker_table.php rename to database/migrations/2022_12_12_000006_create_tracker_table.php index cbf827b..b4ff018 100644 --- a/database/migrations/2022_12_12_033218_create_tracker_table.php +++ b/database/migrations/2022_12_12_000006_create_tracker_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -21,7 +20,7 @@ public function up() $table->string('module_name')->nullable(); $table->uuid('item_id')->nullable()->index('idx_tracker_iid'); $table->string('item_summary')->nullable(); - $table->dateTime('date_modified')->nullable()->index('idx_tracker_date_modified'); + // $table->dateTime('updated_at')->nullable()->index('idx_tracker_updated_at'); $table->string('action')->nullable(); $table->uuid('session_id')->nullable(); $table->boolean('visible')->nullable()->default(false); diff --git a/database/migrations/2022_12_12_033218_create_users_last_import_table.php b/database/migrations/2022_12_12_000006_create_users_last_import_table.php similarity index 94% rename from database/migrations/2022_12_12_033218_create_users_last_import_table.php rename to database/migrations/2022_12_12_000006_create_users_last_import_table.php index 754ae39..f900b6c 100644 --- a/database/migrations/2022_12_12_033218_create_users_last_import_table.php +++ b/database/migrations/2022_12_12_000006_create_users_last_import_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * @@ -20,7 +19,7 @@ public function up() $table->uuid('import_module')->nullable(); $table->uuid('bean_type')->nullable(); $table->uuid('bean_id')->nullable(); - + $table->timestamps(); $table->softDeletes(); }); diff --git a/database/migrations/2022_12_12_033218_create_users_feeds_table.php b/database/migrations/2022_12_12_000007_create_users_feeds_table.php similarity index 95% rename from database/migrations/2022_12_12_033218_create_users_feeds_table.php rename to database/migrations/2022_12_12_000007_create_users_feeds_table.php index aafe63c..b634e50 100644 --- a/database/migrations/2022_12_12_033218_create_users_feeds_table.php +++ b/database/migrations/2022_12_12_000007_create_users_feeds_table.php @@ -4,8 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -return new class extends Migration -{ +return new class extends Migration { /** * Run the migrations. * diff --git a/database/migrations/2022_12_12_033218_create_aok_knowledge_base_categories_audit_table.php b/database/migrations/2022_12_12_033218_create_aok_knowledge_base_categories_audit_table.php deleted file mode 100644 index 3cd628d..0000000 --- a/database/migrations/2022_12_12_033218_create_aok_knowledge_base_categories_audit_table.php +++ /dev/null @@ -1,41 +0,0 @@ -comment(''); - $table->uuid('id')->primary(); - $table->uuid('parent_id')->index('idx_aok_knowledge_base_categories_parent_id'); - $table->uuid('created_by_id')->nullable(); - $table->string('field_name', 100)->nullable(); - $table->string('data_type', 100)->nullable(); - $table->string('before_value_string')->nullable(); - $table->string('after_value_string')->nullable(); - $table->text('before_value_text')->nullable(); - $table->text('after_value_text')->nullable(); - $table->timestamps(); - $table->softDeletes(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('aok_knowledge_base_categories_audit'); - } -}; diff --git a/database/seeders/Account/AccountsTableSeeder.php b/database/seeders/Account/AccountsTableSeeder.php new file mode 100644 index 0000000..6f09d94 --- /dev/null +++ b/database/seeders/Account/AccountsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Account')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Account/DataRowsTableSeeder.php b/database/seeders/Account/DataRowsTableSeeder.php new file mode 100644 index 0000000..73dd5f0 --- /dev/null +++ b/database/seeders/Account/DataRowsTableSeeder.php @@ -0,0 +1,661 @@ +where('slug', 'accounts')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'account_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + 'order' => 4, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 5, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'account_belongsto_parent_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.parent'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('Account'), + 'table' => 'accounts', + 'type' => 'belongsTo', + 'column' => 'parent_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'accounts', + 'pivot' => 0, + ], + 'order' => 6, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'parent_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.parent'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 7, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'account_type'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.account_type'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + 'details' => [ + 'default' => 'TYPE1', + 'options' => [ + 'TYPE1' => 'TYPE1', + 'TYPE2' => 'TYPE2', + ], + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'industry'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.industry'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'annual_revenue'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.annual_revenue'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'phone_fax'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.phone_fax'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'billing_address_street'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.billing_address_street'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'billing_address_city'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.billing_address_city'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'billing_address_state'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.billing_address_state'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'billing_address_postalcode'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.billing_address_postalcode'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'billing_address_country'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.billing_address_country'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'rating'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.rating'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'phone_office'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.phone_office'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'phone_alternate'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.phone_alternate'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'website'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.website'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'ownership'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.ownership'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'employees'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.employees'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'ticker_symbol'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.ticker_symbol'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'shipping_address_street'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.shipping_address_street'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'shipping_address_city'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.shipping_address_city'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'shipping_address_state'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.shipping_address_state'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'shipping_address_postalcode'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.shipping_address_postalcode'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'shipping_address_country'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.shipping_address_country'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'sic_code'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.sic_code'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'campaign_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.campaign_id'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'account_belongsto_campaign_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.campaign'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + 'details' => [ + 'model' => Voyager::modelClass('Campaign'), + 'table' => 'campaigns', + 'type' => 'belongsTo', + 'column' => 'campaign_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'campaigns', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 8, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 9, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 9, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'account_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 11, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'account_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + 'order' => 12, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 13, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Account/DataTypesTableSeeder.php b/database/seeders/Account/DataTypesTableSeeder.php new file mode 100644 index 0000000..f312cc6 --- /dev/null +++ b/database/seeders/Account/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'accounts'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'accounts', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.account.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.account.plural'), + 'icon' => 'voyager-bread voyager-crm-account voyager-people', + 'model_name' => Voyager::modelClass('Account'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\AccountPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Account/DummyAccountsTableSeeder.php b/database/seeders/Account/DummyAccountsTableSeeder.php new file mode 100644 index 0000000..a10d530 --- /dev/null +++ b/database/seeders/Account/DummyAccountsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Account/MenuItemsTableSeeder.php b/database/seeders/Account/MenuItemsTableSeeder.php new file mode 100644 index 0000000..ae38330 --- /dev/null +++ b/database/seeders/Account/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.accounts'), + 'url' => '', + 'route' => 'voyager.accounts.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-account voyager-people', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Account/PermissionsTableSeeder.php b/database/seeders/Account/PermissionsTableSeeder.php new file mode 100644 index 0000000..75ce66e --- /dev/null +++ b/database/seeders/Account/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('accounts'); + } +} diff --git a/database/seeders/Account/SettingsTableSeeder.php b/database/seeders/Account/SettingsTableSeeder.php new file mode 100644 index 0000000..f557f01 --- /dev/null +++ b/database/seeders/Account/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('account.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.account.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Account', + ])->save(); + } + + $setting = $this->findSetting('account.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.account.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Account', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Account/TranslationsTableSeeder.php b/database/seeders/Account/TranslationsTableSeeder.php new file mode 100644 index 0000000..f03b62c --- /dev/null +++ b/database/seeders/Account/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->accountsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function accountsTranslations() + { + // Adding translations for 'accounts' + // + $cat = Voyager::model('Account')->where('name', 'account-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['accounts', 'name'], $cat->id), 'account-1'); + $this->trans('pt', $this->arr(['accounts', 'description'], $cat->id), 'Account 1'); + } + $cat = Voyager::model('Account')->where('name', 'account-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['accounts', 'name'], $cat->id), 'account-2'); + $this->trans('pt', $this->arr(['accounts', 'description'], $cat->id), 'Account 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Account'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Accounts'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.accounts')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Accounts'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Account/VoyagerDatabaseSeeder.php b/database/seeders/Account/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..7271634 --- /dev/null +++ b/database/seeders/Account/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + AccountsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Account/VoyagerDummyDatabaseSeeder.php b/database/seeders/Account/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..69bfb2f --- /dev/null +++ b/database/seeders/Account/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyAccountsTableSeeder::class + ]); + } +} diff --git a/database/seeders/AosPdfTemplate/AosPdfTemplatesTableSeeder.php b/database/seeders/AosPdfTemplate/AosPdfTemplatesTableSeeder.php new file mode 100644 index 0000000..900102f --- /dev/null +++ b/database/seeders/AosPdfTemplate/AosPdfTemplatesTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('AosPdfTemplate')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/AosPdfTemplate/DataRowsTableSeeder.php b/database/seeders/AosPdfTemplate/DataRowsTableSeeder.php new file mode 100644 index 0000000..592db95 --- /dev/null +++ b/database/seeders/AosPdfTemplate/DataRowsTableSeeder.php @@ -0,0 +1,438 @@ +where('slug', 'aos-pdf-templates')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'active'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'checkbox', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.active'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 4, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'type'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.type'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 5, + 'details' => [ + 'default' => 'TYPE1', + 'options' => [ + 'TYPE1' => 'TYPE1', + 'TYPE2' => 'TYPE2', + ], + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'pdfheader'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'rich_text_box', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.pdfheader'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 6, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'pdffooter'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'rich_text_box', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.pdffooter'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 7, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'margin_left'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.margin_left'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 8, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'margin_right'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.margin_right'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 9, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'margin_top'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.margin_top'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'margin_bottom'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.margin_bottom'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 11, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'margin_header'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.margin_header'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 12, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'margin_footer'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.margin_footer'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 13, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'page_size'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.page_size'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 14, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'orientation'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.orientation'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 15, + 'details' => [ + 'default' => 'LANDSCAPE', + 'options' => [ + 'LANDSCAPE' => 'LANDSCAPE', + 'PORTRAIT' => 'PORTRAIT', + ], + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'aos_pdf_template_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'aos_pdf_template_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'aos_pdf_template_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/AosPdfTemplate/DataTypesTableSeeder.php b/database/seeders/AosPdfTemplate/DataTypesTableSeeder.php new file mode 100644 index 0000000..22af2bb --- /dev/null +++ b/database/seeders/AosPdfTemplate/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'aos-pdf-templates'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'aos_pdf_templates', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.aos_pdf_template.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.aos_pdf_template.plural'), + 'icon' => 'voyager-bread voyager-crm-aos_pdf_template voyager-file-text', + 'model_name' => Voyager::modelClass('AosPdfTemplate'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\AosPdfTemplatePolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/AosPdfTemplate/DummyAosPdfTemplatesTableSeeder.php b/database/seeders/AosPdfTemplate/DummyAosPdfTemplatesTableSeeder.php new file mode 100644 index 0000000..d703969 --- /dev/null +++ b/database/seeders/AosPdfTemplate/DummyAosPdfTemplatesTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/AosPdfTemplate/MenuItemsTableSeeder.php b/database/seeders/AosPdfTemplate/MenuItemsTableSeeder.php new file mode 100644 index 0000000..f008d0a --- /dev/null +++ b/database/seeders/AosPdfTemplate/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.aos_pdf_templates'), + 'url' => '', + 'route' => 'voyager.aos-pdf-templates.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-aos_pdf_template voyager-file-text', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/AosPdfTemplate/PermissionsTableSeeder.php b/database/seeders/AosPdfTemplate/PermissionsTableSeeder.php new file mode 100644 index 0000000..1da0647 --- /dev/null +++ b/database/seeders/AosPdfTemplate/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('aos_pdf_templates'); + } +} diff --git a/database/seeders/AosPdfTemplate/SettingsTableSeeder.php b/database/seeders/AosPdfTemplate/SettingsTableSeeder.php new file mode 100644 index 0000000..e7b2c88 --- /dev/null +++ b/database/seeders/AosPdfTemplate/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('aos_pdf_template.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.aos_pdf_template.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'AosPdfTemplate', + ])->save(); + } + + $setting = $this->findSetting('aos_pdf_template.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.aos_pdf_template.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'AosPdfTemplate', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/AosPdfTemplate/TranslationsTableSeeder.php b/database/seeders/AosPdfTemplate/TranslationsTableSeeder.php new file mode 100644 index 0000000..000eabe --- /dev/null +++ b/database/seeders/AosPdfTemplate/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->aosPdfTemplatesTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function aosPdfTemplatesTranslations() + { + // Adding translations for 'aos_pdf_templates' + // + $cat = Voyager::model('AosPdfTemplate')->where('name', 'aos_pdf_template-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['aos_pdf_templates', 'name'], $cat->id), 'aos-pdf-template-1'); + $this->trans('pt', $this->arr(['aos_pdf_templates', 'description'], $cat->id), 'AosPdfTemplate 1'); + } + $cat = Voyager::model('AosPdfTemplate')->where('name', 'aos_pdf_template-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['aos_pdf_templates', 'name'], $cat->id), 'aos-pdf-template-2'); + $this->trans('pt', $this->arr(['aos_pdf_templates', 'description'], $cat->id), 'AosPdfTemplate 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'AosPdfTemplate'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'AosPdfTemplates'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.aos_pdf_templates')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'AosPdfTemplates'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/AosPdfTemplate/VoyagerDatabaseSeeder.php b/database/seeders/AosPdfTemplate/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..d611293 --- /dev/null +++ b/database/seeders/AosPdfTemplate/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + AosPdfTemplatesTableSeeder::class, + ]); + } +} diff --git a/database/seeders/AosPdfTemplate/VoyagerDummyDatabaseSeeder.php b/database/seeders/AosPdfTemplate/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..1877085 --- /dev/null +++ b/database/seeders/AosPdfTemplate/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyAosPdfTemplatesTableSeeder::class + ]); + } +} diff --git a/database/seeders/AosProductCategory/AosProductCategoriesTableSeeder.php b/database/seeders/AosProductCategory/AosProductCategoriesTableSeeder.php new file mode 100644 index 0000000..9d4af67 --- /dev/null +++ b/database/seeders/AosProductCategory/AosProductCategoriesTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('AosProductCategory')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/AosProductCategory/DataRowsTableSeeder.php b/database/seeders/AosProductCategory/DataRowsTableSeeder.php new file mode 100644 index 0000000..2d3502b --- /dev/null +++ b/database/seeders/AosProductCategory/DataRowsTableSeeder.php @@ -0,0 +1,299 @@ +where('slug', 'aos-product-categories')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'is_parent'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'checkbox', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.is_parent'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 4, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'parent_category_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.parent_category_id'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 5, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'aos_product_category_belongsto_parent_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.parent'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 6, + 'details' => [ + 'model' => Voyager::modelClass('AosProductCategory'), + 'table' => 'aos_product_categories', + 'type' => 'belongsTo', + 'column' => 'parent_category_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'aos_product_categories', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'aos_product_category_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'aos_product_category_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'aos_product_category_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/AosProductCategory/DataTypesTableSeeder.php b/database/seeders/AosProductCategory/DataTypesTableSeeder.php new file mode 100644 index 0000000..ec60881 --- /dev/null +++ b/database/seeders/AosProductCategory/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'aos-product-categories'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'aos_product_categories', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.aos_product_category.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.aos_product_category.plural'), + 'icon' => 'voyager-bread voyager-crm-aos_product_category voyager-categories', + 'model_name' => Voyager::modelClass('AosProductCategory'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\AosProductCategoryPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/AosProductCategory/DummyAosProductCategoriesTableSeeder.php b/database/seeders/AosProductCategory/DummyAosProductCategoriesTableSeeder.php new file mode 100644 index 0000000..07b1b50 --- /dev/null +++ b/database/seeders/AosProductCategory/DummyAosProductCategoriesTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/AosProductCategory/MenuItemsTableSeeder.php b/database/seeders/AosProductCategory/MenuItemsTableSeeder.php new file mode 100644 index 0000000..b713297 --- /dev/null +++ b/database/seeders/AosProductCategory/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.aos_product_categories'), + 'url' => '', + 'route' => 'voyager.aos-product-categories.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-aos_product_category voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/AosProductCategory/PermissionsTableSeeder.php b/database/seeders/AosProductCategory/PermissionsTableSeeder.php new file mode 100644 index 0000000..44f23ee --- /dev/null +++ b/database/seeders/AosProductCategory/PermissionsTableSeeder.php @@ -0,0 +1,18 @@ +generateFor('aos_product_categories'); + } +} diff --git a/database/seeders/AosProductCategory/SettingsTableSeeder.php b/database/seeders/AosProductCategory/SettingsTableSeeder.php new file mode 100644 index 0000000..fc09703 --- /dev/null +++ b/database/seeders/AosProductCategory/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('aos_product_category.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.aos_product_category.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'AosProductCategory', + ])->save(); + } + + $setting = $this->findSetting('aos_product_category.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.aos_product_category.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'AosProductCategory', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/AosProductCategory/TranslationsTableSeeder.php b/database/seeders/AosProductCategory/TranslationsTableSeeder.php new file mode 100644 index 0000000..a4f53a6 --- /dev/null +++ b/database/seeders/AosProductCategory/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->aosProductCategoriesTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function aosProductCategoriesTranslations() + { + // Adding translations for 'aos_product_categories' + // + $cat = Voyager::model('AosProductCategory')->where('name', 'aos_product_category-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['aos_product_categories', 'name'], $cat->id), 'aos-product-category-1'); + $this->trans('pt', $this->arr(['aos_product_categories', 'description'], $cat->id), 'AosProductCategory 1'); + } + $cat = Voyager::model('AosProductCategory')->where('name', 'aos_product_category-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['aos_product_categories', 'name'], $cat->id), 'aos-product-category-2'); + $this->trans('pt', $this->arr(['aos_product_categories', 'description'], $cat->id), 'AosProductCategory 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'AosProductCategory'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'AosProductCategories'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.aos_product_categories')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'AosProductCategories'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/AosProductCategory/VoyagerDatabaseSeeder.php b/database/seeders/AosProductCategory/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..fcda127 --- /dev/null +++ b/database/seeders/AosProductCategory/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + AosProductCategoriesTableSeeder::class, + ]); + } +} diff --git a/database/seeders/AosProductCategory/VoyagerDummyDatabaseSeeder.php b/database/seeders/AosProductCategory/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..2420a5e --- /dev/null +++ b/database/seeders/AosProductCategory/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyAosProductCategoriesTableSeeder::class + ]); + } +} diff --git a/database/seeders/AosSample/AosSamplesTableSeeder.php.stub b/database/seeders/AosSample/AosSamplesTableSeeder.php.stub new file mode 100644 index 0000000..f4d0791 --- /dev/null +++ b/database/seeders/AosSample/AosSamplesTableSeeder.php.stub @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('AosSample')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/AosSample/DataRowsTableSeeder.php.stub b/database/seeders/AosSample/DataRowsTableSeeder.php.stub new file mode 100644 index 0000000..272fa9f --- /dev/null +++ b/database/seeders/AosSample/DataRowsTableSeeder.php.stub @@ -0,0 +1,246 @@ +where('slug', 'aos-samples')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'aos_sample_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'aos_sample_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'aos_sample_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/AosSample/DataTypesTableSeeder.php.stub b/database/seeders/AosSample/DataTypesTableSeeder.php.stub new file mode 100644 index 0000000..ff1d8c6 --- /dev/null +++ b/database/seeders/AosSample/DataTypesTableSeeder.php.stub @@ -0,0 +1,44 @@ +dataType('slug', 'aos-samples'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'aos_samples', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.aos_sample.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.aos_sample.plural'), + 'icon' => 'voyager-bread voyager-crm-aos_sample voyager-categories', + 'model_name' => Voyager::modelClass('AosSample'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\AosSamplePolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/AosSample/DummyAosSamplesTableSeeder.php.stub b/database/seeders/AosSample/DummyAosSamplesTableSeeder.php.stub new file mode 100644 index 0000000..3d92ed9 --- /dev/null +++ b/database/seeders/AosSample/DummyAosSamplesTableSeeder.php.stub @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/AosSample/MenuItemsTableSeeder.php.stub b/database/seeders/AosSample/MenuItemsTableSeeder.php.stub new file mode 100644 index 0000000..98151c4 --- /dev/null +++ b/database/seeders/AosSample/MenuItemsTableSeeder.php.stub @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.aos_samples'), + 'url' => '', + 'route' => 'voyager.aos-samples.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-aos_sample voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/AosSample/PermissionsTableSeeder.php.stub b/database/seeders/AosSample/PermissionsTableSeeder.php.stub new file mode 100644 index 0000000..f04ccfe --- /dev/null +++ b/database/seeders/AosSample/PermissionsTableSeeder.php.stub @@ -0,0 +1,18 @@ +generateFor('aos_samples'); + } +} diff --git a/database/seeders/AosSample/SettingsTableSeeder.php.stub b/database/seeders/AosSample/SettingsTableSeeder.php.stub new file mode 100644 index 0000000..3aff7ba --- /dev/null +++ b/database/seeders/AosSample/SettingsTableSeeder.php.stub @@ -0,0 +1,52 @@ +findSetting('aos_sample.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.aos_sample.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'AosSample', + ])->save(); + } + + $setting = $this->findSetting('aos_sample.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.aos_sample.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'AosSample', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/AosSample/TranslationsTableSeeder.php.stub b/database/seeders/AosSample/TranslationsTableSeeder.php.stub new file mode 100644 index 0000000..7b746fa --- /dev/null +++ b/database/seeders/AosSample/TranslationsTableSeeder.php.stub @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->aosSamplesTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function aosSamplesTranslations() + { + // Adding translations for 'aos_samples' + // + $cat = Voyager::model('AosSample')->where('name', 'aos_sample-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['aos_samples', 'name'], $cat->id), 'aos-sample-1'); + $this->trans('pt', $this->arr(['aos_samples', 'description'], $cat->id), 'AosSample 1'); + } + $cat = Voyager::model('AosSample')->where('name', 'aos_sample-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['aos_samples', 'name'], $cat->id), 'aos-sample-2'); + $this->trans('pt', $this->arr(['aos_samples', 'description'], $cat->id), 'AosSample 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'AosSample'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'AosSamples'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.aos_samples')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'AosSamples'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/AosSample/VoyagerDatabaseSeeder.php.stub b/database/seeders/AosSample/VoyagerDatabaseSeeder.php.stub new file mode 100644 index 0000000..89b1f62 --- /dev/null +++ b/database/seeders/AosSample/VoyagerDatabaseSeeder.php.stub @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + AosSamplesTableSeeder::class, + ]); + } +} diff --git a/database/seeders/AosSample/VoyagerDummyDatabaseSeeder.php.stub b/database/seeders/AosSample/VoyagerDummyDatabaseSeeder.php.stub new file mode 100644 index 0000000..be2cff4 --- /dev/null +++ b/database/seeders/AosSample/VoyagerDummyDatabaseSeeder.php.stub @@ -0,0 +1,20 @@ +call([ + DummyAosSamplesTableSeeder::class + ]); + } +} diff --git a/database/seeders/AowWorkflow/AowWorkflowsTableSeeder.php b/database/seeders/AowWorkflow/AowWorkflowsTableSeeder.php new file mode 100644 index 0000000..f463d70 --- /dev/null +++ b/database/seeders/AowWorkflow/AowWorkflowsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('AowWorkflow')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/AowWorkflow/DataRowsTableSeeder.php b/database/seeders/AowWorkflow/DataRowsTableSeeder.php new file mode 100644 index 0000000..fa06e84 --- /dev/null +++ b/database/seeders/AowWorkflow/DataRowsTableSeeder.php @@ -0,0 +1,246 @@ +where('slug', 'aow-workflows')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'aow_workflow_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'aow_workflow_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'aow_workflow_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/AowWorkflow/DataTypesTableSeeder.php b/database/seeders/AowWorkflow/DataTypesTableSeeder.php new file mode 100644 index 0000000..57bf601 --- /dev/null +++ b/database/seeders/AowWorkflow/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'aow-workflows'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'aow_workflow', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.aow_workflow.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.aow_workflow.plural'), + 'icon' => 'voyager-bread voyager-crm-aow_workflow voyager-categories', + 'model_name' => Voyager::modelClass('AowWorkflow'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\AowWorkflowPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/AowWorkflow/DummyAowWorkflowsTableSeeder.php b/database/seeders/AowWorkflow/DummyAowWorkflowsTableSeeder.php new file mode 100644 index 0000000..7fb0773 --- /dev/null +++ b/database/seeders/AowWorkflow/DummyAowWorkflowsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/AowWorkflow/MenuItemsTableSeeder.php b/database/seeders/AowWorkflow/MenuItemsTableSeeder.php new file mode 100644 index 0000000..38e3085 --- /dev/null +++ b/database/seeders/AowWorkflow/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.aow_workflows'), + 'url' => '', + 'route' => 'voyager.aow-workflows.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-aow_workflow voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/AowWorkflow/PermissionsTableSeeder.php b/database/seeders/AowWorkflow/PermissionsTableSeeder.php new file mode 100644 index 0000000..ac179f1 --- /dev/null +++ b/database/seeders/AowWorkflow/PermissionsTableSeeder.php @@ -0,0 +1,18 @@ +generateFor('aow_workflow'); + } +} diff --git a/database/seeders/AowWorkflow/SettingsTableSeeder.php b/database/seeders/AowWorkflow/SettingsTableSeeder.php new file mode 100644 index 0000000..06ae091 --- /dev/null +++ b/database/seeders/AowWorkflow/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('aow_workflow.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.aow_workflow.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'AowWorkflow', + ])->save(); + } + + $setting = $this->findSetting('aow_workflow.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.aow_workflow.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'AowWorkflow', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/AowWorkflow/TranslationsTableSeeder.php b/database/seeders/AowWorkflow/TranslationsTableSeeder.php new file mode 100644 index 0000000..7299b79 --- /dev/null +++ b/database/seeders/AowWorkflow/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->aowWorkflowsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function aowWorkflowsTranslations() + { + // Adding translations for 'aow_workflows' + // + $cat = Voyager::model('AowWorkflow')->where('name', 'aow_workflow-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['aow_workflow', 'name'], $cat->id), 'aow-workflow-1'); + $this->trans('pt', $this->arr(['aow_workflow', 'description'], $cat->id), 'AowWorkflow 1'); + } + $cat = Voyager::model('AowWorkflow')->where('name', 'aow_workflow-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['aow_workflow', 'name'], $cat->id), 'aow-workflow-2'); + $this->trans('pt', $this->arr(['aow_workflow', 'description'], $cat->id), 'AowWorkflow 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'AowWorkflow'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'AowWorkflows'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.aow_workflows')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'AowWorkflows'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/AowWorkflow/VoyagerDatabaseSeeder.php b/database/seeders/AowWorkflow/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..6c5e101 --- /dev/null +++ b/database/seeders/AowWorkflow/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + AowWorkflowsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/AowWorkflow/VoyagerDummyDatabaseSeeder.php b/database/seeders/AowWorkflow/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..06cb366 --- /dev/null +++ b/database/seeders/AowWorkflow/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyAowWorkflowsTableSeeder::class + ]); + } +} diff --git a/database/seeders/Bug/BugsTableSeeder.php b/database/seeders/Bug/BugsTableSeeder.php new file mode 100644 index 0000000..97368c5 --- /dev/null +++ b/database/seeders/Bug/BugsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Bug')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Bug/DataRowsTableSeeder.php b/database/seeders/Bug/DataRowsTableSeeder.php new file mode 100644 index 0000000..453708a --- /dev/null +++ b/database/seeders/Bug/DataRowsTableSeeder.php @@ -0,0 +1,414 @@ +where('slug', 'bugs')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'bug_number'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.bug_number'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 4, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'type'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.type'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 5, + 'details' => [ + 'default' => 'TYPE1', + 'options' => [ + 'TYPE1' => 'TYPE1', + 'TYPE2' => 'TYPE2', + ], + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'status'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.status'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 6, + 'details' => [ + 'default' => 'INACTIVE', + 'options' => [ + 'INACTIVE' => 'INACTIVE', + 'ACTIVE' => 'ACTIVE', + ], + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'priority'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.priority'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 7, + 'details' => [ + 'default' => 'INACTIVE', + 'options' => [ + 'INACTIVE' => 'INACTIVE', + 'ACTIVE' => 'ACTIVE', + ], + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'resolution'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.resolution'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 8, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'work_log'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.work_log'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 9, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'found_in_release'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.found_in_release'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'fixed_in_release'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.fixed_in_release'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 11, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'source'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.source'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 12, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'product_category'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.product_category'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 13, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'bug_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + 'order' => 14, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 15, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 16, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 17, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 18, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'bug_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + 'order' => 19, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 20, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'bug_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + 'order' => 21, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 22, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Bug/DataTypesTableSeeder.php b/database/seeders/Bug/DataTypesTableSeeder.php new file mode 100644 index 0000000..690d02d --- /dev/null +++ b/database/seeders/Bug/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'bugs'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'bugs', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.bug.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.bug.plural'), + 'icon' => 'voyager-bread voyager-crm-bug voyager-bug', + 'model_name' => Voyager::modelClass('Bug'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\BugPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Bug/DummyBugsTableSeeder.php b/database/seeders/Bug/DummyBugsTableSeeder.php new file mode 100644 index 0000000..1e8a47c --- /dev/null +++ b/database/seeders/Bug/DummyBugsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Bug/MenuItemsTableSeeder.php b/database/seeders/Bug/MenuItemsTableSeeder.php new file mode 100644 index 0000000..b0f7326 --- /dev/null +++ b/database/seeders/Bug/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.bugs'), + 'url' => '', + 'route' => 'voyager.bugs.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-bug voyager-bug', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Bug/PermissionsTableSeeder.php b/database/seeders/Bug/PermissionsTableSeeder.php new file mode 100644 index 0000000..7b2a3c0 --- /dev/null +++ b/database/seeders/Bug/PermissionsTableSeeder.php @@ -0,0 +1,18 @@ +generateFor('bugs'); + } +} diff --git a/database/seeders/Bug/SettingsTableSeeder.php b/database/seeders/Bug/SettingsTableSeeder.php new file mode 100644 index 0000000..c8448c0 --- /dev/null +++ b/database/seeders/Bug/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('bug.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.bug.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Bug', + ])->save(); + } + + $setting = $this->findSetting('bug.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.bug.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Bug', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Bug/TranslationsTableSeeder.php b/database/seeders/Bug/TranslationsTableSeeder.php new file mode 100644 index 0000000..16367f5 --- /dev/null +++ b/database/seeders/Bug/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->bugsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function bugsTranslations() + { + // Adding translations for 'bugs' + // + $cat = Voyager::model('Bug')->where('name', 'bug-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['bugs', 'name'], $cat->id), 'bug-1'); + $this->trans('pt', $this->arr(['bugs', 'description'], $cat->id), 'Bug 1'); + } + $cat = Voyager::model('Bug')->where('name', 'bug-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['bugs', 'name'], $cat->id), 'bug-2'); + $this->trans('pt', $this->arr(['bugs', 'description'], $cat->id), 'Bug 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Bug'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Bugs'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.bugs')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Bugs'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Bug/VoyagerDatabaseSeeder.php b/database/seeders/Bug/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..26c13ea --- /dev/null +++ b/database/seeders/Bug/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + BugsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Bug/VoyagerDummyDatabaseSeeder.php b/database/seeders/Bug/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..0d3caa7 --- /dev/null +++ b/database/seeders/Bug/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyBugsTableSeeder::class + ]); + } +} diff --git a/database/seeders/Call/CallsTableSeeder.php b/database/seeders/Call/CallsTableSeeder.php new file mode 100644 index 0000000..45e8117 --- /dev/null +++ b/database/seeders/Call/CallsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Call')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Call/DataRowsTableSeeder.php b/database/seeders/Call/DataRowsTableSeeder.php new file mode 100644 index 0000000..94d8624 --- /dev/null +++ b/database/seeders/Call/DataRowsTableSeeder.php @@ -0,0 +1,513 @@ +where('slug', 'calls')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'duration_hours'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.duration_hours'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 4, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'duration_minutes'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.duration_minutes'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 5, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'date_start'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.date_start'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 6, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'date_end'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.date_end'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 7, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'call_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + 'order' => 8, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 9, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'status'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.status'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + 'details' => [ + 'default' => 'ACTIVE', + 'options' => [ + 'ACTIVE' => 'ACTIVE', + 'INACTIVE' => 'INACTIVE', + 'PLANNED' => 'PLANNED', + ], + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 11, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 12, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 13, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'call_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + 'order' => 14, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 15, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'call_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + 'order' => 16, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 17, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'direction'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.direction'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 18, + 'details' => [ + 'default' => 'INCOMING', + 'options' => [ + 'INCOMING' => 'INCOMING', + 'OUTGOING' => 'OUTGOING', + ], + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'reminder_time'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.reminder_time'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 19, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'email_reminder_time'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.email_reminder_time'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 20, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'email_reminder_sent'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'checkbox', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.email_reminder_sent'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 21, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'outlook_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.outlook_id'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 22, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'repeat_type'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.repeat_type'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 23, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'repeat_interval'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.repeat_interval'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 24, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'repeat_dow'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.repeat_dow'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 25, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'repeat_until'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.repeat_until'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 26, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'repeat_count'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.repeat_count'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 27, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'repeat_parent_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.repeat_parent_id'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 28, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'recurring_source'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.recurring_source'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 29, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Call/DataTypesTableSeeder.php b/database/seeders/Call/DataTypesTableSeeder.php new file mode 100644 index 0000000..00b7ccd --- /dev/null +++ b/database/seeders/Call/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'calls'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'calls', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.call.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.call.plural'), + 'icon' => 'voyager-bread voyager-crm-call voyager-telephone', + 'model_name' => Voyager::modelClass('Call'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\CallPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Call/DummyCallsTableSeeder.php b/database/seeders/Call/DummyCallsTableSeeder.php new file mode 100644 index 0000000..b3cc410 --- /dev/null +++ b/database/seeders/Call/DummyCallsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Call/MenuItemsTableSeeder.php b/database/seeders/Call/MenuItemsTableSeeder.php new file mode 100644 index 0000000..bda7033 --- /dev/null +++ b/database/seeders/Call/MenuItemsTableSeeder.php @@ -0,0 +1,39 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.calls'), + 'url' => '', + 'route' => 'voyager.calls.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-call voyager-telephone', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Call/PermissionsTableSeeder.php b/database/seeders/Call/PermissionsTableSeeder.php new file mode 100644 index 0000000..0b00c45 --- /dev/null +++ b/database/seeders/Call/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('calls'); + } +} diff --git a/database/seeders/Call/SettingsTableSeeder.php b/database/seeders/Call/SettingsTableSeeder.php new file mode 100644 index 0000000..bbeaf14 --- /dev/null +++ b/database/seeders/Call/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('call.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.call.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Call', + ])->save(); + } + + $setting = $this->findSetting('call.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.call.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Call', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Call/TranslationsTableSeeder.php b/database/seeders/Call/TranslationsTableSeeder.php new file mode 100644 index 0000000..81a15d7 --- /dev/null +++ b/database/seeders/Call/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->callsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function callsTranslations() + { + // Adding translations for 'calls' + // + $cat = Voyager::model('Call')->where('name', 'call-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['calls', 'name'], $cat->id), 'call-1'); + $this->trans('pt', $this->arr(['calls', 'description'], $cat->id), 'Call 1'); + } + $cat = Voyager::model('Call')->where('name', 'call-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['calls', 'name'], $cat->id), 'call-2'); + $this->trans('pt', $this->arr(['calls', 'description'], $cat->id), 'Call 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Call'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Calls'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.calls')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Calls'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Call/VoyagerDatabaseSeeder.php b/database/seeders/Call/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..674dac9 --- /dev/null +++ b/database/seeders/Call/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + CallsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Call/VoyagerDummyDatabaseSeeder.php b/database/seeders/Call/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..2db4ab4 --- /dev/null +++ b/database/seeders/Call/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyCallsTableSeeder::class + ]); + } +} diff --git a/database/seeders/Currency/CurrenciesTableSeeder.php b/database/seeders/Currency/CurrenciesTableSeeder.php new file mode 100644 index 0000000..7b9a96e --- /dev/null +++ b/database/seeders/Currency/CurrenciesTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Currency')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Currency/DataRowsTableSeeder.php b/database/seeders/Currency/DataRowsTableSeeder.php new file mode 100644 index 0000000..7835415 --- /dev/null +++ b/database/seeders/Currency/DataRowsTableSeeder.php @@ -0,0 +1,256 @@ +where('slug', 'currencies')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'symbol'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.symbol'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'iso4217'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.iso4217'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'conversion_rate'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'number', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.conversion_rate'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'status'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.status'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + 'details' => [ + 'default' => 'ACTIVE', + 'options' => [ + 'ACTIVE' => 'ACTIVE', + 'INACTIVE' => 'INACTIVE', + ], + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 8, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 9, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 9, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'currency_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 11, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'currency_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + 'order' => 12, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 13, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Currency/DataTypesTableSeeder.php b/database/seeders/Currency/DataTypesTableSeeder.php new file mode 100644 index 0000000..d1cc5b0 --- /dev/null +++ b/database/seeders/Currency/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'currencies'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'currencies', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.currency.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.currency.plural'), + 'icon' => 'voyager-bread voyager-crm-currency voyager-dollar', + 'model_name' => Voyager::modelClass('Currency'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\CurrencyPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Currency/DummyCurrenciesTableSeeder.php b/database/seeders/Currency/DummyCurrenciesTableSeeder.php new file mode 100644 index 0000000..f74a675 --- /dev/null +++ b/database/seeders/Currency/DummyCurrenciesTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Currency/MenuItemsTableSeeder.php b/database/seeders/Currency/MenuItemsTableSeeder.php new file mode 100644 index 0000000..52d9e5e --- /dev/null +++ b/database/seeders/Currency/MenuItemsTableSeeder.php @@ -0,0 +1,39 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.currencies'), + 'url' => '', + 'route' => 'voyager.currencies.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-currency voyager-dollar', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Currency/PermissionsTableSeeder.php b/database/seeders/Currency/PermissionsTableSeeder.php new file mode 100644 index 0000000..81e2e51 --- /dev/null +++ b/database/seeders/Currency/PermissionsTableSeeder.php @@ -0,0 +1,18 @@ +generateFor('currencies'); + } +} diff --git a/database/seeders/Currency/SettingsTableSeeder.php b/database/seeders/Currency/SettingsTableSeeder.php new file mode 100644 index 0000000..ac17ddd --- /dev/null +++ b/database/seeders/Currency/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('currency.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.currency.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Currency', + ])->save(); + } + + $setting = $this->findSetting('currency.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.currency.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Currency', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Currency/TranslationsTableSeeder.php b/database/seeders/Currency/TranslationsTableSeeder.php new file mode 100644 index 0000000..6c07aff --- /dev/null +++ b/database/seeders/Currency/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->currenciesTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function currenciesTranslations() + { + // Adding translations for 'currencies' + // + $cat = Voyager::model('Currency')->where('name', 'currency-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['currencies', 'name'], $cat->id), 'currency-1'); + $this->trans('pt', $this->arr(['currencies', 'description'], $cat->id), 'Currency 1'); + } + $cat = Voyager::model('Currency')->where('name', 'currency-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['currencies', 'name'], $cat->id), 'currency-2'); + $this->trans('pt', $this->arr(['currencies', 'description'], $cat->id), 'Currency 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Currency'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Currencies'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.currencies')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Currencies'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Currency/VoyagerDatabaseSeeder.php b/database/seeders/Currency/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..ea66325 --- /dev/null +++ b/database/seeders/Currency/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + CurrenciesTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Currency/VoyagerDummyDatabaseSeeder.php b/database/seeders/Currency/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..bf0ccf0 --- /dev/null +++ b/database/seeders/Currency/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyCurrenciesTableSeeder::class + ]); + } +} diff --git a/database/seeders/Email/DataRowsTableSeeder.php b/database/seeders/Email/DataRowsTableSeeder.php new file mode 100644 index 0000000..db12209 --- /dev/null +++ b/database/seeders/Email/DataRowsTableSeeder.php @@ -0,0 +1,230 @@ +where('slug', 'emails')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'email_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'email_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'email_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Email/DataTypesTableSeeder.php b/database/seeders/Email/DataTypesTableSeeder.php new file mode 100644 index 0000000..7f29c83 --- /dev/null +++ b/database/seeders/Email/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'emails'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'emails', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.email.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.email.plural'), + 'icon' => 'voyager-bread voyager-crm-email voyager-categories', + 'model_name' => Voyager::modelClass('Email'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\EmailPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Email/DummyEmailsTableSeeder.php b/database/seeders/Email/DummyEmailsTableSeeder.php new file mode 100644 index 0000000..a50e83f --- /dev/null +++ b/database/seeders/Email/DummyEmailsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Email/EmailsTableSeeder.php b/database/seeders/Email/EmailsTableSeeder.php new file mode 100644 index 0000000..01a1339 --- /dev/null +++ b/database/seeders/Email/EmailsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Email')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Email/MenuItemsTableSeeder.php b/database/seeders/Email/MenuItemsTableSeeder.php new file mode 100644 index 0000000..60f21ea --- /dev/null +++ b/database/seeders/Email/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.emails'), + 'url' => '', + 'route' => 'voyager.emails.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-email voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Email/PermissionsTableSeeder.php b/database/seeders/Email/PermissionsTableSeeder.php new file mode 100644 index 0000000..7169500 --- /dev/null +++ b/database/seeders/Email/PermissionsTableSeeder.php @@ -0,0 +1,18 @@ +generateFor('emails'); + } +} diff --git a/database/seeders/Email/SettingsTableSeeder.php b/database/seeders/Email/SettingsTableSeeder.php new file mode 100644 index 0000000..94b0780 --- /dev/null +++ b/database/seeders/Email/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('email.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.email.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Email', + ])->save(); + } + + $setting = $this->findSetting('email.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.email.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Email', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Email/TranslationsTableSeeder.php b/database/seeders/Email/TranslationsTableSeeder.php new file mode 100644 index 0000000..e462a5d --- /dev/null +++ b/database/seeders/Email/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->emailsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function emailsTranslations() + { + // Adding translations for 'emails' + // + $cat = Voyager::model('Email')->where('name', 'email-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['emails', 'name'], $cat->id), 'email-1'); + $this->trans('pt', $this->arr(['emails', 'description'], $cat->id), 'Email 1'); + } + $cat = Voyager::model('Email')->where('name', 'email-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['emails', 'name'], $cat->id), 'email-2'); + $this->trans('pt', $this->arr(['emails', 'description'], $cat->id), 'Email 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Email'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Emails'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.emails')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Emails'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Email/VoyagerDatabaseSeeder.php b/database/seeders/Email/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..4e98a42 --- /dev/null +++ b/database/seeders/Email/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + EmailsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Email/VoyagerDummyDatabaseSeeder.php b/database/seeders/Email/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..48659a7 --- /dev/null +++ b/database/seeders/Email/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyEmailsTableSeeder::class + ]); + } +} diff --git a/database/seeders/EmailCache/DataRowsTableSeeder.php b/database/seeders/EmailCache/DataRowsTableSeeder.php new file mode 100644 index 0000000..71418de --- /dev/null +++ b/database/seeders/EmailCache/DataRowsTableSeeder.php @@ -0,0 +1,231 @@ +where('slug', 'email-caches')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'ie_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'mbox'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.mbox'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'email_cache_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'email_cache_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'email_cache_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/EmailCache/DataTypesTableSeeder.php b/database/seeders/EmailCache/DataTypesTableSeeder.php new file mode 100644 index 0000000..1b97330 --- /dev/null +++ b/database/seeders/EmailCache/DataTypesTableSeeder.php @@ -0,0 +1,43 @@ +dataType('slug', 'email-caches'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'email_cache', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.email_cache.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.email_cache.plural'), + 'icon' => 'voyager-bread voyager-crm-email_cache voyager-categories', + 'model_name' => Voyager::modelClass('EmailCache'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\EmailCachePolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/EmailCache/DummyEmailCachesTableSeeder.php b/database/seeders/EmailCache/DummyEmailCachesTableSeeder.php new file mode 100644 index 0000000..416ff79 --- /dev/null +++ b/database/seeders/EmailCache/DummyEmailCachesTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/EmailCache/EmailCachesTableSeeder.php b/database/seeders/EmailCache/EmailCachesTableSeeder.php new file mode 100644 index 0000000..7ebb03f --- /dev/null +++ b/database/seeders/EmailCache/EmailCachesTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('EmailCache')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/EmailCache/MenuItemsTableSeeder.php b/database/seeders/EmailCache/MenuItemsTableSeeder.php new file mode 100644 index 0000000..7ba600f --- /dev/null +++ b/database/seeders/EmailCache/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.email_caches'), + 'url' => '', + 'route' => 'voyager.email-caches.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-email_cache voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/EmailCache/PermissionsTableSeeder.php b/database/seeders/EmailCache/PermissionsTableSeeder.php new file mode 100644 index 0000000..502d82e --- /dev/null +++ b/database/seeders/EmailCache/PermissionsTableSeeder.php @@ -0,0 +1,18 @@ +generateFor('email_cache'); + } +} diff --git a/database/seeders/EmailCache/SettingsTableSeeder.php b/database/seeders/EmailCache/SettingsTableSeeder.php new file mode 100644 index 0000000..38161c5 --- /dev/null +++ b/database/seeders/EmailCache/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('email_cache.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.email_cache.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'EmailCache', + ])->save(); + } + + $setting = $this->findSetting('email_cache.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.email_cache.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'EmailCache', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/EmailCache/TranslationsTableSeeder.php b/database/seeders/EmailCache/TranslationsTableSeeder.php new file mode 100644 index 0000000..f71a94e --- /dev/null +++ b/database/seeders/EmailCache/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->emailCachesTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function emailCachesTranslations() + { + // Adding translations for 'email_cache' + // + $cat = Voyager::model('EmailCache')->where('name', 'email_cache-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['email_cache', 'name'], $cat->id), 'email-cache-1'); + $this->trans('pt', $this->arr(['email_cache', 'description'], $cat->id), 'EmailCache 1'); + } + $cat = Voyager::model('EmailCache')->where('name', 'email_cache-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['email_cache', 'name'], $cat->id), 'email-cache-2'); + $this->trans('pt', $this->arr(['email_cache', 'description'], $cat->id), 'EmailCache 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'EmailCache'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'EmailCaches'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.email_caches')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'EmailCaches'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/EmailCache/VoyagerDatabaseSeeder.php b/database/seeders/EmailCache/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..26fa43a --- /dev/null +++ b/database/seeders/EmailCache/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + EmailCachesTableSeeder::class, + ]); + } +} diff --git a/database/seeders/EmailCache/VoyagerDummyDatabaseSeeder.php b/database/seeders/EmailCache/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..cb690ec --- /dev/null +++ b/database/seeders/EmailCache/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyEmailCachesTableSeeder::class + ]); + } +} diff --git a/database/seeders/EmailTemplate/DataRowsTableSeeder.php b/database/seeders/EmailTemplate/DataRowsTableSeeder.php new file mode 100644 index 0000000..0fe4efa --- /dev/null +++ b/database/seeders/EmailTemplate/DataRowsTableSeeder.php @@ -0,0 +1,246 @@ +where('slug', 'email-templates')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'email_template_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'email_template_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'email_template_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/EmailTemplate/DataTypesTableSeeder.php b/database/seeders/EmailTemplate/DataTypesTableSeeder.php new file mode 100644 index 0000000..2a63e9e --- /dev/null +++ b/database/seeders/EmailTemplate/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'email-templates'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'email_templates', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.email_template.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.email_template.plural'), + 'icon' => 'voyager-bread voyager-crm-email_template voyager-categories', + 'model_name' => Voyager::modelClass('EmailTemplate'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\EmailTemplatePolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/EmailTemplate/DummyEmailTemplatesTableSeeder.php b/database/seeders/EmailTemplate/DummyEmailTemplatesTableSeeder.php new file mode 100644 index 0000000..51162b3 --- /dev/null +++ b/database/seeders/EmailTemplate/DummyEmailTemplatesTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/EmailTemplate/EmailTemplatesTableSeeder.php b/database/seeders/EmailTemplate/EmailTemplatesTableSeeder.php new file mode 100644 index 0000000..c0eeb29 --- /dev/null +++ b/database/seeders/EmailTemplate/EmailTemplatesTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('EmailTemplate')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/EmailTemplate/MenuItemsTableSeeder.php b/database/seeders/EmailTemplate/MenuItemsTableSeeder.php new file mode 100644 index 0000000..39dd126 --- /dev/null +++ b/database/seeders/EmailTemplate/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.email_templates'), + 'url' => '', + 'route' => 'voyager.email-templates.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-email_template voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/EmailTemplate/PermissionsTableSeeder.php b/database/seeders/EmailTemplate/PermissionsTableSeeder.php new file mode 100644 index 0000000..fbbb979 --- /dev/null +++ b/database/seeders/EmailTemplate/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('email_templates'); + } +} diff --git a/database/seeders/EmailTemplate/SettingsTableSeeder.php b/database/seeders/EmailTemplate/SettingsTableSeeder.php new file mode 100644 index 0000000..dee20b4 --- /dev/null +++ b/database/seeders/EmailTemplate/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('email_template.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.email_template.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'EmailTemplate', + ])->save(); + } + + $setting = $this->findSetting('email_template.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.email_template.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'EmailTemplate', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/EmailTemplate/TranslationsTableSeeder.php b/database/seeders/EmailTemplate/TranslationsTableSeeder.php new file mode 100644 index 0000000..e24de4d --- /dev/null +++ b/database/seeders/EmailTemplate/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->emailTemplatesTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function emailTemplatesTranslations() + { + // Adding translations for 'email_templates' + // + $cat = Voyager::model('EmailTemplate')->where('name', 'email_template-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['email_templates', 'name'], $cat->id), 'email-template-1'); + $this->trans('pt', $this->arr(['email_templates', 'description'], $cat->id), 'EmailTemplate 1'); + } + $cat = Voyager::model('EmailTemplate')->where('name', 'email_template-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['email_templates', 'name'], $cat->id), 'email-template-2'); + $this->trans('pt', $this->arr(['email_templates', 'description'], $cat->id), 'EmailTemplate 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'EmailTemplate'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'EmailTemplates'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.email_templates')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'EmailTemplates'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/EmailTemplate/VoyagerDatabaseSeeder.php b/database/seeders/EmailTemplate/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..1443902 --- /dev/null +++ b/database/seeders/EmailTemplate/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + EmailTemplatesTableSeeder::class, + ]); + } +} diff --git a/database/seeders/EmailTemplate/VoyagerDummyDatabaseSeeder.php b/database/seeders/EmailTemplate/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..89f71a8 --- /dev/null +++ b/database/seeders/EmailTemplate/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyEmailTemplatesTableSeeder::class + ]); + } +} diff --git a/database/seeders/Favorite/DataRowsTableSeeder.php b/database/seeders/Favorite/DataRowsTableSeeder.php new file mode 100644 index 0000000..e2f4cac --- /dev/null +++ b/database/seeders/Favorite/DataRowsTableSeeder.php @@ -0,0 +1,245 @@ +where('slug', 'favorites')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'favorite_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'favorite_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'favorite_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Favorite/DataTypesTableSeeder.php b/database/seeders/Favorite/DataTypesTableSeeder.php new file mode 100644 index 0000000..668bd13 --- /dev/null +++ b/database/seeders/Favorite/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'favorites'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'favorites', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.favorite.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.favorite.plural'), + 'icon' => 'voyager-bread voyager-crm-favorite voyager-categories', + 'model_name' => Voyager::modelClass('Favorite'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\FavoritePolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Favorite/DummyFavoritesTableSeeder.php b/database/seeders/Favorite/DummyFavoritesTableSeeder.php new file mode 100644 index 0000000..0d56992 --- /dev/null +++ b/database/seeders/Favorite/DummyFavoritesTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Favorite/FavoritesTableSeeder.php b/database/seeders/Favorite/FavoritesTableSeeder.php new file mode 100644 index 0000000..4451124 --- /dev/null +++ b/database/seeders/Favorite/FavoritesTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Favorite')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Favorite/MenuItemsTableSeeder.php b/database/seeders/Favorite/MenuItemsTableSeeder.php new file mode 100644 index 0000000..d6fd310 --- /dev/null +++ b/database/seeders/Favorite/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.favorites'), + 'url' => '', + 'route' => 'voyager.favorites.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-favorite voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Favorite/PermissionsTableSeeder.php b/database/seeders/Favorite/PermissionsTableSeeder.php new file mode 100644 index 0000000..757fc88 --- /dev/null +++ b/database/seeders/Favorite/PermissionsTableSeeder.php @@ -0,0 +1,18 @@ +generateFor('favorites'); + } +} diff --git a/database/seeders/Favorite/SettingsTableSeeder.php b/database/seeders/Favorite/SettingsTableSeeder.php new file mode 100644 index 0000000..139a5c4 --- /dev/null +++ b/database/seeders/Favorite/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('favorite.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.favorite.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Favorite', + ])->save(); + } + + $setting = $this->findSetting('favorite.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.favorite.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Favorite', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Favorite/TranslationsTableSeeder.php b/database/seeders/Favorite/TranslationsTableSeeder.php new file mode 100644 index 0000000..46628fb --- /dev/null +++ b/database/seeders/Favorite/TranslationsTableSeeder.php @@ -0,0 +1,111 @@ +dataTypesTranslations(); + $this->favoritesTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function favoritesTranslations() + { + // Adding translations for 'favorites' + // + $cat = Voyager::model('Favorite')->where('name', 'favorite-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['favorites', 'name'], $cat->id), 'favorite-1'); + $this->trans('pt', $this->arr(['favorites', 'description'], $cat->id), 'Favorite 1'); + } + $cat = Voyager::model('Favorite')->where('name', 'favorite-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['favorites', 'name'], $cat->id), 'favorite-2'); + $this->trans('pt', $this->arr(['favorites', 'description'], $cat->id), 'Favorite 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Favorite'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Favorites'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.favorites')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Favorites'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Favorite/VoyagerDatabaseSeeder.php b/database/seeders/Favorite/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..884861c --- /dev/null +++ b/database/seeders/Favorite/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + FavoritesTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Favorite/VoyagerDummyDatabaseSeeder.php b/database/seeders/Favorite/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..a66aa87 --- /dev/null +++ b/database/seeders/Favorite/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyFavoritesTableSeeder::class + ]); + } +} diff --git a/database/seeders/Folder/DataRowsTableSeeder.php b/database/seeders/Folder/DataRowsTableSeeder.php new file mode 100644 index 0000000..fcac743 --- /dev/null +++ b/database/seeders/Folder/DataRowsTableSeeder.php @@ -0,0 +1,231 @@ +where('slug', 'folders')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'folder_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'folder_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'folder_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Folder/DataTypesTableSeeder.php b/database/seeders/Folder/DataTypesTableSeeder.php new file mode 100644 index 0000000..7aa31ad --- /dev/null +++ b/database/seeders/Folder/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'folders'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'folders', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.folder.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.folder.plural'), + 'icon' => 'voyager-bread voyager-crm-folder voyager-categories', + 'model_name' => Voyager::modelClass('Folder'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\FolderPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Folder/DummyFoldersTableSeeder.php b/database/seeders/Folder/DummyFoldersTableSeeder.php new file mode 100644 index 0000000..0f832b5 --- /dev/null +++ b/database/seeders/Folder/DummyFoldersTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Folder/FoldersTableSeeder.php b/database/seeders/Folder/FoldersTableSeeder.php new file mode 100644 index 0000000..2487557 --- /dev/null +++ b/database/seeders/Folder/FoldersTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Folder')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Folder/MenuItemsTableSeeder.php b/database/seeders/Folder/MenuItemsTableSeeder.php new file mode 100644 index 0000000..8ab43c0 --- /dev/null +++ b/database/seeders/Folder/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.folders'), + 'url' => '', + 'route' => 'voyager.folders.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-folder voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Folder/PermissionsTableSeeder.php b/database/seeders/Folder/PermissionsTableSeeder.php new file mode 100644 index 0000000..3c5d9a6 --- /dev/null +++ b/database/seeders/Folder/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('folders'); + } +} diff --git a/database/seeders/Folder/SettingsTableSeeder.php b/database/seeders/Folder/SettingsTableSeeder.php new file mode 100644 index 0000000..d27aecd --- /dev/null +++ b/database/seeders/Folder/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('folder.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.folder.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Folder', + ])->save(); + } + + $setting = $this->findSetting('folder.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.folder.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Folder', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Folder/TranslationsTableSeeder.php b/database/seeders/Folder/TranslationsTableSeeder.php new file mode 100644 index 0000000..82dccd6 --- /dev/null +++ b/database/seeders/Folder/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->foldersTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function foldersTranslations() + { + // Adding translations for 'folders' + // + $cat = Voyager::model('Folder')->where('name', 'folder-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['folders', 'name'], $cat->id), 'folder-1'); + $this->trans('pt', $this->arr(['folders', 'description'], $cat->id), 'Folder 1'); + } + $cat = Voyager::model('Folder')->where('name', 'folder-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['folders', 'name'], $cat->id), 'folder-2'); + $this->trans('pt', $this->arr(['folders', 'description'], $cat->id), 'Folder 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Folder'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Folders'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.folders')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Folders'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Folder/VoyagerDatabaseSeeder.php b/database/seeders/Folder/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..dc1450c --- /dev/null +++ b/database/seeders/Folder/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + FoldersTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Folder/VoyagerDummyDatabaseSeeder.php b/database/seeders/Folder/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..db382b1 --- /dev/null +++ b/database/seeders/Folder/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyFoldersTableSeeder::class + ]); + } +} diff --git a/database/seeders/FpEventLocation/DataRowsTableSeeder.php b/database/seeders/FpEventLocation/DataRowsTableSeeder.php new file mode 100644 index 0000000..c100e39 --- /dev/null +++ b/database/seeders/FpEventLocation/DataRowsTableSeeder.php @@ -0,0 +1,246 @@ +where('slug', 'fp-event-locations')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'fp_event_location_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'fp_event_location_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'fp_event_location_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/FpEventLocation/DataTypesTableSeeder.php b/database/seeders/FpEventLocation/DataTypesTableSeeder.php new file mode 100644 index 0000000..dc12517 --- /dev/null +++ b/database/seeders/FpEventLocation/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'fp-event-locations'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'fp_event_locations', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.fp_event_location.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.fp_event_location.plural'), + 'icon' => 'voyager-bread voyager-crm-fp_event_location voyager-categories', + 'model_name' => Voyager::modelClass('FpEventLocation'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\FpEventLocationPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/FpEventLocation/DummyFpEventLocationsTableSeeder.php b/database/seeders/FpEventLocation/DummyFpEventLocationsTableSeeder.php new file mode 100644 index 0000000..f68b584 --- /dev/null +++ b/database/seeders/FpEventLocation/DummyFpEventLocationsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/FpEventLocation/FpEventLocationsTableSeeder.php b/database/seeders/FpEventLocation/FpEventLocationsTableSeeder.php new file mode 100644 index 0000000..5ad3509 --- /dev/null +++ b/database/seeders/FpEventLocation/FpEventLocationsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('FpEventLocation')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/FpEventLocation/MenuItemsTableSeeder.php b/database/seeders/FpEventLocation/MenuItemsTableSeeder.php new file mode 100644 index 0000000..ec04ef1 --- /dev/null +++ b/database/seeders/FpEventLocation/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.fp_event_locations'), + 'url' => '', + 'route' => 'voyager.fp-event-locations.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-fp_event_location voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/FpEventLocation/PermissionsTableSeeder.php b/database/seeders/FpEventLocation/PermissionsTableSeeder.php new file mode 100644 index 0000000..7b14e78 --- /dev/null +++ b/database/seeders/FpEventLocation/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('fp_event_locations'); + } +} diff --git a/database/seeders/FpEventLocation/SettingsTableSeeder.php b/database/seeders/FpEventLocation/SettingsTableSeeder.php new file mode 100644 index 0000000..9a94cc1 --- /dev/null +++ b/database/seeders/FpEventLocation/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('fp_event_location.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.fp_event_location.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'FpEventLocation', + ])->save(); + } + + $setting = $this->findSetting('fp_event_location.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.fp_event_location.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'FpEventLocation', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/FpEventLocation/TranslationsTableSeeder.php b/database/seeders/FpEventLocation/TranslationsTableSeeder.php new file mode 100644 index 0000000..e29f0c2 --- /dev/null +++ b/database/seeders/FpEventLocation/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->fpEventLocationsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function fpEventLocationsTranslations() + { + // Adding translations for 'fp_event_locations' + // + $cat = Voyager::model('FpEventLocation')->where('name', 'fp_event_location-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['fp_event_locations', 'name'], $cat->id), 'fp-event-location-1'); + $this->trans('pt', $this->arr(['fp_event_locations', 'description'], $cat->id), 'FpEventLocation 1'); + } + $cat = Voyager::model('FpEventLocation')->where('name', 'fp_event_location-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['fp_event_locations', 'name'], $cat->id), 'fp-event-location-2'); + $this->trans('pt', $this->arr(['fp_event_locations', 'description'], $cat->id), 'FpEventLocation 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'FpEventLocation'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'FpEventLocations'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.fp_event_locations')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'FpEventLocations'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/FpEventLocation/VoyagerDatabaseSeeder.php b/database/seeders/FpEventLocation/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..d18b5be --- /dev/null +++ b/database/seeders/FpEventLocation/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + FpEventLocationsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/FpEventLocation/VoyagerDummyDatabaseSeeder.php b/database/seeders/FpEventLocation/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..41de145 --- /dev/null +++ b/database/seeders/FpEventLocation/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyFpEventLocationsTableSeeder::class + ]); + } +} diff --git a/database/seeders/ImportMap/DataRowsTableSeeder.php b/database/seeders/ImportMap/DataRowsTableSeeder.php new file mode 100644 index 0000000..106fe16 --- /dev/null +++ b/database/seeders/ImportMap/DataRowsTableSeeder.php @@ -0,0 +1,230 @@ +where('slug', 'import-maps')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'import_map_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'import_map_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'import_map_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/ImportMap/DataTypesTableSeeder.php b/database/seeders/ImportMap/DataTypesTableSeeder.php new file mode 100644 index 0000000..e3130ef --- /dev/null +++ b/database/seeders/ImportMap/DataTypesTableSeeder.php @@ -0,0 +1,43 @@ +dataType('slug', 'import-maps'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'import_maps', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.import_map.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.import_map.plural'), + 'icon' => 'voyager-bread voyager-crm-import_map voyager-categories', + 'model_name' => Voyager::modelClass('ImportMap'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\ImportMapPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/ImportMap/DummyImportMapsTableSeeder.php b/database/seeders/ImportMap/DummyImportMapsTableSeeder.php new file mode 100644 index 0000000..b608f69 --- /dev/null +++ b/database/seeders/ImportMap/DummyImportMapsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/ImportMap/ImportMapsTableSeeder.php b/database/seeders/ImportMap/ImportMapsTableSeeder.php new file mode 100644 index 0000000..95b747d --- /dev/null +++ b/database/seeders/ImportMap/ImportMapsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('ImportMap')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/ImportMap/MenuItemsTableSeeder.php b/database/seeders/ImportMap/MenuItemsTableSeeder.php new file mode 100644 index 0000000..b70c71f --- /dev/null +++ b/database/seeders/ImportMap/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.import_maps'), + 'url' => '', + 'route' => 'voyager.import-maps.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-import_map voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/ImportMap/PermissionsTableSeeder.php b/database/seeders/ImportMap/PermissionsTableSeeder.php new file mode 100644 index 0000000..7f92b08 --- /dev/null +++ b/database/seeders/ImportMap/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('import_maps'); + } +} diff --git a/database/seeders/ImportMap/SettingsTableSeeder.php b/database/seeders/ImportMap/SettingsTableSeeder.php new file mode 100644 index 0000000..0bfa4ae --- /dev/null +++ b/database/seeders/ImportMap/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('import_map.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.import_map.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'ImportMap', + ])->save(); + } + + $setting = $this->findSetting('import_map.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.import_map.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'ImportMap', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/ImportMap/TranslationsTableSeeder.php b/database/seeders/ImportMap/TranslationsTableSeeder.php new file mode 100644 index 0000000..d5ab0d7 --- /dev/null +++ b/database/seeders/ImportMap/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->importMapsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function importMapsTranslations() + { + // Adding translations for 'import_maps' + // + $cat = Voyager::model('ImportMap')->where('name', 'import_map-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['import_maps', 'name'], $cat->id), 'import-map-1'); + $this->trans('pt', $this->arr(['import_maps', 'description'], $cat->id), 'ImportMap 1'); + } + $cat = Voyager::model('ImportMap')->where('name', 'import_map-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['import_maps', 'name'], $cat->id), 'import-map-2'); + $this->trans('pt', $this->arr(['import_maps', 'description'], $cat->id), 'ImportMap 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'ImportMap'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'ImportMaps'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.import_maps')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'ImportMaps'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/ImportMap/VoyagerDatabaseSeeder.php b/database/seeders/ImportMap/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..974c8fa --- /dev/null +++ b/database/seeders/ImportMap/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + ImportMapsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/ImportMap/VoyagerDummyDatabaseSeeder.php b/database/seeders/ImportMap/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..d94c648 --- /dev/null +++ b/database/seeders/ImportMap/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyImportMapsTableSeeder::class + ]); + } +} diff --git a/database/seeders/InboundEmail/DataRowsTableSeeder.php b/database/seeders/InboundEmail/DataRowsTableSeeder.php new file mode 100644 index 0000000..c850e6c --- /dev/null +++ b/database/seeders/InboundEmail/DataRowsTableSeeder.php @@ -0,0 +1,231 @@ +where('slug', 'inbound-emails')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'inbound_email_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'inbound_email_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'inbound_email_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/InboundEmail/DataTypesTableSeeder.php b/database/seeders/InboundEmail/DataTypesTableSeeder.php new file mode 100644 index 0000000..57b2afc --- /dev/null +++ b/database/seeders/InboundEmail/DataTypesTableSeeder.php @@ -0,0 +1,43 @@ +dataType('slug', 'inbound-emails'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'inbound_email', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.inbound_email.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.inbound_email.plural'), + 'icon' => 'voyager-bread voyager-crm-inbound_email voyager-categories', + 'model_name' => Voyager::modelClass('InboundEmail'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\InboundEmailPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/InboundEmail/DummyInboundEmailsTableSeeder.php b/database/seeders/InboundEmail/DummyInboundEmailsTableSeeder.php new file mode 100644 index 0000000..cc37a92 --- /dev/null +++ b/database/seeders/InboundEmail/DummyInboundEmailsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/InboundEmail/InboundEmailsTableSeeder.php b/database/seeders/InboundEmail/InboundEmailsTableSeeder.php new file mode 100644 index 0000000..2250764 --- /dev/null +++ b/database/seeders/InboundEmail/InboundEmailsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('InboundEmail')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/InboundEmail/MenuItemsTableSeeder.php b/database/seeders/InboundEmail/MenuItemsTableSeeder.php new file mode 100644 index 0000000..0b3f5f0 --- /dev/null +++ b/database/seeders/InboundEmail/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.inbound_emails'), + 'url' => '', + 'route' => 'voyager.inbound-emails.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-inbound_email voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/InboundEmail/PermissionsTableSeeder.php b/database/seeders/InboundEmail/PermissionsTableSeeder.php new file mode 100644 index 0000000..fa36fdf --- /dev/null +++ b/database/seeders/InboundEmail/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('inbound_email'); + } +} diff --git a/database/seeders/InboundEmail/SettingsTableSeeder.php b/database/seeders/InboundEmail/SettingsTableSeeder.php new file mode 100644 index 0000000..b08cacb --- /dev/null +++ b/database/seeders/InboundEmail/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('inbound_email.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.inbound_email.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'InboundEmail', + ])->save(); + } + + $setting = $this->findSetting('inbound_email.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.inbound_email.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'InboundEmail', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/InboundEmail/TranslationsTableSeeder.php b/database/seeders/InboundEmail/TranslationsTableSeeder.php new file mode 100644 index 0000000..a3cd543 --- /dev/null +++ b/database/seeders/InboundEmail/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->inboundEmailsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function inboundEmailsTranslations() + { + // Adding translations for 'inbound_emails' + // + $cat = Voyager::model('InboundEmail')->where('name', 'inbound_email-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['inbound_email', 'name'], $cat->id), 'inbound-email-1'); + $this->trans('pt', $this->arr(['inbound_email', 'description'], $cat->id), 'InboundEmail 1'); + } + $cat = Voyager::model('InboundEmail')->where('name', 'inbound_email-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['inbound_email', 'name'], $cat->id), 'inbound-email-2'); + $this->trans('pt', $this->arr(['inbound_email', 'description'], $cat->id), 'InboundEmail 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'InboundEmail'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'InboundEmails'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.inbound_emails')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'InboundEmails'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/InboundEmail/VoyagerDatabaseSeeder.php b/database/seeders/InboundEmail/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..853af19 --- /dev/null +++ b/database/seeders/InboundEmail/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + InboundEmailsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/InboundEmail/VoyagerDummyDatabaseSeeder.php b/database/seeders/InboundEmail/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..c03c0c2 --- /dev/null +++ b/database/seeders/InboundEmail/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyInboundEmailsTableSeeder::class + ]); + } +} diff --git a/database/seeders/JjwgAddressCache/DataRowsTableSeeder.php b/database/seeders/JjwgAddressCache/DataRowsTableSeeder.php new file mode 100644 index 0000000..a6499f1 --- /dev/null +++ b/database/seeders/JjwgAddressCache/DataRowsTableSeeder.php @@ -0,0 +1,246 @@ +where('slug', 'jjwg-address-caches')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'jjwg_address_cache_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'jjwg_address_cache_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'jjwg_address_cache_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/JjwgAddressCache/DataTypesTableSeeder.php b/database/seeders/JjwgAddressCache/DataTypesTableSeeder.php new file mode 100644 index 0000000..185fa0d --- /dev/null +++ b/database/seeders/JjwgAddressCache/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'jjwg-address-caches'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'jjwg_address_cache', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.jjwg_address_cache.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.jjwg_address_cache.plural'), + 'icon' => 'voyager-bread voyager-crm-jjwg_address_cache voyager-categories', + 'model_name' => Voyager::modelClass('JjwgAddressCache'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\JjwgAddressCachePolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/JjwgAddressCache/DummyJjwgAddressCachesTableSeeder.php b/database/seeders/JjwgAddressCache/DummyJjwgAddressCachesTableSeeder.php new file mode 100644 index 0000000..ae0047c --- /dev/null +++ b/database/seeders/JjwgAddressCache/DummyJjwgAddressCachesTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/JjwgAddressCache/JjwgAddressCachesTableSeeder.php b/database/seeders/JjwgAddressCache/JjwgAddressCachesTableSeeder.php new file mode 100644 index 0000000..45ff088 --- /dev/null +++ b/database/seeders/JjwgAddressCache/JjwgAddressCachesTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('JjwgAddressCache')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/JjwgAddressCache/MenuItemsTableSeeder.php b/database/seeders/JjwgAddressCache/MenuItemsTableSeeder.php new file mode 100644 index 0000000..045bb3f --- /dev/null +++ b/database/seeders/JjwgAddressCache/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.jjwg_address_caches'), + 'url' => '', + 'route' => 'voyager.jjwg-address-caches.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-jjwg_address_cache voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/JjwgAddressCache/PermissionsTableSeeder.php b/database/seeders/JjwgAddressCache/PermissionsTableSeeder.php new file mode 100644 index 0000000..7d4945d --- /dev/null +++ b/database/seeders/JjwgAddressCache/PermissionsTableSeeder.php @@ -0,0 +1,18 @@ +generateFor('jjwg_address_cache'); + } +} diff --git a/database/seeders/JjwgAddressCache/SettingsTableSeeder.php b/database/seeders/JjwgAddressCache/SettingsTableSeeder.php new file mode 100644 index 0000000..255ef13 --- /dev/null +++ b/database/seeders/JjwgAddressCache/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('jjwg_address_cache.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.jjwg_address_cache.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'JjwgAddressCache', + ])->save(); + } + + $setting = $this->findSetting('jjwg_address_cache.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.jjwg_address_cache.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'JjwgAddressCache', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/JjwgAddressCache/TranslationsTableSeeder.php b/database/seeders/JjwgAddressCache/TranslationsTableSeeder.php new file mode 100644 index 0000000..95e40d7 --- /dev/null +++ b/database/seeders/JjwgAddressCache/TranslationsTableSeeder.php @@ -0,0 +1,111 @@ +dataTypesTranslations(); + $this->jjwgAddressCachesTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function jjwgAddressCachesTranslations() + { + // Adding translations for 'jjwg_address_cache' + // + $cat = Voyager::model('JjwgAddressCache')->where('name', 'jjwg_address_cache-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['jjwg_address_cache', 'name'], $cat->id), 'jjwg-address-cache-1'); + $this->trans('pt', $this->arr(['jjwg_address_cache', 'description'], $cat->id), 'JjwgAddressCache 1'); + } + $cat = Voyager::model('JjwgAddressCache')->where('name', 'jjwg_address_cache-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['jjwg_address_cache', 'name'], $cat->id), 'jjwg-address-cache-2'); + $this->trans('pt', $this->arr(['jjwg_address_cache', 'description'], $cat->id), 'JjwgAddressCache 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'JjwgAddressCache'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'JjwgAddressCaches'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.jjwg_address_caches')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'JjwgAddressCaches'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/JjwgAddressCache/VoyagerDatabaseSeeder.php b/database/seeders/JjwgAddressCache/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..eb75a2e --- /dev/null +++ b/database/seeders/JjwgAddressCache/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + JjwgAddressCachesTableSeeder::class, + ]); + } +} diff --git a/database/seeders/JjwgAddressCache/VoyagerDummyDatabaseSeeder.php b/database/seeders/JjwgAddressCache/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..b088ef7 --- /dev/null +++ b/database/seeders/JjwgAddressCache/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyJjwgAddressCachesTableSeeder::class + ]); + } +} diff --git a/database/seeders/JjwgArea/DataRowsTableSeeder.php b/database/seeders/JjwgArea/DataRowsTableSeeder.php new file mode 100644 index 0000000..e467090 --- /dev/null +++ b/database/seeders/JjwgArea/DataRowsTableSeeder.php @@ -0,0 +1,246 @@ +where('slug', 'jjwg-areas')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'jjwg_area_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'jjwg_area_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'jjwg_area_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/JjwgArea/DataTypesTableSeeder.php b/database/seeders/JjwgArea/DataTypesTableSeeder.php new file mode 100644 index 0000000..44516b8 --- /dev/null +++ b/database/seeders/JjwgArea/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'jjwg-areas'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'jjwg_areas', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.jjwg_area.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.jjwg_area.plural'), + 'icon' => 'voyager-bread voyager-crm-jjwg_area voyager-categories', + 'model_name' => Voyager::modelClass('JjwgArea'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\JjwgAreaPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/JjwgArea/DummyJjwgAreasTableSeeder.php b/database/seeders/JjwgArea/DummyJjwgAreasTableSeeder.php new file mode 100644 index 0000000..512b304 --- /dev/null +++ b/database/seeders/JjwgArea/DummyJjwgAreasTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/JjwgArea/JjwgAreasTableSeeder.php b/database/seeders/JjwgArea/JjwgAreasTableSeeder.php new file mode 100644 index 0000000..b32013c --- /dev/null +++ b/database/seeders/JjwgArea/JjwgAreasTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('JjwgArea')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/JjwgArea/MenuItemsTableSeeder.php b/database/seeders/JjwgArea/MenuItemsTableSeeder.php new file mode 100644 index 0000000..a631690 --- /dev/null +++ b/database/seeders/JjwgArea/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.jjwg_areas'), + 'url' => '', + 'route' => 'voyager.jjwg-areas.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-jjwg_area voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/JjwgArea/PermissionsTableSeeder.php b/database/seeders/JjwgArea/PermissionsTableSeeder.php new file mode 100644 index 0000000..0039c50 --- /dev/null +++ b/database/seeders/JjwgArea/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('jjwg_areas'); + } +} diff --git a/database/seeders/JjwgArea/SettingsTableSeeder.php b/database/seeders/JjwgArea/SettingsTableSeeder.php new file mode 100644 index 0000000..18d7515 --- /dev/null +++ b/database/seeders/JjwgArea/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('jjwg_area.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.jjwg_area.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'JjwgArea', + ])->save(); + } + + $setting = $this->findSetting('jjwg_area.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.jjwg_area.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'JjwgArea', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/JjwgArea/TranslationsTableSeeder.php b/database/seeders/JjwgArea/TranslationsTableSeeder.php new file mode 100644 index 0000000..f051c7c --- /dev/null +++ b/database/seeders/JjwgArea/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->jjwgAreasTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function jjwgAreasTranslations() + { + // Adding translations for 'jjwg_areas' + // + $cat = Voyager::model('JjwgArea')->where('name', 'jjwg_area-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['jjwg_areas', 'name'], $cat->id), 'jjwg-area-1'); + $this->trans('pt', $this->arr(['jjwg_areas', 'description'], $cat->id), 'JjwgArea 1'); + } + $cat = Voyager::model('JjwgArea')->where('name', 'jjwg_area-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['jjwg_areas', 'name'], $cat->id), 'jjwg-area-2'); + $this->trans('pt', $this->arr(['jjwg_areas', 'description'], $cat->id), 'JjwgArea 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'JjwgArea'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'JjwgAreas'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.jjwg_areas')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'JjwgAreas'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/JjwgArea/VoyagerDatabaseSeeder.php b/database/seeders/JjwgArea/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..5f7ed48 --- /dev/null +++ b/database/seeders/JjwgArea/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + JjwgAreasTableSeeder::class, + ]); + } +} diff --git a/database/seeders/JjwgArea/VoyagerDummyDatabaseSeeder.php b/database/seeders/JjwgArea/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..0dacf49 --- /dev/null +++ b/database/seeders/JjwgArea/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyJjwgAreasTableSeeder::class + ]); + } +} diff --git a/database/seeders/JjwgMap/DataRowsTableSeeder.php b/database/seeders/JjwgMap/DataRowsTableSeeder.php new file mode 100644 index 0000000..a46d8e7 --- /dev/null +++ b/database/seeders/JjwgMap/DataRowsTableSeeder.php @@ -0,0 +1,246 @@ +where('slug', 'jjwg-maps')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'jjwg_map_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'jjwg_map_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'jjwg_map_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/JjwgMap/DataTypesTableSeeder.php b/database/seeders/JjwgMap/DataTypesTableSeeder.php new file mode 100644 index 0000000..4a21ab6 --- /dev/null +++ b/database/seeders/JjwgMap/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'jjwg-maps'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'jjwg_maps', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.jjwg_map.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.jjwg_map.plural'), + 'icon' => 'voyager-bread voyager-crm-jjwg_map voyager-categories', + 'model_name' => Voyager::modelClass('JjwgMap'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\JjwgMapPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/JjwgMap/DummyJjwgMapsTableSeeder.php b/database/seeders/JjwgMap/DummyJjwgMapsTableSeeder.php new file mode 100644 index 0000000..318395a --- /dev/null +++ b/database/seeders/JjwgMap/DummyJjwgMapsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/JjwgMap/JjwgMapsTableSeeder.php b/database/seeders/JjwgMap/JjwgMapsTableSeeder.php new file mode 100644 index 0000000..10b9925 --- /dev/null +++ b/database/seeders/JjwgMap/JjwgMapsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('JjwgMap')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/JjwgMap/MenuItemsTableSeeder.php b/database/seeders/JjwgMap/MenuItemsTableSeeder.php new file mode 100644 index 0000000..5fec24e --- /dev/null +++ b/database/seeders/JjwgMap/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.jjwg_maps'), + 'url' => '', + 'route' => 'voyager.jjwg-maps.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-jjwg_map voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/JjwgMap/PermissionsTableSeeder.php b/database/seeders/JjwgMap/PermissionsTableSeeder.php new file mode 100644 index 0000000..43036d5 --- /dev/null +++ b/database/seeders/JjwgMap/PermissionsTableSeeder.php @@ -0,0 +1,18 @@ +generateFor('jjwg_maps'); + } +} diff --git a/database/seeders/JjwgMap/SettingsTableSeeder.php b/database/seeders/JjwgMap/SettingsTableSeeder.php new file mode 100644 index 0000000..95a9565 --- /dev/null +++ b/database/seeders/JjwgMap/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('jjwg_map.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.jjwg_map.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'JjwgMap', + ])->save(); + } + + $setting = $this->findSetting('jjwg_map.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.jjwg_map.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'JjwgMap', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/JjwgMap/TranslationsTableSeeder.php b/database/seeders/JjwgMap/TranslationsTableSeeder.php new file mode 100644 index 0000000..5c0cfdc --- /dev/null +++ b/database/seeders/JjwgMap/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->jjwgMapsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function jjwgMapsTranslations() + { + // Adding translations for 'jjwg_maps' + // + $cat = Voyager::model('JjwgMap')->where('name', 'jjwg_map-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['jjwg_maps', 'name'], $cat->id), 'jjwg-map-1'); + $this->trans('pt', $this->arr(['jjwg_maps', 'description'], $cat->id), 'JjwgMap 1'); + } + $cat = Voyager::model('JjwgMap')->where('name', 'jjwg_map-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['jjwg_maps', 'name'], $cat->id), 'jjwg-map-2'); + $this->trans('pt', $this->arr(['jjwg_maps', 'description'], $cat->id), 'JjwgMap 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'JjwgMap'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'JjwgMaps'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.jjwg_maps')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'JjwgMaps'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/JjwgMap/VoyagerDatabaseSeeder.php b/database/seeders/JjwgMap/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..d7dac73 --- /dev/null +++ b/database/seeders/JjwgMap/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + JjwgMapsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/JjwgMap/VoyagerDummyDatabaseSeeder.php b/database/seeders/JjwgMap/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..f683a5b --- /dev/null +++ b/database/seeders/JjwgMap/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyJjwgMapsTableSeeder::class + ]); + } +} diff --git a/database/seeders/JjwgMarker/DataRowsTableSeeder.php b/database/seeders/JjwgMarker/DataRowsTableSeeder.php new file mode 100644 index 0000000..eafe4f6 --- /dev/null +++ b/database/seeders/JjwgMarker/DataRowsTableSeeder.php @@ -0,0 +1,246 @@ +where('slug', 'jjwg-markers')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'jjwg_marker_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'jjwg_marker_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'jjwg_marker_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/JjwgMarker/DataTypesTableSeeder.php b/database/seeders/JjwgMarker/DataTypesTableSeeder.php new file mode 100644 index 0000000..1192f0a --- /dev/null +++ b/database/seeders/JjwgMarker/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'jjwg-markers'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'jjwg_markers', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.jjwg_marker.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.jjwg_marker.plural'), + 'icon' => 'voyager-bread voyager-crm-jjwg_marker voyager-categories', + 'model_name' => Voyager::modelClass('JjwgMarker'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\JjwgMarkerPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/JjwgMarker/DummyJjwgMarkersTableSeeder.php b/database/seeders/JjwgMarker/DummyJjwgMarkersTableSeeder.php new file mode 100644 index 0000000..46f23ed --- /dev/null +++ b/database/seeders/JjwgMarker/DummyJjwgMarkersTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/JjwgMarker/JjwgMarkersTableSeeder.php b/database/seeders/JjwgMarker/JjwgMarkersTableSeeder.php new file mode 100644 index 0000000..c1a5be6 --- /dev/null +++ b/database/seeders/JjwgMarker/JjwgMarkersTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('JjwgMarker')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/JjwgMarker/MenuItemsTableSeeder.php b/database/seeders/JjwgMarker/MenuItemsTableSeeder.php new file mode 100644 index 0000000..581fffe --- /dev/null +++ b/database/seeders/JjwgMarker/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.jjwg_markers'), + 'url' => '', + 'route' => 'voyager.jjwg-markers.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-jjwg_marker voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/JjwgMarker/PermissionsTableSeeder.php b/database/seeders/JjwgMarker/PermissionsTableSeeder.php new file mode 100644 index 0000000..2970019 --- /dev/null +++ b/database/seeders/JjwgMarker/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('jjwg_markers'); + } +} diff --git a/database/seeders/JjwgMarker/SettingsTableSeeder.php b/database/seeders/JjwgMarker/SettingsTableSeeder.php new file mode 100644 index 0000000..9bf12fe --- /dev/null +++ b/database/seeders/JjwgMarker/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('jjwg_marker.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.jjwg_marker.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'JjwgMarker', + ])->save(); + } + + $setting = $this->findSetting('jjwg_marker.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.jjwg_marker.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'JjwgMarker', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/JjwgMarker/TranslationsTableSeeder.php b/database/seeders/JjwgMarker/TranslationsTableSeeder.php new file mode 100644 index 0000000..589605b --- /dev/null +++ b/database/seeders/JjwgMarker/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->jjwgMarkersTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function jjwgMarkersTranslations() + { + // Adding translations for 'jjwg_markers' + // + $cat = Voyager::model('JjwgMarker')->where('name', 'jjwg_marker-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['jjwg_markers', 'name'], $cat->id), 'jjwg-marker-1'); + $this->trans('pt', $this->arr(['jjwg_markers', 'description'], $cat->id), 'JjwgMarker 1'); + } + $cat = Voyager::model('JjwgMarker')->where('name', 'jjwg_marker-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['jjwg_markers', 'name'], $cat->id), 'jjwg-marker-2'); + $this->trans('pt', $this->arr(['jjwg_markers', 'description'], $cat->id), 'JjwgMarker 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'JjwgMarker'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'JjwgMarkers'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.jjwg_markers')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'JjwgMarkers'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/JjwgMarker/VoyagerDatabaseSeeder.php b/database/seeders/JjwgMarker/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..29a94ab --- /dev/null +++ b/database/seeders/JjwgMarker/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + JjwgMarkersTableSeeder::class, + ]); + } +} diff --git a/database/seeders/JjwgMarker/VoyagerDummyDatabaseSeeder.php b/database/seeders/JjwgMarker/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..0503aa9 --- /dev/null +++ b/database/seeders/JjwgMarker/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyJjwgMarkersTableSeeder::class + ]); + } +} diff --git a/database/seeders/Meeting/DataRowsTableSeeder.php b/database/seeders/Meeting/DataRowsTableSeeder.php new file mode 100644 index 0000000..9057279 --- /dev/null +++ b/database/seeders/Meeting/DataRowsTableSeeder.php @@ -0,0 +1,245 @@ +where('slug', 'meetings')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'meeting_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'meeting_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'meeting_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Meeting/DataTypesTableSeeder.php b/database/seeders/Meeting/DataTypesTableSeeder.php new file mode 100644 index 0000000..368eb98 --- /dev/null +++ b/database/seeders/Meeting/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'meetings'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'meetings', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.meeting.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.meeting.plural'), + 'icon' => 'voyager-bread voyager-crm-meeting voyager-categories', + 'model_name' => Voyager::modelClass('Meeting'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\MeetingPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Meeting/DummyMeetingsTableSeeder.php b/database/seeders/Meeting/DummyMeetingsTableSeeder.php new file mode 100644 index 0000000..f1bac80 --- /dev/null +++ b/database/seeders/Meeting/DummyMeetingsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Meeting/MeetingsTableSeeder.php b/database/seeders/Meeting/MeetingsTableSeeder.php new file mode 100644 index 0000000..4f535e2 --- /dev/null +++ b/database/seeders/Meeting/MeetingsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Meeting')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Meeting/MenuItemsTableSeeder.php b/database/seeders/Meeting/MenuItemsTableSeeder.php new file mode 100644 index 0000000..3ae6156 --- /dev/null +++ b/database/seeders/Meeting/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.meetings'), + 'url' => '', + 'route' => 'voyager.meetings.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-meeting voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Meeting/PermissionsTableSeeder.php b/database/seeders/Meeting/PermissionsTableSeeder.php new file mode 100644 index 0000000..04f3dfc --- /dev/null +++ b/database/seeders/Meeting/PermissionsTableSeeder.php @@ -0,0 +1,18 @@ +generateFor('meetings'); + } +} diff --git a/database/seeders/Meeting/SettingsTableSeeder.php b/database/seeders/Meeting/SettingsTableSeeder.php new file mode 100644 index 0000000..578fcbd --- /dev/null +++ b/database/seeders/Meeting/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('meeting.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.meeting.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Meeting', + ])->save(); + } + + $setting = $this->findSetting('meeting.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.meeting.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Meeting', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Meeting/TranslationsTableSeeder.php b/database/seeders/Meeting/TranslationsTableSeeder.php new file mode 100644 index 0000000..ea3fd0a --- /dev/null +++ b/database/seeders/Meeting/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->meetingsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function meetingsTranslations() + { + // Adding translations for 'meetings' + // + $cat = Voyager::model('Meeting')->where('name', 'meeting-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['meetings', 'name'], $cat->id), 'meeting-1'); + $this->trans('pt', $this->arr(['meetings', 'description'], $cat->id), 'Meeting 1'); + } + $cat = Voyager::model('Meeting')->where('name', 'meeting-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['meetings', 'name'], $cat->id), 'meeting-2'); + $this->trans('pt', $this->arr(['meetings', 'description'], $cat->id), 'Meeting 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Meeting'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Meetings'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.meetings')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Meetings'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Meeting/VoyagerDatabaseSeeder.php b/database/seeders/Meeting/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..1830d65 --- /dev/null +++ b/database/seeders/Meeting/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + MeetingsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Meeting/VoyagerDummyDatabaseSeeder.php b/database/seeders/Meeting/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..2f412db --- /dev/null +++ b/database/seeders/Meeting/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyMeetingsTableSeeder::class + ]); + } +} diff --git a/database/seeders/MenuItemsTableSeeder.php b/database/seeders/MenuItemsTableSeeder.php index 2bc9aa8..6316873 100644 --- a/database/seeders/MenuItemsTableSeeder.php +++ b/database/seeders/MenuItemsTableSeeder.php @@ -15,9 +15,9 @@ class MenuItemsTableSeeder extends Seeder */ public function run($parentMenuId = null) { - // $menu = Menu::where('name', 'admin')->firstOrFail(); + // $menu = Voyager::model('Menu')->where('name', 'admin')->firstOrFail(); - // // $crmMenuItem = MenuItem::firstOrNew([ + // // $crmMenuItem = Voyager::model('MenuItem')->firstOrNew([ // // 'menu_id' => $menu->id, // // 'title' => __('joy-voyager-crm::seeders.menu_items.crm'), // // 'url' => '', @@ -28,11 +28,11 @@ public function run($parentMenuId = null) // // 'icon_class' => 'voyager-list', // // 'color' => null, // // 'parent_id' => $parentMenuId, - // // 'order' => MenuItem::max('order') + 1, + // // 'order' => Voyager::model('MenuItem')->max('order') + 1, // // ])->save(); // // } - // $salesMenuItem = MenuItem::firstOrNew([ + // $salesMenuItem = Voyager::model('MenuItem')->firstOrNew([ // 'menu_id' => $menu->id, // 'title' => __('joy-voyager-crm::seeders.menu_items.sales'), // 'url' => '', @@ -43,13 +43,13 @@ public function run($parentMenuId = null) // 'icon_class' => 'voyager-shop', // 'color' => null, // 'parent_id' => $parentMenuId, - // 'order' => MenuItem::max('order') + 1, + // 'order' => Voyager::model('MenuItem')->max('order') + 1, // ])->save(); // } // $this->call( // [ - // \Joy\VoyagerBreadAccount\Database\Seeders\MenuItemsTableSeeder::class, + // \Joy\VoyagerCrm\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadContact\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadLead\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadOpportunity\Database\Seeders\MenuItemsTableSeeder::class, @@ -58,7 +58,7 @@ public function run($parentMenuId = null) // ['parentMenuId' => $salesMenuItem->id] // ); - // $marketingMenuItem = MenuItem::firstOrNew([ + // $marketingMenuItem = Voyager::model('MenuItem')->firstOrNew([ // 'menu_id' => $menu->id, // 'title' => __('joy-voyager-crm::seeders.menu_items.marketing'), // 'url' => '', @@ -69,13 +69,13 @@ public function run($parentMenuId = null) // 'icon_class' => 'voyager-megaphone', // 'color' => null, // 'parent_id' => $parentMenuId, - // 'order' => MenuItem::max('order') + 1, + // 'order' => Voyager::model('MenuItem')->max('order') + 1, // ])->save(); // } // $this->call( // [ - // \Joy\VoyagerBreadAccount\Database\Seeders\MenuItemsTableSeeder::class, + // \Joy\VoyagerCrm\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadContact\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadLead\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadCampaign\Database\Seeders\MenuItemsTableSeeder::class, @@ -86,7 +86,7 @@ public function run($parentMenuId = null) // ['parentMenuId' => $marketingMenuItem->id] // ); - // $supportMenuItem = MenuItem::firstOrNew([ + // $supportMenuItem = Voyager::model('MenuItem')->firstOrNew([ // 'menu_id' => $menu->id, // 'title' => __('joy-voyager-crm::seeders.menu_items.support'), // 'url' => '', @@ -97,13 +97,13 @@ public function run($parentMenuId = null) // 'icon_class' => 'voyager-question', // 'color' => null, // 'parent_id' => $parentMenuId, - // 'order' => MenuItem::max('order') + 1, + // 'order' => Voyager::model('MenuItem')->max('order') + 1, // ])->save(); // } // $this->call( // [ - // \Joy\VoyagerBreadAccount\Database\Seeders\MenuItemsTableSeeder::class, + // \Joy\VoyagerCrm\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadContact\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadTicket\Database\Seeders\MenuItemsTableSeeder::class, // ], @@ -111,7 +111,7 @@ public function run($parentMenuId = null) // ['parentMenuId' => $supportMenuItem->id] // ); - // $activitiesMenuItem = MenuItem::firstOrNew([ + // $activitiesMenuItem = Voyager::model('MenuItem')->firstOrNew([ // 'menu_id' => $menu->id, // 'title' => __('joy-voyager-crm::seeders.menu_items.activities'), // 'url' => '', @@ -122,7 +122,7 @@ public function run($parentMenuId = null) // 'icon_class' => 'voyager-activity', // 'color' => null, // 'parent_id' => $parentMenuId, - // 'order' => MenuItem::max('order') + 1, + // 'order' => Voyager::model('MenuItem')->max('order') + 1, // ])->save(); // } @@ -139,7 +139,7 @@ public function run($parentMenuId = null) // ['parentMenuId' => $activitiesMenuItem->id] // ); - // $collaborationMenuItem = MenuItem::firstOrNew([ + // $collaborationMenuItem = Voyager::model('MenuItem')->firstOrNew([ // 'menu_id' => $menu->id, // 'title' => __('joy-voyager-crm::seeders.menu_items.collaboration'), // 'url' => '', @@ -150,7 +150,7 @@ public function run($parentMenuId = null) // 'icon_class' => 'voyager-puzzle', // 'color' => null, // 'parent_id' => $parentMenuId, - // 'order' => MenuItem::max('order') + 1, + // 'order' => Voyager::model('MenuItem')->max('order') + 1, // ])->save(); // } @@ -165,7 +165,7 @@ public function run($parentMenuId = null) // ['parentMenuId' => $collaborationMenuItem->id] // ); - // $allMenuItem = MenuItem::firstOrNew([ + // $allMenuItem = Voyager::model('MenuItem')->firstOrNew([ // 'menu_id' => $menu->id, // 'title' => __('joy-voyager-crm::seeders.menu_items.all'), // 'url' => '', @@ -176,13 +176,13 @@ public function run($parentMenuId = null) // 'icon_class' => 'voyager-list', // 'color' => null, // 'parent_id' => $parentMenuId, - // 'order' => MenuItem::max('order') + 1, + // 'order' => Voyager::model('MenuItem')->max('order') + 1, // ])->save(); // } // $this->call( // [ - // \Joy\VoyagerBreadAccount\Database\Seeders\MenuItemsTableSeeder::class, + // \Joy\VoyagerCrm\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadContact\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadOpportunity\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadLead\Database\Seeders\MenuItemsTableSeeder::class, @@ -204,7 +204,7 @@ public function run($parentMenuId = null) // \Joy\VoyagerBreadLocation\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadProduct\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadProductCategory\Database\Seeders\MenuItemsTableSeeder::class, - // \Joy\VoyagerBreadPdfTemplate\Database\Seeders\MenuItemsTableSeeder::class, + // \Joy\VoyagerBreadAosProductCategory\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadReport\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadArticle\Database\Seeders\MenuItemsTableSeeder::class, // \Joy\VoyagerBreadArticleCategory\Database\Seeders\MenuItemsTableSeeder::class, @@ -229,7 +229,7 @@ public function run($parentMenuId = null) // ); // // $this->call([ - // // \Joy\VoyagerBreadAccount\Database\Seeders\MenuItemsTableSeeder::class, + // // \Joy\VoyagerCrm\Database\Seeders\MenuItemsTableSeeder::class, // // \Joy\VoyagerBreadActivity\Database\Seeders\MenuItemsTableSeeder::class, // // \Joy\VoyagerBreadArticle\Database\Seeders\MenuItemsTableSeeder::class, // // \Joy\VoyagerBreadArticleCategory\Database\Seeders\MenuItemsTableSeeder::class, @@ -253,7 +253,7 @@ public function run($parentMenuId = null) // // \Joy\VoyagerBreadNotification\Database\Seeders\MenuItemsTableSeeder::class, // // \Joy\VoyagerBreadOpportunity\Database\Seeders\MenuItemsTableSeeder::class, // // \Joy\VoyagerBreadOrder\Database\Seeders\MenuItemsTableSeeder::class, - // // \Joy\VoyagerBreadPdfTemplate\Database\Seeders\MenuItemsTableSeeder::class, + // // \Joy\VoyagerBreadAosProductCategory\Database\Seeders\MenuItemsTableSeeder::class, // // \Joy\VoyagerBreadPipeline\Database\Seeders\MenuItemsTableSeeder::class, // // \Joy\VoyagerBreadPlan\Database\Seeders\MenuItemsTableSeeder::class, // // \Joy\VoyagerBreadProduct\Database\Seeders\MenuItemsTableSeeder::class, diff --git a/database/seeders/OutboundEmail/DataRowsTableSeeder.php b/database/seeders/OutboundEmail/DataRowsTableSeeder.php new file mode 100644 index 0000000..d344e32 --- /dev/null +++ b/database/seeders/OutboundEmail/DataRowsTableSeeder.php @@ -0,0 +1,231 @@ +where('slug', 'outbound-emails')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'outbound_email_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'outbound_email_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'outbound_email_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/OutboundEmail/DataTypesTableSeeder.php b/database/seeders/OutboundEmail/DataTypesTableSeeder.php new file mode 100644 index 0000000..afd31e3 --- /dev/null +++ b/database/seeders/OutboundEmail/DataTypesTableSeeder.php @@ -0,0 +1,43 @@ +dataType('slug', 'outbound-emails'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'outbound_email', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.outbound_email.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.outbound_email.plural'), + 'icon' => 'voyager-bread voyager-crm-outbound_email voyager-categories', + 'model_name' => Voyager::modelClass('OutboundEmail'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\OutboundEmailPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/OutboundEmail/DummyOutboundEmailsTableSeeder.php b/database/seeders/OutboundEmail/DummyOutboundEmailsTableSeeder.php new file mode 100644 index 0000000..acdb33d --- /dev/null +++ b/database/seeders/OutboundEmail/DummyOutboundEmailsTableSeeder.php @@ -0,0 +1,27 @@ +factory() + ->count($count) + ->state(function (array $attributes) use ($count) { + return [ + 'user_id' => optional(Voyager::model('User')->inRandomOrder()->take(1)->first())->id + ]; + }) + ->create(); + } +} diff --git a/database/seeders/OutboundEmail/MenuItemsTableSeeder.php b/database/seeders/OutboundEmail/MenuItemsTableSeeder.php new file mode 100644 index 0000000..7f48f5d --- /dev/null +++ b/database/seeders/OutboundEmail/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.outbound_emails'), + 'url' => '', + 'route' => 'voyager.outbound-emails.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-outbound_email voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/OutboundEmail/OutboundEmailsTableSeeder.php b/database/seeders/OutboundEmail/OutboundEmailsTableSeeder.php new file mode 100644 index 0000000..22e08e0 --- /dev/null +++ b/database/seeders/OutboundEmail/OutboundEmailsTableSeeder.php @@ -0,0 +1,31 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('OutboundEmail')->factory() + ->count($count) + ->state(function (array $attributes) use ($count) { + return [ + 'user_id' => optional(Voyager::model('User')->inRandomOrder()->take(1)->first())->id + ]; + }) + ->create(); + } +} diff --git a/database/seeders/OutboundEmail/PermissionsTableSeeder.php b/database/seeders/OutboundEmail/PermissionsTableSeeder.php new file mode 100644 index 0000000..22908ad --- /dev/null +++ b/database/seeders/OutboundEmail/PermissionsTableSeeder.php @@ -0,0 +1,18 @@ +generateFor('outbound_email'); + } +} diff --git a/database/seeders/OutboundEmail/SettingsTableSeeder.php b/database/seeders/OutboundEmail/SettingsTableSeeder.php new file mode 100644 index 0000000..94f071e --- /dev/null +++ b/database/seeders/OutboundEmail/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('outbound_email.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.outbound_email.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'OutboundEmail', + ])->save(); + } + + $setting = $this->findSetting('outbound_email.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.outbound_email.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'OutboundEmail', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/OutboundEmail/TranslationsTableSeeder.php b/database/seeders/OutboundEmail/TranslationsTableSeeder.php new file mode 100644 index 0000000..54f1e8d --- /dev/null +++ b/database/seeders/OutboundEmail/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->outboundEmailsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function outboundEmailsTranslations() + { + // Adding translations for 'outbound_emails' + // + $cat = Voyager::model('OutboundEmail')->where('name', 'outbound_email-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['outbound_email', 'name'], $cat->id), 'outbound-email-1'); + $this->trans('pt', $this->arr(['outbound_email', 'description'], $cat->id), 'OutboundEmail 1'); + } + $cat = Voyager::model('OutboundEmail')->where('name', 'outbound_email-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['outbound_email', 'name'], $cat->id), 'outbound-email-2'); + $this->trans('pt', $this->arr(['outbound_email', 'description'], $cat->id), 'OutboundEmail 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'OutboundEmail'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'OutboundEmails'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.outbound_emails')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'OutboundEmails'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/OutboundEmail/VoyagerDatabaseSeeder.php b/database/seeders/OutboundEmail/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..801f96f --- /dev/null +++ b/database/seeders/OutboundEmail/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + OutboundEmailsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/OutboundEmail/VoyagerDummyDatabaseSeeder.php b/database/seeders/OutboundEmail/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..913a3ce --- /dev/null +++ b/database/seeders/OutboundEmail/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyOutboundEmailsTableSeeder::class + ]); + } +} diff --git a/database/seeders/Project/DataRowsTableSeeder.php b/database/seeders/Project/DataRowsTableSeeder.php new file mode 100644 index 0000000..3e7c880 --- /dev/null +++ b/database/seeders/Project/DataRowsTableSeeder.php @@ -0,0 +1,246 @@ +where('slug', 'projects')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'project_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'project_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'project_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Project/DataTypesTableSeeder.php b/database/seeders/Project/DataTypesTableSeeder.php new file mode 100644 index 0000000..390dafd --- /dev/null +++ b/database/seeders/Project/DataTypesTableSeeder.php @@ -0,0 +1,43 @@ +dataType('slug', 'projects'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'project', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.project.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.project.plural'), + 'icon' => 'voyager-bread voyager-crm-project voyager-categories', + 'model_name' => Voyager::modelClass('Project'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\ProjectPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Project/DummyProjectsTableSeeder.php b/database/seeders/Project/DummyProjectsTableSeeder.php new file mode 100644 index 0000000..7e424e4 --- /dev/null +++ b/database/seeders/Project/DummyProjectsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Project/MenuItemsTableSeeder.php b/database/seeders/Project/MenuItemsTableSeeder.php new file mode 100644 index 0000000..93fc1ce --- /dev/null +++ b/database/seeders/Project/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.projects'), + 'url' => '', + 'route' => 'voyager.projects.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-project voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Project/PermissionsTableSeeder.php b/database/seeders/Project/PermissionsTableSeeder.php new file mode 100644 index 0000000..d41c0d4 --- /dev/null +++ b/database/seeders/Project/PermissionsTableSeeder.php @@ -0,0 +1,18 @@ +generateFor('project'); + } +} diff --git a/database/seeders/Project/ProjectsTableSeeder.php b/database/seeders/Project/ProjectsTableSeeder.php new file mode 100644 index 0000000..c13d06d --- /dev/null +++ b/database/seeders/Project/ProjectsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Project')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Project/SettingsTableSeeder.php b/database/seeders/Project/SettingsTableSeeder.php new file mode 100644 index 0000000..19a8fd2 --- /dev/null +++ b/database/seeders/Project/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('project.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.project.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Project', + ])->save(); + } + + $setting = $this->findSetting('project.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.project.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Project', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Project/TranslationsTableSeeder.php b/database/seeders/Project/TranslationsTableSeeder.php new file mode 100644 index 0000000..eaa8ae4 --- /dev/null +++ b/database/seeders/Project/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->projectsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function projectsTranslations() + { + // Adding translations for 'project' + // + $cat = Voyager::model('Project')->where('name', 'project-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['project', 'name'], $cat->id), 'project-1'); + $this->trans('pt', $this->arr(['project', 'description'], $cat->id), 'Project 1'); + } + $cat = Voyager::model('Project')->where('name', 'project-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['project', 'name'], $cat->id), 'project-2'); + $this->trans('pt', $this->arr(['project', 'description'], $cat->id), 'Project 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Project'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Projects'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.projects')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Projects'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Project/VoyagerDatabaseSeeder.php b/database/seeders/Project/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..d390b1f --- /dev/null +++ b/database/seeders/Project/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + ProjectsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Project/VoyagerDummyDatabaseSeeder.php b/database/seeders/Project/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..f612895 --- /dev/null +++ b/database/seeders/Project/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyProjectsTableSeeder::class + ]); + } +} diff --git a/database/seeders/ProjectTask/DataRowsTableSeeder.php b/database/seeders/ProjectTask/DataRowsTableSeeder.php new file mode 100644 index 0000000..650ebe4 --- /dev/null +++ b/database/seeders/ProjectTask/DataRowsTableSeeder.php @@ -0,0 +1,246 @@ +where('slug', 'project-tasks')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'project_task_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'project_task_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'project_task_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/ProjectTask/DataTypesTableSeeder.php b/database/seeders/ProjectTask/DataTypesTableSeeder.php new file mode 100644 index 0000000..d2de146 --- /dev/null +++ b/database/seeders/ProjectTask/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'project-tasks'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'project_task', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.project_task.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.project_task.plural'), + 'icon' => 'voyager-bread voyager-crm-project_task voyager-categories', + 'model_name' => Voyager::modelClass('ProjectTask'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\ProjectTaskPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/ProjectTask/DummyProjectTasksTableSeeder.php b/database/seeders/ProjectTask/DummyProjectTasksTableSeeder.php new file mode 100644 index 0000000..f5194d3 --- /dev/null +++ b/database/seeders/ProjectTask/DummyProjectTasksTableSeeder.php @@ -0,0 +1,27 @@ +factory() + ->count($count) + ->state(function (array $attributes) use ($count) { + return [ + 'project_id' => optional(Voyager::model('Project')->inRandomOrder()->take(1)->first())->id + ]; + }) + ->create(); + } +} diff --git a/database/seeders/ProjectTask/MenuItemsTableSeeder.php b/database/seeders/ProjectTask/MenuItemsTableSeeder.php new file mode 100644 index 0000000..3d835a8 --- /dev/null +++ b/database/seeders/ProjectTask/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.project_tasks'), + 'url' => '', + 'route' => 'voyager.project-tasks.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-project_task voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/ProjectTask/PermissionsTableSeeder.php b/database/seeders/ProjectTask/PermissionsTableSeeder.php new file mode 100644 index 0000000..6f94883 --- /dev/null +++ b/database/seeders/ProjectTask/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('project_task'); + } +} diff --git a/database/seeders/ProjectTask/ProjectTasksTableSeeder.php b/database/seeders/ProjectTask/ProjectTasksTableSeeder.php new file mode 100644 index 0000000..008d8a5 --- /dev/null +++ b/database/seeders/ProjectTask/ProjectTasksTableSeeder.php @@ -0,0 +1,31 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('ProjectTask')->factory() + ->count($count) + ->state(function (array $attributes) use ($count) { + return [ + 'project_id' => optional(Voyager::model('Project')->inRandomOrder()->take(1)->first())->id + ]; + }) + ->create(); + } +} diff --git a/database/seeders/ProjectTask/SettingsTableSeeder.php b/database/seeders/ProjectTask/SettingsTableSeeder.php new file mode 100644 index 0000000..eee7a31 --- /dev/null +++ b/database/seeders/ProjectTask/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('project_task.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.project_task.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'ProjectTask', + ])->save(); + } + + $setting = $this->findSetting('project_task.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.project_task.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'ProjectTask', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/ProjectTask/TranslationsTableSeeder.php b/database/seeders/ProjectTask/TranslationsTableSeeder.php new file mode 100644 index 0000000..67648a8 --- /dev/null +++ b/database/seeders/ProjectTask/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->projectTasksTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function projectTasksTranslations() + { + // Adding translations for 'project_task' + // + $cat = Voyager::model('ProjectTask')->where('name', 'project_task-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['project_task', 'name'], $cat->id), 'project-task-1'); + $this->trans('pt', $this->arr(['project_task', 'description'], $cat->id), 'ProjectTask 1'); + } + $cat = Voyager::model('ProjectTask')->where('name', 'project_task-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['project_task', 'name'], $cat->id), 'project-task-2'); + $this->trans('pt', $this->arr(['project_task', 'description'], $cat->id), 'ProjectTask 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'ProjectTask'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'ProjectTasks'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.project_task')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'ProjectTasks'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/ProjectTask/VoyagerDatabaseSeeder.php b/database/seeders/ProjectTask/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..09f1611 --- /dev/null +++ b/database/seeders/ProjectTask/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + ProjectTasksTableSeeder::class, + ]); + } +} diff --git a/database/seeders/ProjectTask/VoyagerDummyDatabaseSeeder.php b/database/seeders/ProjectTask/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..92ab8c8 --- /dev/null +++ b/database/seeders/ProjectTask/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyProjectTasksTableSeeder::class + ]); + } +} diff --git a/database/seeders/ProspectList/DataRowsTableSeeder.php b/database/seeders/ProspectList/DataRowsTableSeeder.php new file mode 100644 index 0000000..876e1a5 --- /dev/null +++ b/database/seeders/ProspectList/DataRowsTableSeeder.php @@ -0,0 +1,246 @@ +where('slug', 'prospect-lists')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'prospect_list_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'prospect_list_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'prospect_list_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/ProspectList/DataTypesTableSeeder.php b/database/seeders/ProspectList/DataTypesTableSeeder.php new file mode 100644 index 0000000..9fe2eec --- /dev/null +++ b/database/seeders/ProspectList/DataTypesTableSeeder.php @@ -0,0 +1,43 @@ +dataType('slug', 'prospect-lists'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'prospect_lists', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.prospect_list.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.prospect_list.plural'), + 'icon' => 'voyager-bread voyager-crm-prospect_list voyager-categories', + 'model_name' => Voyager::modelClass('ProspectList'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\ProspectListPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/ProspectList/DummyProspectListsTableSeeder.php b/database/seeders/ProspectList/DummyProspectListsTableSeeder.php new file mode 100644 index 0000000..84a7723 --- /dev/null +++ b/database/seeders/ProspectList/DummyProspectListsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/ProspectList/MenuItemsTableSeeder.php b/database/seeders/ProspectList/MenuItemsTableSeeder.php new file mode 100644 index 0000000..3cd3a44 --- /dev/null +++ b/database/seeders/ProspectList/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.prospect_lists'), + 'url' => '', + 'route' => 'voyager.prospect-lists.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-prospect_list voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/ProspectList/PermissionsTableSeeder.php b/database/seeders/ProspectList/PermissionsTableSeeder.php new file mode 100644 index 0000000..286265b --- /dev/null +++ b/database/seeders/ProspectList/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('prospect_lists'); + } +} diff --git a/database/seeders/ProspectList/ProspectListsTableSeeder.php b/database/seeders/ProspectList/ProspectListsTableSeeder.php new file mode 100644 index 0000000..d0723eb --- /dev/null +++ b/database/seeders/ProspectList/ProspectListsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('ProspectList')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/ProspectList/SettingsTableSeeder.php b/database/seeders/ProspectList/SettingsTableSeeder.php new file mode 100644 index 0000000..6e4c334 --- /dev/null +++ b/database/seeders/ProspectList/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('prospect_list.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.prospect_list.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'ProspectList', + ])->save(); + } + + $setting = $this->findSetting('prospect_list.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.prospect_list.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'ProspectList', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/ProspectList/TranslationsTableSeeder.php b/database/seeders/ProspectList/TranslationsTableSeeder.php new file mode 100644 index 0000000..463b7bd --- /dev/null +++ b/database/seeders/ProspectList/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->prospectListsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function prospectListsTranslations() + { + // Adding translations for 'prospect_lists' + // + $cat = Voyager::model('ProspectList')->where('name', 'prospect_list-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['prospect_lists', 'name'], $cat->id), 'prospect-list-1'); + $this->trans('pt', $this->arr(['prospect_lists', 'description'], $cat->id), 'ProspectList 1'); + } + $cat = Voyager::model('ProspectList')->where('name', 'prospect_list-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['prospect_lists', 'name'], $cat->id), 'prospect-list-2'); + $this->trans('pt', $this->arr(['prospect_lists', 'description'], $cat->id), 'ProspectList 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'ProspectList'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'ProspectLists'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.prospect_lists')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'ProspectLists'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/ProspectList/VoyagerDatabaseSeeder.php b/database/seeders/ProspectList/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..640f507 --- /dev/null +++ b/database/seeders/ProspectList/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + ProspectListsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/ProspectList/VoyagerDummyDatabaseSeeder.php b/database/seeders/ProspectList/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..d4262f7 --- /dev/null +++ b/database/seeders/ProspectList/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyProspectListsTableSeeder::class + ]); + } +} diff --git a/database/seeders/Release/DataRowsTableSeeder.php b/database/seeders/Release/DataRowsTableSeeder.php new file mode 100644 index 0000000..28739a7 --- /dev/null +++ b/database/seeders/Release/DataRowsTableSeeder.php @@ -0,0 +1,191 @@ +where('slug', 'releases')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'release_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'release_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Release/DataTypesTableSeeder.php b/database/seeders/Release/DataTypesTableSeeder.php new file mode 100644 index 0000000..1e8efb7 --- /dev/null +++ b/database/seeders/Release/DataTypesTableSeeder.php @@ -0,0 +1,43 @@ +dataType('slug', 'releases'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'releases', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.release.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.release.plural'), + 'icon' => 'voyager-bread voyager-crm-release voyager-categories', + 'model_name' => Voyager::modelClass('Release'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\ReleasePolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Release/DummyReleasesTableSeeder.php b/database/seeders/Release/DummyReleasesTableSeeder.php new file mode 100644 index 0000000..b2f1b73 --- /dev/null +++ b/database/seeders/Release/DummyReleasesTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Release/MenuItemsTableSeeder.php b/database/seeders/Release/MenuItemsTableSeeder.php new file mode 100644 index 0000000..c6a2565 --- /dev/null +++ b/database/seeders/Release/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.releases'), + 'url' => '', + 'route' => 'voyager.releases.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-release voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Release/PermissionsTableSeeder.php b/database/seeders/Release/PermissionsTableSeeder.php new file mode 100644 index 0000000..68b9aee --- /dev/null +++ b/database/seeders/Release/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('releases'); + } +} diff --git a/database/seeders/Release/ReleasesTableSeeder.php b/database/seeders/Release/ReleasesTableSeeder.php new file mode 100644 index 0000000..c7add7b --- /dev/null +++ b/database/seeders/Release/ReleasesTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Release')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Release/SettingsTableSeeder.php b/database/seeders/Release/SettingsTableSeeder.php new file mode 100644 index 0000000..058e675 --- /dev/null +++ b/database/seeders/Release/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('release.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.release.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Release', + ])->save(); + } + + $setting = $this->findSetting('release.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.release.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Release', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Release/TranslationsTableSeeder.php b/database/seeders/Release/TranslationsTableSeeder.php new file mode 100644 index 0000000..2bae195 --- /dev/null +++ b/database/seeders/Release/TranslationsTableSeeder.php @@ -0,0 +1,111 @@ +dataTypesTranslations(); + $this->releasesTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function releasesTranslations() + { + // Adding translations for 'releases' + // + $cat = Voyager::model('Release')->where('name', 'release-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['releases', 'name'], $cat->id), 'release-1'); + $this->trans('pt', $this->arr(['releases', 'description'], $cat->id), 'Release 1'); + } + $cat = Voyager::model('Release')->where('name', 'release-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['releases', 'name'], $cat->id), 'release-2'); + $this->trans('pt', $this->arr(['releases', 'description'], $cat->id), 'Release 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Release'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Releases'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.releases')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Releases'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Release/VoyagerDatabaseSeeder.php b/database/seeders/Release/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..3447421 --- /dev/null +++ b/database/seeders/Release/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + ReleasesTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Release/VoyagerDummyDatabaseSeeder.php b/database/seeders/Release/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..14078f0 --- /dev/null +++ b/database/seeders/Release/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyReleasesTableSeeder::class + ]); + } +} diff --git a/database/seeders/SavedSearch/DataRowsTableSeeder.php b/database/seeders/SavedSearch/DataRowsTableSeeder.php new file mode 100644 index 0000000..f4fa739 --- /dev/null +++ b/database/seeders/SavedSearch/DataRowsTableSeeder.php @@ -0,0 +1,165 @@ +where('slug', 'saved-search')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'saved_search_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/SavedSearch/DataTypesTableSeeder.php b/database/seeders/SavedSearch/DataTypesTableSeeder.php new file mode 100644 index 0000000..7dfe216 --- /dev/null +++ b/database/seeders/SavedSearch/DataTypesTableSeeder.php @@ -0,0 +1,43 @@ +dataType('slug', 'saved-search'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'saved_search', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.saved_search.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.saved_search.plural'), + 'icon' => 'voyager-bread voyager-crm-saved_search voyager-categories', + 'model_name' => Voyager::modelClass('SavedSearch'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\SavedSearchPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/SavedSearch/DummySavedSearchsTableSeeder.php b/database/seeders/SavedSearch/DummySavedSearchsTableSeeder.php new file mode 100644 index 0000000..9a47cc5 --- /dev/null +++ b/database/seeders/SavedSearch/DummySavedSearchsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/SavedSearch/MenuItemsTableSeeder.php b/database/seeders/SavedSearch/MenuItemsTableSeeder.php new file mode 100644 index 0000000..337bd88 --- /dev/null +++ b/database/seeders/SavedSearch/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.saved_searches'), + 'url' => '', + 'route' => 'voyager.saved-search.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-saved_search voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/SavedSearch/PermissionsTableSeeder.php b/database/seeders/SavedSearch/PermissionsTableSeeder.php new file mode 100644 index 0000000..953b338 --- /dev/null +++ b/database/seeders/SavedSearch/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('saved_search'); + } +} diff --git a/database/seeders/SavedSearch/SavedSearchsTableSeeder.php b/database/seeders/SavedSearch/SavedSearchsTableSeeder.php new file mode 100644 index 0000000..09fada5 --- /dev/null +++ b/database/seeders/SavedSearch/SavedSearchsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('SavedSearch')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/SavedSearch/SettingsTableSeeder.php b/database/seeders/SavedSearch/SettingsTableSeeder.php new file mode 100644 index 0000000..e5959cd --- /dev/null +++ b/database/seeders/SavedSearch/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('saved_search.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.saved_search.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'SavedSearch', + ])->save(); + } + + $setting = $this->findSetting('saved_search.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.saved_search.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'SavedSearch', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/SavedSearch/TranslationsTableSeeder.php b/database/seeders/SavedSearch/TranslationsTableSeeder.php new file mode 100644 index 0000000..b4ab700 --- /dev/null +++ b/database/seeders/SavedSearch/TranslationsTableSeeder.php @@ -0,0 +1,111 @@ +dataTypesTranslations(); + $this->savedSearchsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function savedSearchsTranslations() + { + // Adding translations for 'saved_search' + // + $cat = Voyager::model('SavedSearch')->where('name', 'saved_search-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['saved_search', 'name'], $cat->id), 'saved-search-1'); + $this->trans('pt', $this->arr(['saved_search', 'description'], $cat->id), 'SavedSearch 1'); + } + $cat = Voyager::model('SavedSearch')->where('name', 'saved_search-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['saved_search', 'name'], $cat->id), 'saved-search-2'); + $this->trans('pt', $this->arr(['saved_search', 'description'], $cat->id), 'SavedSearch 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'SavedSearch'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'SavedSearchs'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.saved_search')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'SavedSearchs'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/SavedSearch/VoyagerDatabaseSeeder.php b/database/seeders/SavedSearch/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..5f98ebb --- /dev/null +++ b/database/seeders/SavedSearch/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + SavedSearchsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/SavedSearch/VoyagerDummyDatabaseSeeder.php b/database/seeders/SavedSearch/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..930ad8d --- /dev/null +++ b/database/seeders/SavedSearch/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummySavedSearchsTableSeeder::class + ]); + } +} diff --git a/database/seeders/Scheduler/DataRowsTableSeeder.php b/database/seeders/Scheduler/DataRowsTableSeeder.php new file mode 100644 index 0000000..4c5af7a --- /dev/null +++ b/database/seeders/Scheduler/DataRowsTableSeeder.php @@ -0,0 +1,231 @@ +where('slug', 'schedulers')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'scheduler_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'scheduler_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'scheduler_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Scheduler/DataTypesTableSeeder.php b/database/seeders/Scheduler/DataTypesTableSeeder.php new file mode 100644 index 0000000..30c9012 --- /dev/null +++ b/database/seeders/Scheduler/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'schedulers'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'schedulers', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.scheduler.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.scheduler.plural'), + 'icon' => 'voyager-bread voyager-crm-scheduler voyager-categories', + 'model_name' => Voyager::modelClass('Scheduler'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\SchedulerPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Scheduler/DummySchedulersTableSeeder.php b/database/seeders/Scheduler/DummySchedulersTableSeeder.php new file mode 100644 index 0000000..da55d3c --- /dev/null +++ b/database/seeders/Scheduler/DummySchedulersTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Scheduler/MenuItemsTableSeeder.php b/database/seeders/Scheduler/MenuItemsTableSeeder.php new file mode 100644 index 0000000..4c17499 --- /dev/null +++ b/database/seeders/Scheduler/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.schedulers'), + 'url' => '', + 'route' => 'voyager.schedulers.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-scheduler voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Scheduler/PermissionsTableSeeder.php b/database/seeders/Scheduler/PermissionsTableSeeder.php new file mode 100644 index 0000000..ff64bbc --- /dev/null +++ b/database/seeders/Scheduler/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('schedulers'); + } +} diff --git a/database/seeders/Scheduler/SchedulersTableSeeder.php b/database/seeders/Scheduler/SchedulersTableSeeder.php new file mode 100644 index 0000000..c4420e2 --- /dev/null +++ b/database/seeders/Scheduler/SchedulersTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Scheduler')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Scheduler/SettingsTableSeeder.php b/database/seeders/Scheduler/SettingsTableSeeder.php new file mode 100644 index 0000000..bad3897 --- /dev/null +++ b/database/seeders/Scheduler/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('scheduler.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.scheduler.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Scheduler', + ])->save(); + } + + $setting = $this->findSetting('scheduler.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.scheduler.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Scheduler', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Scheduler/TranslationsTableSeeder.php b/database/seeders/Scheduler/TranslationsTableSeeder.php new file mode 100644 index 0000000..41bf7ca --- /dev/null +++ b/database/seeders/Scheduler/TranslationsTableSeeder.php @@ -0,0 +1,111 @@ +dataTypesTranslations(); + $this->schedulersTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function schedulersTranslations() + { + // Adding translations for 'schedulers' + // + $cat = Voyager::model('Scheduler')->where('name', 'scheduler-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['schedulers', 'name'], $cat->id), 'scheduler-1'); + $this->trans('pt', $this->arr(['schedulers', 'description'], $cat->id), 'Scheduler 1'); + } + $cat = Voyager::model('Scheduler')->where('name', 'scheduler-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['schedulers', 'name'], $cat->id), 'scheduler-2'); + $this->trans('pt', $this->arr(['schedulers', 'description'], $cat->id), 'Scheduler 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Scheduler'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Schedulers'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.schedulers')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Schedulers'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Scheduler/VoyagerDatabaseSeeder.php b/database/seeders/Scheduler/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..a053674 --- /dev/null +++ b/database/seeders/Scheduler/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + SchedulersTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Scheduler/VoyagerDummyDatabaseSeeder.php b/database/seeders/Scheduler/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..1f1e8e1 --- /dev/null +++ b/database/seeders/Scheduler/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummySchedulersTableSeeder::class + ]); + } +} diff --git a/database/seeders/Securitygroup/DataRowsTableSeeder.php b/database/seeders/Securitygroup/DataRowsTableSeeder.php new file mode 100644 index 0000000..8d91596 --- /dev/null +++ b/database/seeders/Securitygroup/DataRowsTableSeeder.php @@ -0,0 +1,245 @@ +where('slug', 'securitygroups')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'securitygroup_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'securitygroup_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'securitygroup_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Securitygroup/DataTypesTableSeeder.php b/database/seeders/Securitygroup/DataTypesTableSeeder.php new file mode 100644 index 0000000..58e37bd --- /dev/null +++ b/database/seeders/Securitygroup/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'securitygroups'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'securitygroups', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.securitygroup.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.securitygroup.plural'), + 'icon' => 'voyager-bread voyager-crm-securitygroup voyager-categories', + 'model_name' => Voyager::modelClass('Securitygroup'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\SecuritygroupPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Securitygroup/DummySecuritygroupsTableSeeder.php b/database/seeders/Securitygroup/DummySecuritygroupsTableSeeder.php new file mode 100644 index 0000000..bf89a3f --- /dev/null +++ b/database/seeders/Securitygroup/DummySecuritygroupsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Securitygroup/MenuItemsTableSeeder.php b/database/seeders/Securitygroup/MenuItemsTableSeeder.php new file mode 100644 index 0000000..0cb5097 --- /dev/null +++ b/database/seeders/Securitygroup/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.securitygroups'), + 'url' => '', + 'route' => 'voyager.securitygroups.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-securitygroup voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Securitygroup/PermissionsTableSeeder.php b/database/seeders/Securitygroup/PermissionsTableSeeder.php new file mode 100644 index 0000000..859153e --- /dev/null +++ b/database/seeders/Securitygroup/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('securitygroups'); + } +} diff --git a/database/seeders/Securitygroup/SecuritygroupsTableSeeder.php b/database/seeders/Securitygroup/SecuritygroupsTableSeeder.php new file mode 100644 index 0000000..dc0561c --- /dev/null +++ b/database/seeders/Securitygroup/SecuritygroupsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Securitygroup')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Securitygroup/SettingsTableSeeder.php b/database/seeders/Securitygroup/SettingsTableSeeder.php new file mode 100644 index 0000000..2f12f40 --- /dev/null +++ b/database/seeders/Securitygroup/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('securitygroup.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.securitygroup.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Securitygroup', + ])->save(); + } + + $setting = $this->findSetting('securitygroup.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.securitygroup.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Securitygroup', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Securitygroup/TranslationsTableSeeder.php b/database/seeders/Securitygroup/TranslationsTableSeeder.php new file mode 100644 index 0000000..edc3e91 --- /dev/null +++ b/database/seeders/Securitygroup/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->securitygroupsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function securitygroupsTranslations() + { + // Adding translations for 'securitygroups' + // + $cat = Voyager::model('Securitygroup')->where('name', 'securitygroup-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['securitygroups', 'name'], $cat->id), 'securitygroup-1'); + $this->trans('pt', $this->arr(['securitygroups', 'description'], $cat->id), 'Securitygroup 1'); + } + $cat = Voyager::model('Securitygroup')->where('name', 'securitygroup-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['securitygroups', 'name'], $cat->id), 'securitygroup-2'); + $this->trans('pt', $this->arr(['securitygroups', 'description'], $cat->id), 'Securitygroup 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Securitygroup'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Securitygroups'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.securitygroups')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Securitygroups'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Securitygroup/VoyagerDatabaseSeeder.php b/database/seeders/Securitygroup/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..a02697a --- /dev/null +++ b/database/seeders/Securitygroup/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + SecuritygroupsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Securitygroup/VoyagerDummyDatabaseSeeder.php b/database/seeders/Securitygroup/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..7df8683 --- /dev/null +++ b/database/seeders/Securitygroup/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummySecuritygroupsTableSeeder::class + ]); + } +} diff --git a/database/seeders/Spot/DataRowsTableSeeder.php b/database/seeders/Spot/DataRowsTableSeeder.php new file mode 100644 index 0000000..ed18e86 --- /dev/null +++ b/database/seeders/Spot/DataRowsTableSeeder.php @@ -0,0 +1,245 @@ +where('slug', 'spots')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'spot_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'spot_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'spot_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Spot/DataTypesTableSeeder.php b/database/seeders/Spot/DataTypesTableSeeder.php new file mode 100644 index 0000000..3d1bd53 --- /dev/null +++ b/database/seeders/Spot/DataTypesTableSeeder.php @@ -0,0 +1,43 @@ +dataType('slug', 'spots'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'spots', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.spot.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.spot.plural'), + 'icon' => 'voyager-bread voyager-crm-spot voyager-categories', + 'model_name' => Voyager::modelClass('Spot'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\SpotPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Spot/DummySpotsTableSeeder.php b/database/seeders/Spot/DummySpotsTableSeeder.php new file mode 100644 index 0000000..d46f6ae --- /dev/null +++ b/database/seeders/Spot/DummySpotsTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Spot/MenuItemsTableSeeder.php b/database/seeders/Spot/MenuItemsTableSeeder.php new file mode 100644 index 0000000..2888069 --- /dev/null +++ b/database/seeders/Spot/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.spots'), + 'url' => '', + 'route' => 'voyager.spots.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-spot voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Spot/PermissionsTableSeeder.php b/database/seeders/Spot/PermissionsTableSeeder.php new file mode 100644 index 0000000..34350a8 --- /dev/null +++ b/database/seeders/Spot/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('spots'); + } +} diff --git a/database/seeders/Spot/SettingsTableSeeder.php b/database/seeders/Spot/SettingsTableSeeder.php new file mode 100644 index 0000000..b859c50 --- /dev/null +++ b/database/seeders/Spot/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('spot.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.spot.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Spot', + ])->save(); + } + + $setting = $this->findSetting('spot.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.spot.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Spot', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Spot/SpotsTableSeeder.php b/database/seeders/Spot/SpotsTableSeeder.php new file mode 100644 index 0000000..b3601b4 --- /dev/null +++ b/database/seeders/Spot/SpotsTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Spot')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Spot/TranslationsTableSeeder.php b/database/seeders/Spot/TranslationsTableSeeder.php new file mode 100644 index 0000000..c80f116 --- /dev/null +++ b/database/seeders/Spot/TranslationsTableSeeder.php @@ -0,0 +1,111 @@ +dataTypesTranslations(); + $this->spotsTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function spotsTranslations() + { + // Adding translations for 'spots' + // + $cat = Voyager::model('Spot')->where('name', 'spot-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['spots', 'name'], $cat->id), 'spot-1'); + $this->trans('pt', $this->arr(['spots', 'description'], $cat->id), 'Spot 1'); + } + $cat = Voyager::model('Spot')->where('name', 'spot-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['spots', 'name'], $cat->id), 'spot-2'); + $this->trans('pt', $this->arr(['spots', 'description'], $cat->id), 'Spot 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Spot'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Spots'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.spots')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Spots'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Spot/VoyagerDatabaseSeeder.php b/database/seeders/Spot/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..561d706 --- /dev/null +++ b/database/seeders/Spot/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + SpotsTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Spot/VoyagerDummyDatabaseSeeder.php b/database/seeders/Spot/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..fde3239 --- /dev/null +++ b/database/seeders/Spot/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummySpotsTableSeeder::class + ]); + } +} diff --git a/database/seeders/Survey/DataRowsTableSeeder.php b/database/seeders/Survey/DataRowsTableSeeder.php new file mode 100644 index 0000000..b84f66d --- /dev/null +++ b/database/seeders/Survey/DataRowsTableSeeder.php @@ -0,0 +1,325 @@ +where('slug', 'surveys')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'submit_text'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.submit_text'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 4, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'satisfied_text'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.satisfied_text'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 5, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'neither_text'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.neither_text'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 6, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'dissatisfied_text'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.dissatisfied_text'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 7, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'survey_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'status'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.status'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 103, + 'details' => [ + 'default' => 'ACTIVE', + 'options' => [ + 'ACTIVE' => 'ACTIVE', + 'INACTIVE' => 'INACTIVE', + ], + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'survey_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'survey_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 110, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Survey/DataTypesTableSeeder.php b/database/seeders/Survey/DataTypesTableSeeder.php new file mode 100644 index 0000000..c8bb50f --- /dev/null +++ b/database/seeders/Survey/DataTypesTableSeeder.php @@ -0,0 +1,43 @@ +dataType('slug', 'surveys'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'surveys', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.survey.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.survey.plural'), + 'icon' => 'voyager-bread voyager-crm-survey voyager-check-circle', + 'model_name' => Voyager::modelClass('Survey'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\SurveyPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Survey/DummySurveysTableSeeder.php b/database/seeders/Survey/DummySurveysTableSeeder.php new file mode 100644 index 0000000..b6e92b2 --- /dev/null +++ b/database/seeders/Survey/DummySurveysTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Survey/MenuItemsTableSeeder.php b/database/seeders/Survey/MenuItemsTableSeeder.php new file mode 100644 index 0000000..30c9b4d --- /dev/null +++ b/database/seeders/Survey/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.surveys'), + 'url' => '', + 'route' => 'voyager.surveys.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-survey voyager-check-circle', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Survey/PermissionsTableSeeder.php b/database/seeders/Survey/PermissionsTableSeeder.php new file mode 100644 index 0000000..e974074 --- /dev/null +++ b/database/seeders/Survey/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('surveys'); + } +} diff --git a/database/seeders/Survey/SettingsTableSeeder.php b/database/seeders/Survey/SettingsTableSeeder.php new file mode 100644 index 0000000..ec5c7e8 --- /dev/null +++ b/database/seeders/Survey/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('survey.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.survey.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Survey', + ])->save(); + } + + $setting = $this->findSetting('survey.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.survey.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Survey', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Survey/SurveysTableSeeder.php b/database/seeders/Survey/SurveysTableSeeder.php new file mode 100644 index 0000000..0a8be07 --- /dev/null +++ b/database/seeders/Survey/SurveysTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Survey')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Survey/TranslationsTableSeeder.php b/database/seeders/Survey/TranslationsTableSeeder.php new file mode 100644 index 0000000..93a05ef --- /dev/null +++ b/database/seeders/Survey/TranslationsTableSeeder.php @@ -0,0 +1,111 @@ +dataTypesTranslations(); + $this->surveysTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function surveysTranslations() + { + // Adding translations for 'surveys' + // + $cat = Voyager::model('Survey')->where('name', 'survey-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['surveys', 'name'], $cat->id), 'survey-1'); + $this->trans('pt', $this->arr(['surveys', 'description'], $cat->id), 'Survey 1'); + } + $cat = Voyager::model('Survey')->where('name', 'survey-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['surveys', 'name'], $cat->id), 'survey-2'); + $this->trans('pt', $this->arr(['surveys', 'description'], $cat->id), 'Survey 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Survey'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Surveys'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.surveys')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Surveys'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Survey/VoyagerDatabaseSeeder.php b/database/seeders/Survey/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..53096c4 --- /dev/null +++ b/database/seeders/Survey/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + SurveysTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Survey/VoyagerDummyDatabaseSeeder.php b/database/seeders/Survey/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..10f8e9e --- /dev/null +++ b/database/seeders/Survey/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummySurveysTableSeeder::class + ]); + } +} diff --git a/database/seeders/Templatesectionline/DataRowsTableSeeder.php b/database/seeders/Templatesectionline/DataRowsTableSeeder.php new file mode 100644 index 0000000..c6b6c9b --- /dev/null +++ b/database/seeders/Templatesectionline/DataRowsTableSeeder.php @@ -0,0 +1,205 @@ +where('slug', 'templatesectionlines')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'templatesectionline_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 106, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 107, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'templatesectionline_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 108, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 109, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/Templatesectionline/DataTypesTableSeeder.php b/database/seeders/Templatesectionline/DataTypesTableSeeder.php new file mode 100644 index 0000000..88342c1 --- /dev/null +++ b/database/seeders/Templatesectionline/DataTypesTableSeeder.php @@ -0,0 +1,43 @@ +dataType('slug', 'templatesectionlines'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'templatesectionline', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.templatesectionline.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.templatesectionline.plural'), + 'icon' => 'voyager-bread voyager-crm-templatesectionline voyager-categories', + 'model_name' => Voyager::modelClass('Templatesectionline'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\TemplatesectionlinePolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/Templatesectionline/DummyTemplatesectionlinesTableSeeder.php b/database/seeders/Templatesectionline/DummyTemplatesectionlinesTableSeeder.php new file mode 100644 index 0000000..9398032 --- /dev/null +++ b/database/seeders/Templatesectionline/DummyTemplatesectionlinesTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Templatesectionline/MenuItemsTableSeeder.php b/database/seeders/Templatesectionline/MenuItemsTableSeeder.php new file mode 100644 index 0000000..043ede8 --- /dev/null +++ b/database/seeders/Templatesectionline/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.templatesectionlines'), + 'url' => '', + 'route' => 'voyager.templatesectionlines.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-templatesectionline voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/Templatesectionline/PermissionsTableSeeder.php b/database/seeders/Templatesectionline/PermissionsTableSeeder.php new file mode 100644 index 0000000..91b358c --- /dev/null +++ b/database/seeders/Templatesectionline/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('templatesectionline'); + } +} diff --git a/database/seeders/Templatesectionline/SettingsTableSeeder.php b/database/seeders/Templatesectionline/SettingsTableSeeder.php new file mode 100644 index 0000000..5cb1774 --- /dev/null +++ b/database/seeders/Templatesectionline/SettingsTableSeeder.php @@ -0,0 +1,51 @@ +findSetting('templatesectionline.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.templatesectionline.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'Templatesectionline', + ])->save(); + } + + $setting = $this->findSetting('templatesectionline.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.templatesectionline.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'Templatesectionline', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/Templatesectionline/TemplatesectionlinesTableSeeder.php b/database/seeders/Templatesectionline/TemplatesectionlinesTableSeeder.php new file mode 100644 index 0000000..2d61944 --- /dev/null +++ b/database/seeders/Templatesectionline/TemplatesectionlinesTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('Templatesectionline')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/Templatesectionline/TranslationsTableSeeder.php b/database/seeders/Templatesectionline/TranslationsTableSeeder.php new file mode 100644 index 0000000..0c38f9a --- /dev/null +++ b/database/seeders/Templatesectionline/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->templatesectionlinesTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function templatesectionlinesTranslations() + { + // Adding translations for 'templatesectionlines' + // + $cat = Voyager::model('Templatesectionline')->where('name', 'templatesectionline-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['templatesectionline', 'name'], $cat->id), 'templatesectionline-1'); + $this->trans('pt', $this->arr(['templatesectionline', 'description'], $cat->id), 'Templatesectionline 1'); + } + $cat = Voyager::model('Templatesectionline')->where('name', 'templatesectionline-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['templatesectionline', 'name'], $cat->id), 'templatesectionline-2'); + $this->trans('pt', $this->arr(['templatesectionline', 'description'], $cat->id), 'Templatesectionline 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Templatesectionline'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Templatesectionlines'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.templatesectionlines')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Templatesectionlines'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/Templatesectionline/VoyagerDatabaseSeeder.php b/database/seeders/Templatesectionline/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..f8f1689 --- /dev/null +++ b/database/seeders/Templatesectionline/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + TemplatesectionlinesTableSeeder::class, + ]); + } +} diff --git a/database/seeders/Templatesectionline/VoyagerDummyDatabaseSeeder.php b/database/seeders/Templatesectionline/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..90d2d59 --- /dev/null +++ b/database/seeders/Templatesectionline/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyTemplatesectionlinesTableSeeder::class + ]); + } +} diff --git a/database/seeders/User/DataRowsTableSeeder.php b/database/seeders/User/DataRowsTableSeeder.php new file mode 100644 index 0000000..f20bf8d --- /dev/null +++ b/database/seeders/User/DataRowsTableSeeder.php @@ -0,0 +1,893 @@ +where('slug', 'users')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'email'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.email'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 3, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'password'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'password', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.password'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 4, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'remember_token'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.remember_token'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 5, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 6, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 7, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 7, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'avatar'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'image', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.avatar'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 8, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'user_belongsto_role_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.role'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('Role'), + 'table' => 'roles', + 'type' => 'belongsTo', + 'column' => 'role_id', + 'key' => 'id', + 'label' => 'display_name', + 'pivot_table' => 'roles', + 'pivot' => 0, + ], + 'order' => 9, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'user_belongstomany_role_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.roles'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('Role'), + 'table' => 'roles', + 'type' => 'belongsToMany', + 'column' => 'id', + 'key' => 'id', + 'label' => 'display_name', + 'pivot_table' => 'user_roles', + 'pivot' => '1', + 'taggable' => '0', + ], + 'order' => 10, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'settings'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'hidden', + 'display_name' => 'Settings', + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 11, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'user_name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.user_name'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 12, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'user_hash'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.user_hash'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 13, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'system_generated_password'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'checkbox', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.system_generated_password'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 1, + 'order' => 14, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'pwd_last_changed'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.pwd_last_changed'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 1, + 'order' => 15, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'authenticate_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.authenticate_id'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 16, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'sugar_login'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'checkbox', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.sugar_login'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 17, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'first_name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.first_name'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 18, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'last_name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.last_name'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 19, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'is_admin'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'checkbox', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.is_admin'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 20, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'external_auth_only'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'checkbox', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.external_auth_only'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 21, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'receive_notifications'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'checkbox', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.receive_notifications'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 22, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'description'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text_area', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.description'), + 'required' => 0, + 'browse' => 0, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 23, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'user_belongsto_modified_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'modified_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + 'order' => 24, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'modified_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.modified_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 25, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'user_belongsto_created_by_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'created_by_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + 'order' => 26, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_by_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_by'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 27, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'title'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.title'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 28, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'photo'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.photo'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 29, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'department'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.department'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 30, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'phone_home'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.phone_home'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 31, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'phone_mobile'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.phone_mobile'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 32, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'phone_work'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.phone_work'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 33, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'phone_other'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.phone_other'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 34, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'phone_fax'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.phone_fax'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 35, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'status'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.status'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 36, + 'details' => [ + 'default' => 'INACTIVE', + 'options' => [ + 'INACTIVE' => 'INACTIVE', + 'ACTIVE' => 'ACTIVE', + ], + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'address_street'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.address_street'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 37, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'address_city'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.address_city'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 38, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'address_state'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.address_state'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 39, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'address_country'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.address_country'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 40, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'address_postalcode'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.address_postalcode'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 41, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'portal_only'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'checkbox', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.portal_only'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 42, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'show_on_employees'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'checkbox', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.show_on_employees'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 43, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'employee_status'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'select_dropdown', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.employee_status'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 44, + 'details' => [ + 'default' => 'INACTIVE', + 'options' => [ + 'INACTIVE' => 'INACTIVE', + 'ACTIVE' => 'ACTIVE', + ], + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'messenger_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.messenger_id'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 45, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'messenger_type'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.messenger_type'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 46, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'reports_to_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.reports_to'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 47, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'user_belongsto_reports_to_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.reports_to'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 10, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'reports_to_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 48, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'is_group'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'checkbox', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.is_group'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 49, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'factor_auth'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'checkbox', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.factor_auth'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 50, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'factor_auth_interface'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.factor_auth_interface'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 51, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'factor_auth_interface'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.factor_auth_interface'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 52, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/User/DataTypesTableSeeder.php b/database/seeders/User/DataTypesTableSeeder.php new file mode 100644 index 0000000..b2806f1 --- /dev/null +++ b/database/seeders/User/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'users'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'users', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.user.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.user.plural'), + 'icon' => 'voyager-bread voyager-crm-user voyager-people', + 'model_name' => Voyager::modelClass('User'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\UserPolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/User/DummyUsersTableSeeder.php b/database/seeders/User/DummyUsersTableSeeder.php new file mode 100644 index 0000000..51491e7 --- /dev/null +++ b/database/seeders/User/DummyUsersTableSeeder.php @@ -0,0 +1,35 @@ +factory() + ->count($count) + ->state(function (array $attributes) use ($count) { + return [ + 'name' => 'User ' . time() + . ' ' . rand(1, $count) + . ' ' . rand(1, $count) + . ' ' . rand(1, $count), + 'description' => 'User Description ' . time() + . ' ' . rand(1, $count) + . ' ' . rand(1, $count) + . ' ' . rand(1, $count) + ]; + }) + ->create(); + } +} diff --git a/database/seeders/User/MenuItemsTableSeeder.php b/database/seeders/User/MenuItemsTableSeeder.php new file mode 100644 index 0000000..6816104 --- /dev/null +++ b/database/seeders/User/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.users'), + 'url' => '', + 'route' => 'voyager.users.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-user voyager-people', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/User/PermissionsTableSeeder.php b/database/seeders/User/PermissionsTableSeeder.php new file mode 100644 index 0000000..9ac7115 --- /dev/null +++ b/database/seeders/User/PermissionsTableSeeder.php @@ -0,0 +1,18 @@ +generateFor('users'); + } +} diff --git a/database/seeders/User/SettingsTableSeeder.php b/database/seeders/User/SettingsTableSeeder.php new file mode 100644 index 0000000..1e8440f --- /dev/null +++ b/database/seeders/User/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('user.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.user.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'User', + ])->save(); + } + + $setting = $this->findSetting('user.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.user.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'User', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/User/TranslationsTableSeeder.php b/database/seeders/User/TranslationsTableSeeder.php new file mode 100644 index 0000000..cf17239 --- /dev/null +++ b/database/seeders/User/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->usersTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function usersTranslations() + { + // Adding translations for 'users' + // + $cat = Voyager::model('User')->where('name', 'user-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['users', 'name'], $cat->id), 'user-1'); + $this->trans('pt', $this->arr(['users', 'description'], $cat->id), 'User 1'); + } + $cat = Voyager::model('User')->where('name', 'user-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['users', 'name'], $cat->id), 'user-2'); + $this->trans('pt', $this->arr(['users', 'description'], $cat->id), 'User 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'User'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'Users'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.users')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'Users'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/User/UsersTableSeeder.php b/database/seeders/User/UsersTableSeeder.php new file mode 100644 index 0000000..ad011f9 --- /dev/null +++ b/database/seeders/User/UsersTableSeeder.php @@ -0,0 +1,54 @@ +query()->count() > 0) { + return false; + } + + $role = Voyager::model('Role')->where('name', 'admin')->firstOrFail(); + + Voyager::model('User')->factory() + ->count(1) + ->state(function (array $attributes) use ($role) { + return [ + 'name' => 'Admin', + 'email' => 'admin@admin.com', + 'password' => bcrypt('password'), + 'remember_token' => Str::random(60), + 'role_id' => $role->id, + ]; + }) + ->create(); + + $count = 20; + Voyager::model('User')->factory() + ->count($count) + ->state(function (array $attributes) use ($count) { + return [ + 'name' => 'User ' . time() + . ' ' . rand(1, $count) + . ' ' . rand(1, $count) + . ' ' . rand(1, $count), + 'description' => 'User Description ' . time() + . ' ' . rand(1, $count) + . ' ' . rand(1, $count) + . ' ' . rand(1, $count) + ]; + }) + ->create(); + } +} diff --git a/database/seeders/User/VoyagerDatabaseSeeder.php b/database/seeders/User/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..062d136 --- /dev/null +++ b/database/seeders/User/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + UsersTableSeeder::class, + ]); + } +} diff --git a/database/seeders/User/VoyagerDummyDatabaseSeeder.php b/database/seeders/User/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..c01c992 --- /dev/null +++ b/database/seeders/User/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyUsersTableSeeder::class + ]); + } +} diff --git a/database/seeders/UserPreference/DataRowsTableSeeder.php b/database/seeders/UserPreference/DataRowsTableSeeder.php new file mode 100644 index 0000000..82cbf05 --- /dev/null +++ b/database/seeders/UserPreference/DataRowsTableSeeder.php @@ -0,0 +1,151 @@ +where('slug', 'user-preferences')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'category'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.category'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'user_preference_belongsto_assigned_user_relationship'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'relationship', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 0, + 'order' => 101, + 'details' => [ + 'model' => Voyager::modelClass('User'), + 'table' => 'users', + 'type' => 'belongsTo', + 'column' => 'assigned_user_id', + 'key' => 'id', + 'label' => 'name', + 'pivot_table' => 'users', + 'pivot' => 0, + ], + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'assigned_user_id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.assigned_user'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 102, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/UserPreference/DataTypesTableSeeder.php b/database/seeders/UserPreference/DataTypesTableSeeder.php new file mode 100644 index 0000000..f75d1c4 --- /dev/null +++ b/database/seeders/UserPreference/DataTypesTableSeeder.php @@ -0,0 +1,43 @@ +dataType('slug', 'user-preferences'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'user_preferences', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.user_preference.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.user_preference.plural'), + 'icon' => 'voyager-bread voyager-crm-user_preference voyager-categories', + 'model_name' => Voyager::modelClass('UserPreference'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\UserPreferencePolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/UserPreference/DummyUserPreferencesTableSeeder.php b/database/seeders/UserPreference/DummyUserPreferencesTableSeeder.php new file mode 100644 index 0000000..98c8ec9 --- /dev/null +++ b/database/seeders/UserPreference/DummyUserPreferencesTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/UserPreference/MenuItemsTableSeeder.php b/database/seeders/UserPreference/MenuItemsTableSeeder.php new file mode 100644 index 0000000..9ad8905 --- /dev/null +++ b/database/seeders/UserPreference/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.user_preferences'), + 'url' => '', + 'route' => 'voyager.user-preferences.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-user_preference voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/UserPreference/PermissionsTableSeeder.php b/database/seeders/UserPreference/PermissionsTableSeeder.php new file mode 100644 index 0000000..872dfcb --- /dev/null +++ b/database/seeders/UserPreference/PermissionsTableSeeder.php @@ -0,0 +1,17 @@ +generateFor('user_preferences'); + } +} diff --git a/database/seeders/UserPreference/SettingsTableSeeder.php b/database/seeders/UserPreference/SettingsTableSeeder.php new file mode 100644 index 0000000..add76a7 --- /dev/null +++ b/database/seeders/UserPreference/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('user_preference.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.user_preference.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'UserPreference', + ])->save(); + } + + $setting = $this->findSetting('user_preference.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.user_preference.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'UserPreference', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/UserPreference/TranslationsTableSeeder.php b/database/seeders/UserPreference/TranslationsTableSeeder.php new file mode 100644 index 0000000..03bdb83 --- /dev/null +++ b/database/seeders/UserPreference/TranslationsTableSeeder.php @@ -0,0 +1,111 @@ +dataTypesTranslations(); + $this->userPreferencesTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function userPreferencesTranslations() + { + // Adding translations for 'user_preferences' + // + $cat = Voyager::model('UserPreference')->where('name', 'user_preference-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['user_preferences', 'name'], $cat->id), 'user-preference-1'); + $this->trans('pt', $this->arr(['user_preferences', 'description'], $cat->id), 'UserPreference 1'); + } + $cat = Voyager::model('UserPreference')->where('name', 'user_preference-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['user_preferences', 'name'], $cat->id), 'user-preference-2'); + $this->trans('pt', $this->arr(['user_preferences', 'description'], $cat->id), 'UserPreference 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'UserPreference'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'UserPreferences'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.user_preferences')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'UserPreferences'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/UserPreference/UserPreferencesTableSeeder.php b/database/seeders/UserPreference/UserPreferencesTableSeeder.php new file mode 100644 index 0000000..cffd1f6 --- /dev/null +++ b/database/seeders/UserPreference/UserPreferencesTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('UserPreference')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/UserPreference/VoyagerDatabaseSeeder.php b/database/seeders/UserPreference/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..14abc41 --- /dev/null +++ b/database/seeders/UserPreference/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + UserPreferencesTableSeeder::class, + ]); + } +} diff --git a/database/seeders/UserPreference/VoyagerDummyDatabaseSeeder.php b/database/seeders/UserPreference/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..0b8b875 --- /dev/null +++ b/database/seeders/UserPreference/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyUserPreferencesTableSeeder::class + ]); + } +} diff --git a/database/seeders/UsersSignature/DataRowsTableSeeder.php b/database/seeders/UsersSignature/DataRowsTableSeeder.php new file mode 100644 index 0000000..53fda13 --- /dev/null +++ b/database/seeders/UsersSignature/DataRowsTableSeeder.php @@ -0,0 +1,110 @@ +where('slug', 'users-signatures')->firstOrFail(); + + $dataRow = $this->dataRow($dataType, 'id'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.id'), + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 1, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'name'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'text', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.name'), + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'order' => 2, + ])->save(); + } + + // + + $dataRow = $this->dataRow($dataType, 'created_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.created_at'), + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 103, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'updated_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.updated_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 104, + ])->save(); + } + + $dataRow = $this->dataRow($dataType, 'deleted_at'); + if (!$dataRow->exists) { + $dataRow->fill([ + 'type' => 'timestamp', + 'display_name' => __('joy-voyager-crm::seeders.data_rows.deleted_at'), + 'required' => 0, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'order' => 105, + ])->save(); + } + } + + /** + * [dataRow description]. + * + * @param [type] $type [description] + * @param [type] $field [description] + * + * @return [type] [description] + */ + protected function dataRow($type, $field) + { + return Voyager::model('DataRow')->firstOrNew([ + 'data_type_id' => $type->id, + 'field' => $field, + ]); + } +} diff --git a/database/seeders/UsersSignature/DataTypesTableSeeder.php b/database/seeders/UsersSignature/DataTypesTableSeeder.php new file mode 100644 index 0000000..058113f --- /dev/null +++ b/database/seeders/UsersSignature/DataTypesTableSeeder.php @@ -0,0 +1,44 @@ +dataType('slug', 'users-signatures'); + if (!$dataType->exists) { + $dataType->fill([ + 'name' => 'users_signatures', + 'display_name_singular' => __('joy-voyager-crm::seeders.data_types.users_signature.singular'), + 'display_name_plural' => __('joy-voyager-crm::seeders.data_types.users_signature.plural'), + 'icon' => 'voyager-bread voyager-crm-users_signature voyager-categories', + 'model_name' => Voyager::modelClass('UsersSignature'), + // 'policy_name' => 'Joy\\VoyagerCrm\\Policies\\UsersSignaturePolicy', + // 'controller' => 'Joy\\VoyagerCrm\\Http\\Controllers\\VoyagerCrmController', + 'generate_permissions' => 1, + 'description' => '', + ])->save(); + } + } + + /** + * [dataType description]. + * + * @param [type] $field [description] + * @param [type] $for [description] + * + * @return [type] [description] + */ + protected function dataType($field, $for) + { + return Voyager::model('DataType')->firstOrNew([$field => $for]); + } +} diff --git a/database/seeders/UsersSignature/DummyUsersSignaturesTableSeeder.php b/database/seeders/UsersSignature/DummyUsersSignaturesTableSeeder.php new file mode 100644 index 0000000..0f436f1 --- /dev/null +++ b/database/seeders/UsersSignature/DummyUsersSignaturesTableSeeder.php @@ -0,0 +1,22 @@ +factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/UsersSignature/MenuItemsTableSeeder.php b/database/seeders/UsersSignature/MenuItemsTableSeeder.php new file mode 100644 index 0000000..0ffb692 --- /dev/null +++ b/database/seeders/UsersSignature/MenuItemsTableSeeder.php @@ -0,0 +1,37 @@ +where('name', 'admin')->firstOrFail(); + + $maxOrder = Voyager::model('MenuItem')->max('order') ?? 1; + + $menuItem = Voyager::model('MenuItem')->firstOrNew([ + 'menu_id' => $menu->id, + 'title' => __('joy-voyager-crm::seeders.menu_items.users_signatures'), + 'url' => '', + 'route' => 'voyager.users-signatures.index', + ]); + if (!$menuItem->exists) { + $menuItem->fill([ + 'target' => '_self', + 'icon_class' => 'voyager-bread voyager-crm-users_signature voyager-categories', + 'color' => null, + 'parent_id' => $parentMenuId, + 'order' => ++$maxOrder, + ])->save(); + } + } +} diff --git a/database/seeders/UsersSignature/PermissionsTableSeeder.php b/database/seeders/UsersSignature/PermissionsTableSeeder.php new file mode 100644 index 0000000..22a09c1 --- /dev/null +++ b/database/seeders/UsersSignature/PermissionsTableSeeder.php @@ -0,0 +1,18 @@ +generateFor('users_signatures'); + } +} diff --git a/database/seeders/UsersSignature/SettingsTableSeeder.php b/database/seeders/UsersSignature/SettingsTableSeeder.php new file mode 100644 index 0000000..4a19fd4 --- /dev/null +++ b/database/seeders/UsersSignature/SettingsTableSeeder.php @@ -0,0 +1,52 @@ +findSetting('users_signature.key1'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.users_signature.key1'), + 'value' => 'Joy Voyager', + 'details' => '', + 'type' => 'text', + 'order' => 1, + 'group' => 'UsersSignature', + ])->save(); + } + + $setting = $this->findSetting('users_signature.image'); + if (!$setting->exists) { + $setting->fill([ + 'display_name' => __('joy-voyager-crm::seeders.settings.users_signature.image'), + 'value' => '', + 'details' => '', + 'type' => 'image', + 'order' => 2, + 'group' => 'UsersSignature', + ])->save(); + } + } + + /** + * [setting description]. + * + * @param [type] $key [description] + * + * @return [type] [description] + */ + protected function findSetting($key) + { + return Voyager::model('Setting')->firstOrNew(['key' => $key]); + } +} diff --git a/database/seeders/UsersSignature/TranslationsTableSeeder.php b/database/seeders/UsersSignature/TranslationsTableSeeder.php new file mode 100644 index 0000000..99fbd0b --- /dev/null +++ b/database/seeders/UsersSignature/TranslationsTableSeeder.php @@ -0,0 +1,115 @@ +dataTypesTranslations(); + $this->usersSignaturesTranslations(); + $this->menusTranslations(); + } + + /** + * Auto generate Categories Translations. + * + * @return void + */ + private function usersSignaturesTranslations() + { + // Adding translations for 'users_signatures' + // + $cat = Voyager::model('UsersSignature')->where('name', 'users_signature-1')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['users_signatures', 'name'], $cat->id), 'users-signature-1'); + $this->trans('pt', $this->arr(['users_signatures', 'description'], $cat->id), 'UsersSignature 1'); + } + $cat = Voyager::model('UsersSignature')->where('name', 'users_signature-2')->first(); + if ($cat->exists) { + $this->trans('pt', $this->arr(['users_signatures', 'name'], $cat->id), 'users-signature-2'); + $this->trans('pt', $this->arr(['users_signatures', 'description'], $cat->id), 'UsersSignature 2'); + } + } + + /** + * Auto generate DataTypes Translations. + * + * @return void + */ + private function dataTypesTranslations() + { + // Adding translations for 'display_name_singular' + // + $_fld = 'display_name_singular'; + $_tpl = ['data_types', $_fld]; + + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.singular'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'UsersSignature'); + } + + // Adding translations for 'display_name_plural' + // + $_fld = 'display_name_plural'; + $_tpl = ['data_types', $_fld]; + $dtp = Voyager::model('DataType')->where($_fld, __('joy-voyager-crm::seeders.data_types.category.plural'))->firstOrFail(); + if ($dtp->exists) { + $this->trans('pt', $this->arr($_tpl, $dtp->id), 'UsersSignatures'); + } + } + + /** + * Auto generate Menus Translations. + * + * @return void + */ + private function menusTranslations() + { + $_tpl = ['menu_items', 'title']; + $_item = $this->findMenuItem(__('joy-voyager-crm::seeders.menu_items.users_signatures')); + if ($_item->exists) { + $this->trans('pt', $this->arr($_tpl, $_item->id), 'UsersSignatures'); + } + } + + private function findMenuItem($title) + { + return Voyager::model('MenuItem')->where('title', $title)->firstOrFail(); + } + + private function arr($par, $id) + { + return [ + 'table_name' => $par[0], + 'column_name' => $par[1], + 'foreign_key' => $id, + ]; + } + + private function trans($lang, $keys, $value) + { + $_t = Voyager::model('Translation')->firstOrNew(array_merge($keys, [ + 'locale' => $lang, + ])); + + if (!$_t->exists) { + $_t->fill(array_merge( + $keys, + ['value' => $value] + ))->save(); + } + } +} diff --git a/database/seeders/UsersSignature/UsersSignaturesTableSeeder.php b/database/seeders/UsersSignature/UsersSignaturesTableSeeder.php new file mode 100644 index 0000000..067da9e --- /dev/null +++ b/database/seeders/UsersSignature/UsersSignaturesTableSeeder.php @@ -0,0 +1,26 @@ +query()->count() > 0) { + return false; + } + + $count = 20; + Voyager::model('UsersSignature')->factory() + ->count($count) + ->create(); + } +} diff --git a/database/seeders/UsersSignature/VoyagerDatabaseSeeder.php b/database/seeders/UsersSignature/VoyagerDatabaseSeeder.php new file mode 100644 index 0000000..342791d --- /dev/null +++ b/database/seeders/UsersSignature/VoyagerDatabaseSeeder.php @@ -0,0 +1,31 @@ +call([ + DataTypesTableSeeder::class, + DataRowsTableSeeder::class, + // MenusTableSeeder::class, + MenuItemsTableSeeder::class, + // RolesTableSeeder::class, + PermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + SettingsTableSeeder::class, + // UserSettingsPermissionsTableSeeder::class, + 'Database\\Seeders\\PermissionRoleTableSeeder', + // UserSettingsTableSeeder::class, + UsersSignaturesTableSeeder::class, + ]); + } +} diff --git a/database/seeders/UsersSignature/VoyagerDummyDatabaseSeeder.php b/database/seeders/UsersSignature/VoyagerDummyDatabaseSeeder.php new file mode 100644 index 0000000..1889eae --- /dev/null +++ b/database/seeders/UsersSignature/VoyagerDummyDatabaseSeeder.php @@ -0,0 +1,20 @@ +call([ + DummyUsersSignaturesTableSeeder::class + ]); + } +} diff --git a/database/seeders/VoyagerDatabaseSeeder.php b/database/seeders/VoyagerDatabaseSeeder.php index a853521..aab32ee 100644 --- a/database/seeders/VoyagerDatabaseSeeder.php +++ b/database/seeders/VoyagerDatabaseSeeder.php @@ -14,7 +14,41 @@ class VoyagerDatabaseSeeder extends Seeder public function run() { $this->call([ - // \Joy\VoyagerBreadAccount\Database\Seeders\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\User\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Currency\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Survey\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Bug\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Call\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\AosPdfTemplate\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\AosProductCategory\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\AowWorkflow\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Email\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\ProspectList\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\InboundEmail\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\OutboundEmail\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\EmailTemplate\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\EmailCache\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Favorite\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Folder\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\FpEventLocation\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\ImportMap\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\JjwgAddressCache\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\JjwgArea\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\JjwgMap\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\JjwgMarker\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Scheduler\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Meeting\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\OutboundEmail\VoyagerDatabaseSeeder::class, // For user + \Joy\VoyagerCrm\Database\Seeders\Project\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\ProjectTask\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Release\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\SavedSearch\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Securitygroup\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Spot\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Templatesectionline\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\UserPreference\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\UsersSignature\VoyagerDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Account\VoyagerDatabaseSeeder::class, // \Joy\VoyagerBreadActivity\Database\Seeders\VoyagerDatabaseSeeder::class, // \Joy\VoyagerBreadArticle\Database\Seeders\VoyagerDatabaseSeeder::class, // \Joy\VoyagerBreadArticleCategory\Database\Seeders\VoyagerDatabaseSeeder::class, @@ -38,7 +72,7 @@ public function run() // \Joy\VoyagerBreadNotification\Database\Seeders\VoyagerDatabaseSeeder::class, // \Joy\VoyagerBreadOpportunity\Database\Seeders\VoyagerDatabaseSeeder::class, // \Joy\VoyagerBreadOrder\Database\Seeders\VoyagerDatabaseSeeder::class, - // \Joy\VoyagerBreadPdfTemplate\Database\Seeders\VoyagerDatabaseSeeder::class, + // \Joy\VoyagerBreadAosProductCategory\Database\Seeders\VoyagerDatabaseSeeder::class, // \Joy\VoyagerBreadPipeline\Database\Seeders\VoyagerDatabaseSeeder::class, // \Joy\VoyagerBreadPlan\Database\Seeders\VoyagerDatabaseSeeder::class, // \Joy\VoyagerBreadProduct\Database\Seeders\VoyagerDatabaseSeeder::class, diff --git a/database/seeders/VoyagerDummyDatabaseSeeder.php b/database/seeders/VoyagerDummyDatabaseSeeder.php index 146210d..0a68d6e 100644 --- a/database/seeders/VoyagerDummyDatabaseSeeder.php +++ b/database/seeders/VoyagerDummyDatabaseSeeder.php @@ -14,7 +14,41 @@ class VoyagerDummyDatabaseSeeder extends Seeder public function run() { $this->call([ - // \Joy\VoyagerBreadAccount\Database\Seeders\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\User\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Currency\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Survey\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Bug\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Call\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\AosPdfTemplate\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\AosProductCategory\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\AowWorkflow\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Email\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\ProspectList\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\InboundEmail\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\OutboundEmail\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\EmailTemplate\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\EmailCache\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Favorite\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Folder\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\FpEventLocation\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\ImportMap\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\JjwgAddressCache\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\JjwgArea\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\JjwgMap\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\JjwgMarker\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Scheduler\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Meeting\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\OutboundEmail\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Project\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\ProjectTask\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Release\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\SavedSearch\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Securitygroup\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Spot\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Templatesectionline\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\UserPreference\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\UsersSignature\VoyagerDummyDatabaseSeeder::class, + \Joy\VoyagerCrm\Database\Seeders\Account\VoyagerDummyDatabaseSeeder::class, // \Joy\VoyagerBreadActivity\Database\Seeders\VoyagerDummyDatabaseSeeder::class, // \Joy\VoyagerBreadArticle\Database\Seeders\VoyagerDummyDatabaseSeeder::class, // \Joy\VoyagerBreadArticleCategory\Database\Seeders\VoyagerDummyDatabaseSeeder::class, @@ -38,7 +72,7 @@ public function run() // \Joy\VoyagerBreadNotification\Database\Seeders\VoyagerDummyDatabaseSeeder::class, // \Joy\VoyagerBreadOpportunity\Database\Seeders\VoyagerDummyDatabaseSeeder::class, // \Joy\VoyagerBreadOrder\Database\Seeders\VoyagerDummyDatabaseSeeder::class, - // \Joy\VoyagerBreadPdfTemplate\Database\Seeders\VoyagerDummyDatabaseSeeder::class, + // \Joy\VoyagerBreadAosProductCategory\Database\Seeders\VoyagerDummyDatabaseSeeder::class, // \Joy\VoyagerBreadPipeline\Database\Seeders\VoyagerDummyDatabaseSeeder::class, // \Joy\VoyagerBreadPlan\Database\Seeders\VoyagerDummyDatabaseSeeder::class, // \Joy\VoyagerBreadProduct\Database\Seeders\VoyagerDummyDatabaseSeeder::class, diff --git a/phpcs.xml b/phpcs.xml index 3f2e7b2..e767501 100644 --- a/phpcs.xml +++ b/phpcs.xml @@ -1,16 +1,16 @@ - - The Laravel Coding Standards + The Laravel Coding Standards - - src - tests + src + tests - - */database/* - */cache/* - */*.js - */*.css - */*.xml - */*.blade.php - */autoload.php - */storage/* - */docs/* - */vendor/* - */migrations/* + */database/* + */cache/* + */*.js + */*.css + */*.xml + */*.blade.php + */autoload.php + */storage/* + */docs/* + */vendor/* + */migrations/* - - - - + - - - - resources/lang/*/* - config/* - - + + + resources/lang/*/* + config/* + + + + * + diff --git a/resources/lang/en/seeders.php b/resources/lang/en/seeders.php index be87b04..257eead 100644 --- a/resources/lang/en/seeders.php +++ b/resources/lang/en/seeders.php @@ -2,21 +2,454 @@ return [ 'data_rows' => [ - // + 'id' => 'Id', + 'name' => 'Name', + 'description' => 'Description', + 'created_at' => 'Created at', + 'updated_at' => 'Updated at', + 'created_by' => 'Created by', + 'modified_by' => 'Modified by', + 'assigned_user' => 'Assigned to', + 'parent' => 'Parent', + 'email' => 'Email', + 'password' => 'Password', + 'remember_token' => 'Remember token', + 'avatar' => 'Avatar', + 'role' => 'Role', + 'roles' => 'Roles', + 'user_name' => 'User name', + 'user_hash' => 'User hash', + 'system_generated_password' => 'System generated password', + 'pwd_last_changed' => 'Pwd last changed', + 'authenticate_id' => 'Authenticate id', + 'sugar_login' => 'Sugar login', + 'first_name' => 'First name', + 'last_name' => 'Last name', + 'is_admin' => 'Is admin', + 'external_auth_only' => 'External auth only', + 'receive_notifications' => 'Receive notifications', + 'title' => 'Title', + 'photo' => 'Photo', + 'department' => 'Department', + 'phone_home' => 'Phone home', + 'phone_mobile' => 'Phone mobile', + 'phone_work' => 'Phone work', + 'phone_other' => 'Phone other', + 'phone_fax' => 'Phone fax', + 'status' => 'Status', + 'address_street' => 'Address street', + 'address_city' => 'Address city', + 'address_state' => 'Address state', + 'address_country' => 'Address country', + 'address_postalcode' => 'Address postalcode', + 'portal_only' => 'Portal only', + 'show_on_employees' => 'Show on employees', + 'employee_status' => 'Employee status', + 'messenger_id' => 'Messenger id', + 'messenger_type' => 'Messenger type', + 'reports_to' => 'Reports to', + 'is_group' => 'Is group', + 'factor_auth' => 'Factor auth', + 'factor_auth_interface' => 'Factor auth interface', + 'assigned_user' => 'Assigned user', + 'account_type' => 'Account type', + 'industry' => 'Industry', + 'annual_revenue' => 'Annual revenue', + 'billing_address_street' => 'Billing address street', + 'billing_address_city' => 'Billing address city', + 'billing_address_state' => 'Billing address state', + 'billing_address_postalcode' => 'Billing address postalcode', + 'billing_address_country' => 'Billing address country', + 'rating' => 'Rating', + 'phone_office' => 'Phone office', + 'phone_alternate' => 'Phone alternate', + 'website' => 'Website', + 'ownership' => 'Ownership', + 'employees' => 'Employees', + 'ticker_symbol' => 'Ticker symbol', + 'shipping_address_street' => 'Shipping address street', + 'shipping_address_city' => 'Shipping address city', + 'shipping_address_state' => 'Shipping address state', + 'shipping_address_postalcode' => 'Shipping address postalcode', + 'shipping_address_country' => 'Shipping address country', + 'sic_code' => 'Sic code', + 'campaign_id' => 'Campaign id', + 'campaign' => 'Campaign', + 'symbol' => 'Symbol', + 'iso4217' => 'Iso4217', + 'conversion_rate' => 'Conversion rate', + 'deleted_at' => 'Deleted at', + 'submit_text' => 'Submit text', + 'satisfied_text' => 'Satisfied text', + 'neither_text' => 'Neither text', + 'dissatisfied_text' => 'Dissatisfied text', + 'bug_number' => 'Bug number', + 'type' => 'Type', + 'priority' => 'Priority', + 'resolution' => 'Resolution', + 'work_log' => 'Work log', + 'found_in_release' => 'Found in release', + 'fixed_in_release' => 'Fixed in release', + 'source' => 'Source', + 'product_category' => 'Product category', + 'duration_hours' => 'Duration hours', + 'duration_minutes' => 'Duration minutes', + 'date_start' => 'Date start', + 'date_end' => 'Date end', + 'direction' => 'Direction', + 'reminder_time' => 'Reminder time', + 'email_reminder_time' => 'Email reminder time', + 'email_reminder_sent' => 'Email reminder sent', + 'outlook_id' => 'Outlook id', + 'repeat_type' => 'Repeat type', + 'repeat_interval' => 'Repeat interval', + 'repeat_dow' => 'Repeat dow', + 'repeat_until' => 'Repeat until', + 'repeat_count' => 'Repeat count', + 'repeat_parent_id' => 'Repeat parent id', + 'recurring_source' => 'Recurring source', + 'active' => 'Active', + 'pdfheader' => 'Pdfheader', + 'pdffooter' => 'Pdffooter', + 'margin_left' => 'Margin left', + 'margin_right' => 'Margin right', + 'margin_top' => 'Margin top', + 'margin_bottom' => 'Margin bottom', + 'margin_header' => 'Margin header', + 'margin_footer' => 'Margin footer', + 'page_size' => 'Page size', + 'orientation' => 'Orientation', + 'is_parent' => 'Is Parent', + 'is_parent' => 'Is parent', + 'parent_category_id' => 'Parent category id', + 'mbox' => 'Mbox', + 'category' => 'Category', ], 'data_types' => [ - // + 'user' => [ + 'singular' => 'User', + 'plural' => 'Users', + ], + 'currency' => [ + 'singular' => 'Currency', + 'plural' => 'Currencies', + ], + 'survey' => [ + 'singular' => 'Survey', + 'plural' => 'Surveys', + ], + 'bug' => [ + 'singular' => 'Bug', + 'plural' => 'Bugs', + ], + 'call' => [ + 'singular' => 'Call', + 'plural' => 'Calls', + ], + 'aos_pdf_template' => [ + 'singular' => 'Pdf template', + 'plural' => 'Pdf templates', + ], + 'aos_product_category' => [ + 'singular' => 'Product category', + 'plural' => 'Product categories', + ], + 'aow_workflow' => [ + 'singular' => 'Aow workflow', + 'plural' => 'Aow workflows', + ], + 'email' => [ + 'singular' => 'Email', + 'plural' => 'Emails', + ], + 'prospect_list' => [ + 'singular' => 'Prospect list', + 'plural' => 'Prospect lists', + ], + 'inbound_email' => [ + 'singular' => 'Inbound email', + 'plural' => 'Inbound emails', + ], + 'outbound_email' => [ + 'singular' => 'Outbound email', + 'plural' => 'Outbound emails', + ], + 'email_template' => [ + 'singular' => 'Email template', + 'plural' => 'Email templates', + ], + 'email_cache' => [ + 'singular' => 'Email cache', + 'plural' => 'Email caches', + ], + 'favorite' => [ + 'singular' => 'Favorite', + 'plural' => 'Favorites', + ], + 'folder' => [ + 'singular' => 'Folder', + 'plural' => 'Folders', + ], + 'fp_event_location' => [ + 'singular' => 'Fp event location', + 'plural' => 'Fp event locations', + ], + 'import_map' => [ + 'singular' => 'Import map', + 'plural' => 'Import maps', + ], + 'jjwg_address_cache' => [ + 'singular' => 'Jjwg address cache', + 'plural' => 'Jjwg address caches', + ], + 'jjwg_area' => [ + 'singular' => 'Jjwg area', + 'plural' => 'Jjwg areas', + ], + 'jjwg_map' => [ + 'singular' => 'Jjwg map', + 'plural' => 'Jjwg maps', + ], + 'jjwg_marker' => [ + 'singular' => 'Jjwg marker', + 'plural' => 'Jjwg markers', + ], + 'scheduler' => [ + 'singular' => 'Scheduler', + 'plural' => 'Schedulers', + ], + 'meeting' => [ + 'singular' => 'Meeting', + 'plural' => 'Meetings', + ], + 'outbound_email' => [ + 'singular' => 'Outbound email', + 'plural' => 'Outbound emails', + ], + 'project' => [ + 'singular' => 'Project', + 'plural' => 'Projects', + ], + 'project_task' => [ + 'singular' => 'Project task', + 'plural' => 'Project tasks', + ], + 'release' => [ + 'singular' => 'Release', + 'plural' => 'Releases', + ], + 'saved_search' => [ + 'singular' => 'Saved search', + 'plural' => 'Saved searches', + ], + 'securitygroup' => [ + 'singular' => 'Securitygroup', + 'plural' => 'Securitygroups', + ], + 'spot' => [ + 'singular' => 'Spot', + 'plural' => 'Spots', + ], + 'templatesectionline' => [ + 'singular' => 'Templatesectionline', + 'plural' => 'Templatesectionlines', + ], + 'user_preference' => [ + 'singular' => 'User preference', + 'plural' => 'User preferences', + ], + 'users_signature' => [ + 'singular' => 'Users signature', + 'plural' => 'Users signatures', + ], + 'account' => [ + 'singular' => 'Account', + 'plural' => 'Accounts', + ] ], 'menu_items' => [ - 'crm' => 'CRM', - 'sales' => 'Sales', - 'marketing' => 'Marketing', - 'support' => 'Support', - 'activities' => 'Activities', - 'collaboration' => 'Collaboration', - 'all' => 'All', + 'crm' => 'CRM', + 'sales' => 'Sales', + 'marketing' => 'Marketing', + 'support' => 'Support', + 'activities' => 'Activities', + 'collaboration' => 'Collaboration', + 'all' => 'All', + 'users' => 'Users', + 'currencies' => 'Currencies', + 'surveys' => 'Surveys', + 'bugs' => 'Bugs', + 'calls' => 'Calls', + 'aos_pdf_templates' => 'Pdf templates', + 'aos_product_categories' => 'Product categories', + 'aow_workflows' => 'Aow workflows', + 'emails' => 'Emails', + 'prospect_lists' => 'Prospect lists', + 'inbound_emails' => 'Inbound emails', + 'outbound_emails' => 'Outbound emails', + 'email_templates' => 'Email templates', + 'email_caches' => 'Email caches', + 'favorites' => 'Favorites', + 'folders' => 'Folders', + 'fp_event_locations' => 'Fp event locations', + 'import_maps' => 'Import maps', + 'jjwg_address_caches' => 'Jjwg address caches', + 'jjwg_areas' => 'Jjwg areas', + 'jjwg_maps' => 'Jjwg maps', + 'jjwg_markers' => 'Jjwg markers', + 'schedulers' => 'Schedulers', + 'meetings' => 'Meetings', + 'projects' => 'Projects', + 'project_tasks' => 'Project tasks', + 'releases' => 'Releases', + 'saved_searches' => 'Saved searches', + 'securitygroups' => 'Securitygroups', + 'spots' => 'Spots', + 'templatesectionlines' => 'Templatesectionlines', + 'user_preferences' => 'User preferences', + 'users_signatures' => 'Users signatures', + 'accounts' => 'Accounts', ], 'settings' => [ - // + 'user' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'currency' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'survey' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'bug' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'call' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'aos_pdf_template' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'aos_product_category' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'aow_workflow' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'email' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'prospect_list' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'inbound_email' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'outbound_email' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'email_template' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'email_cache' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'favorite' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'folder' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'fp_event_location' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'import_map' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'jjwg_address_cache' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'jjwg_area' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'jjwg_map' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'jjwg_marker' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'scheduler' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'meeting' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'outbound_email' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'project' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'project_task' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'release' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'saved_search' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'securitygroup' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'spot' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'templatesectionline' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'user_preference' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'users_signature' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ], + 'account' => [ + 'key1' => 'Key 1', + 'image' => 'Image', + ] ], ]; diff --git a/src/Models/Account.php b/src/Models/Account.php new file mode 100644 index 0000000..4073306 --- /dev/null +++ b/src/Models/Account.php @@ -0,0 +1,116 @@ + 'float', + 'jjwg_maps_lat_c' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'jjwg_maps_lng_c', + 'jjwg_maps_lat_c', + 'jjwg_maps_geocode_status_c', + 'jjwg_maps_address_c' + ]; +} diff --git a/src/Models/AccountsOpportunity.php b/src/Models/AccountsOpportunity.php new file mode 100644 index 0000000..b6e5981 --- /dev/null +++ b/src/Models/AccountsOpportunity.php @@ -0,0 +1,44 @@ + 'int', + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'modified_by_id', + 'created_by_id', + 'name', + 'category', + 'acltype', + 'aclaccess', + ]; +} diff --git a/src/Models/AclRole.php b/src/Models/AclRole.php new file mode 100644 index 0000000..bed4394 --- /dev/null +++ b/src/Models/AclRole.php @@ -0,0 +1,50 @@ + 'int', + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'role_id', + 'action_id', + 'access_override', + ]; +} diff --git a/src/Models/AclRolesUser.php b/src/Models/AclRolesUser.php new file mode 100644 index 0000000..e17d122 --- /dev/null +++ b/src/Models/AclRolesUser.php @@ -0,0 +1,47 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'is_read', + 'target_module', + 'type', + 'url_redirect', + 'reminder_id' + ]; +} diff --git a/src/Models/AmProjecttemplate.php b/src/Models/AmProjecttemplate.php new file mode 100644 index 0000000..5901480 --- /dev/null +++ b/src/Models/AmProjecttemplate.php @@ -0,0 +1,65 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'status', + 'priority', + 'override_business_hours' + ]; +} diff --git a/src/Models/AmProjecttemplatesAudit.php b/src/Models/AmProjecttemplatesAudit.php new file mode 100644 index 0000000..2dd3988 --- /dev/null +++ b/src/Models/AmProjecttemplatesAudit.php @@ -0,0 +1,60 @@ + 'int', + 'predecessors' => 'int', + 'milestone_flag' => 'bool', + 'task_number' => 'int', + 'order_number' => 'int', + 'estimated_effort' => 'int', + 'duration' => 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'status', + 'priority', + 'percent_complete', + 'predecessors', + 'milestone_flag', + 'relationship_type', + 'task_number', + 'order_number', + 'estimated_effort', + 'utilization', + 'duration' + ]; +} diff --git a/src/Models/AmTasktemplatesAmProjecttemplatesC.php b/src/Models/AmTasktemplatesAmProjecttemplatesC.php new file mode 100644 index 0000000..9eac1d4 --- /dev/null +++ b/src/Models/AmTasktemplatesAmProjecttemplatesC.php @@ -0,0 +1,47 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + + 'opening_hours', + 'closing_hours', + 'open_status', + 'day' + ]; +} diff --git a/src/Models/AodIndex.php b/src/Models/AodIndex.php new file mode 100644 index 0000000..79f1fd5 --- /dev/null +++ b/src/Models/AodIndex.php @@ -0,0 +1,60 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'error', + 'success', + 'record_id', + 'record_module' + ]; +} diff --git a/src/Models/AodIndexeventAudit.php b/src/Models/AodIndexeventAudit.php new file mode 100644 index 0000000..0a60cb3 --- /dev/null +++ b/src/Models/AodIndexeventAudit.php @@ -0,0 +1,57 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'case_id', + 'contact_id', + 'internal' + ]; +} diff --git a/src/Models/AopCaseUpdatesAudit.php b/src/Models/AopCaseUpdatesAudit.php new file mode 100644 index 0000000..57d8e95 --- /dev/null +++ b/src/Models/AopCaseUpdatesAudit.php @@ -0,0 +1,60 @@ + 'int', + 'y_field' => 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + + 'aor_report_id', + 'type', + 'x_field', + 'y_field' + ]; +} diff --git a/src/Models/AorCondition.php b/src/Models/AorCondition.php new file mode 100644 index 0000000..109a04c --- /dev/null +++ b/src/Models/AorCondition.php @@ -0,0 +1,76 @@ + 'int', + 'parameter' => 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + + 'aor_report_id', + 'condition_order', + 'logic_op', + 'parenthesis', + 'module_path', + 'field', + 'operator', + 'value_type', + 'value', + 'parameter' + ]; +} diff --git a/src/Models/AorField.php b/src/Models/AorField.php new file mode 100644 index 0000000..aea8711 --- /dev/null +++ b/src/Models/AorField.php @@ -0,0 +1,92 @@ + 'int', + 'display' => 'bool', + 'link' => 'bool', + 'group_by' => 'bool', + 'group_display' => 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + + 'aor_report_id', + 'field_order', + 'module_path', + 'field', + 'display', + 'link', + 'label', + 'field_function', + 'sort_by', + 'format', + 'total', + 'sort_order', + 'group_by', + 'group_order', + 'group_display' + ]; +} diff --git a/src/Models/AorReport.php b/src/Models/AorReport.php new file mode 100644 index 0000000..66a66f0 --- /dev/null +++ b/src/Models/AorReport.php @@ -0,0 +1,60 @@ + 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'report_module', + 'graphs_per_row' + ]; +} diff --git a/src/Models/AorReportsAudit.php b/src/Models/AorReportsAudit.php new file mode 100644 index 0000000..d175a61 --- /dev/null +++ b/src/Models/AorReportsAudit.php @@ -0,0 +1,57 @@ + 'float', + 'total_contract_value_usdollar' => 'float', + 'total_amt' => 'float', + 'total_amt_usdollar' => 'float', + 'subtotal_amount' => 'float', + 'subtotal_amount_usdollar' => 'float', + 'discount_amount' => 'float', + 'discount_amount_usdollar' => 'float', + 'tax_amount' => 'float', + 'tax_amount_usdollar' => 'float', + 'shipping_amount' => 'float', + 'shipping_amount_usdollar' => 'float', + 'shipping_tax_amt' => 'float', + 'shipping_tax_amt_usdollar' => 'float', + 'total_amount' => 'float', + 'total_amount_usdollar' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'start_date', + 'end_date', + 'customer_signed_date', + 'company_signed_date', + 'renewal_reminder_date' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'reference_code', + 'start_date', + 'end_date', + 'total_contract_value', + 'total_contract_value_usdollar', + 'currency_id', + 'status', + 'customer_signed_date', + 'company_signed_date', + 'renewal_reminder_date', + 'contract_type', + 'contract_account_id', + 'opportunity_id', + 'contact_id', + 'call_id', + 'total_amt', + 'total_amt_usdollar', + 'subtotal_amount', + 'subtotal_amount_usdollar', + 'discount_amount', + 'discount_amount_usdollar', + 'tax_amount', + 'tax_amount_usdollar', + 'shipping_amount', + 'shipping_amount_usdollar', + 'shipping_tax', + 'shipping_tax_amt', + 'shipping_tax_amt_usdollar', + 'total_amount', + 'total_amount_usdollar' + ]; +} diff --git a/src/Models/AosContractsAudit.php b/src/Models/AosContractsAudit.php new file mode 100644 index 0000000..3a22bd0 --- /dev/null +++ b/src/Models/AosContractsAudit.php @@ -0,0 +1,60 @@ + 'int', + 'total_amt' => 'float', + 'total_amt_usdollar' => 'float', + 'subtotal_amount' => 'float', + 'subtotal_amount_usdollar' => 'float', + 'discount_amount' => 'float', + 'discount_amount_usdollar' => 'float', + 'tax_amount' => 'float', + 'tax_amount_usdollar' => 'float', + 'shipping_amount' => 'float', + 'shipping_amount_usdollar' => 'float', + 'shipping_tax_amt' => 'float', + 'shipping_tax_amt_usdollar' => 'float', + 'total_amount' => 'float', + 'total_amount_usdollar' => 'float', + 'quote_number' => 'int', + 'subtotal_tax_amount' => 'float', + 'subtotal_tax_amount_usdollar' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'quote_date', + 'invoice_date', + 'due_date' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'billing_account_id', + 'billing_contact_id', + 'billing_address_street', + 'billing_address_city', + 'billing_address_state', + 'billing_address_postalcode', + 'billing_address_country', + 'shipping_address_street', + 'shipping_address_city', + 'shipping_address_state', + 'shipping_address_postalcode', + 'shipping_address_country', + 'number', + 'total_amt', + 'total_amt_usdollar', + 'subtotal_amount', + 'subtotal_amount_usdollar', + 'discount_amount', + 'discount_amount_usdollar', + 'tax_amount', + 'tax_amount_usdollar', + 'shipping_amount', + 'shipping_amount_usdollar', + 'shipping_tax', + 'shipping_tax_amt', + 'shipping_tax_amt_usdollar', + 'total_amount', + 'total_amount_usdollar', + 'currency_id', + 'quote_number', + 'quote_date', + 'invoice_date', + 'due_date', + 'status', + 'template_ddown_c', + 'subtotal_tax_amount', + 'subtotal_tax_amount_usdollar' + ]; +} diff --git a/src/Models/AosInvoicesAudit.php b/src/Models/AosInvoicesAudit.php new file mode 100644 index 0000000..7bab864 --- /dev/null +++ b/src/Models/AosInvoicesAudit.php @@ -0,0 +1,60 @@ + 'float', + 'total_amt_usdollar' => 'float', + 'discount_amount' => 'float', + 'discount_amount_usdollar' => 'float', + 'subtotal_amount' => 'float', + 'subtotal_amount_usdollar' => 'float', + 'tax_amount' => 'float', + 'tax_amount_usdollar' => 'float', + 'subtotal_tax_amount' => 'float', + 'subtotal_tax_amount_usdollar' => 'float', + 'total_amount' => 'float', + 'total_amount_usdollar' => 'float', + 'number' => 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'total_amt', + 'total_amt_usdollar', + 'discount_amount', + 'discount_amount_usdollar', + 'subtotal_amount', + 'subtotal_amount_usdollar', + 'tax_amount', + 'tax_amount_usdollar', + 'subtotal_tax_amount', + 'subtotal_tax_amount_usdollar', + 'total_amount', + 'total_amount_usdollar', + 'parent_type', + 'parent_id', + 'number', + 'currency_id' + ]; +} diff --git a/src/Models/AosLineItemGroupsAudit.php b/src/Models/AosLineItemGroupsAudit.php new file mode 100644 index 0000000..d3392ef --- /dev/null +++ b/src/Models/AosLineItemGroupsAudit.php @@ -0,0 +1,60 @@ + 'bool', + 'margin_left' => 'int', + 'margin_right' => 'int', + 'margin_top' => 'int', + 'margin_bottom' => 'int', + 'margin_header' => 'int', + 'margin_footer' => 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'active', + 'type', + 'pdfheader', + 'pdffooter', + 'margin_left', + 'margin_right', + 'margin_top', + 'margin_bottom', + 'margin_header', + 'margin_footer', + 'page_size', + 'orientation' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return AosPdfTemplateFactory::new(); + } +} diff --git a/src/Models/AosPdfTemplatesAudit.php b/src/Models/AosPdfTemplatesAudit.php new file mode 100644 index 0000000..e9af19a --- /dev/null +++ b/src/Models/AosPdfTemplatesAudit.php @@ -0,0 +1,57 @@ + 'float', + 'cost_usdollar' => 'float', + 'price' => 'float', + 'price_usdollar' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'maincode', + 'part_number', + 'category', + 'type', + 'cost', + 'cost_usdollar', + 'currency_id', + 'price', + 'price_usdollar', + 'url', + 'contact_id', + 'product_image', + 'aos_product_category_id' + ]; +} diff --git a/src/Models/AosProductCategoriesAudit.php b/src/Models/AosProductCategoriesAudit.php new file mode 100644 index 0000000..61fc1e3 --- /dev/null +++ b/src/Models/AosProductCategoriesAudit.php @@ -0,0 +1,60 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'is_parent', + 'parent_category_id' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return AosProductCategoryFactory::new(); + } +} diff --git a/src/Models/AosProductsAudit.php b/src/Models/AosProductsAudit.php new file mode 100644 index 0000000..ed292bb --- /dev/null +++ b/src/Models/AosProductsAudit.php @@ -0,0 +1,60 @@ + 'int', + 'product_qty' => 'float', + 'product_cost_price' => 'float', + 'product_cost_price_usdollar' => 'float', + 'product_list_price' => 'float', + 'product_list_price_usdollar' => 'float', + 'product_discount' => 'float', + 'product_discount_usdollar' => 'float', + 'product_discount_amount' => 'float', + 'product_discount_amount_usdollar' => 'float', + 'product_unit_price' => 'float', + 'product_unit_price_usdollar' => 'float', + 'vat_amt' => 'float', + 'vat_amt_usdollar' => 'float', + 'product_total_price' => 'float', + 'product_total_price_usdollar' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'currency_id', + 'part_number', + 'item_description', + 'number', + 'product_qty', + 'product_cost_price', + 'product_cost_price_usdollar', + 'product_list_price', + 'product_list_price_usdollar', + 'product_discount', + 'product_discount_usdollar', + 'product_discount_amount', + 'product_discount_amount_usdollar', + 'discount', + 'product_unit_price', + 'product_unit_price_usdollar', + 'vat_amt', + 'vat_amt_usdollar', + 'product_total_price', + 'product_total_price_usdollar', + 'vat', + 'parent_type', + 'parent_id', + 'product_id', + 'group_id' + ]; +} diff --git a/src/Models/AosProductsQuotesAudit.php b/src/Models/AosProductsQuotesAudit.php new file mode 100644 index 0000000..c224891 --- /dev/null +++ b/src/Models/AosProductsQuotesAudit.php @@ -0,0 +1,57 @@ + 'int', + 'total_amt' => 'float', + 'total_amt_usdollar' => 'float', + 'subtotal_amount' => 'float', + 'subtotal_amount_usdollar' => 'float', + 'discount_amount' => 'float', + 'discount_amount_usdollar' => 'float', + 'tax_amount' => 'float', + 'tax_amount_usdollar' => 'float', + 'shipping_amount' => 'float', + 'shipping_amount_usdollar' => 'float', + 'shipping_tax_amt' => 'float', + 'shipping_tax_amt_usdollar' => 'float', + 'total_amount' => 'float', + 'total_amount_usdollar' => 'float', + 'subtotal_tax_amount' => 'float', + 'subtotal_tax_amount_usdollar' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'expiration' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'approval_issue', + 'billing_account_id', + 'billing_contact_id', + 'billing_address_street', + 'billing_address_city', + 'billing_address_state', + 'billing_address_postalcode', + 'billing_address_country', + 'shipping_address_street', + 'shipping_address_city', + 'shipping_address_state', + 'shipping_address_postalcode', + 'shipping_address_country', + 'expiration', + 'number', + 'opportunity_id', + 'template_ddown_c', + 'total_amt', + 'total_amt_usdollar', + 'subtotal_amount', + 'subtotal_amount_usdollar', + 'discount_amount', + 'discount_amount_usdollar', + 'tax_amount', + 'tax_amount_usdollar', + 'shipping_amount', + 'shipping_amount_usdollar', + 'shipping_tax', + 'shipping_tax_amt', + 'shipping_tax_amt_usdollar', + 'total_amount', + 'total_amount_usdollar', + 'currency_id', + 'stage', + 'term', + 'terms_c', + 'approval_status', + 'invoice_status', + 'subtotal_tax_amount', + 'subtotal_tax_amount_usdollar' + ]; +} diff --git a/src/Models/AosQuotesAosInvoicesC.php b/src/Models/AosQuotesAosInvoicesC.php new file mode 100644 index 0000000..ddfbd5f --- /dev/null +++ b/src/Models/AosQuotesAosInvoicesC.php @@ -0,0 +1,44 @@ + 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + + 'aow_workflow_id', + 'action_order', + 'action', + 'parameters' + ]; +} diff --git a/src/Models/AowCondition.php b/src/Models/AowCondition.php new file mode 100644 index 0000000..b4a3db5 --- /dev/null +++ b/src/Models/AowCondition.php @@ -0,0 +1,72 @@ + 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + + 'aow_workflow_id', + 'condition_order', + 'module_path', + 'field', + 'operator', + 'value_type', + 'value' + ]; +} diff --git a/src/Models/AowProcessed.php b/src/Models/AowProcessed.php new file mode 100644 index 0000000..4027635 --- /dev/null +++ b/src/Models/AowProcessed.php @@ -0,0 +1,61 @@ + 'bool', + 'run_on_import' => 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'flow_module', + 'flow_run_on', + 'status', + 'run_when', + 'multiple_runs', + 'run_on_import' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return AowWorkflowFactory::new(); + } +} diff --git a/src/Models/AowWorkflowAudit.php b/src/Models/AowWorkflowAudit.php new file mode 100644 index 0000000..e8fb1ab --- /dev/null +++ b/src/Models/AowWorkflowAudit.php @@ -0,0 +1,60 @@ + 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'bug_number', + 'type', + 'status', + 'priority', + 'resolution', + 'work_log', + 'found_in_release', + 'fixed_in_release', + 'source', + 'product_category' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return BugFactory::new(); + } +} diff --git a/src/Models/BugsAudit.php b/src/Models/BugsAudit.php new file mode 100644 index 0000000..833327a --- /dev/null +++ b/src/Models/BugsAudit.php @@ -0,0 +1,60 @@ + 'int', + 'duration_minutes' => 'int', + 'reminder_time' => 'int', + 'email_reminder_time' => 'int', + 'email_reminder_sent' => 'bool', + 'repeat_interval' => 'int', + 'repeat_count' => 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'date_start', + 'date_end', + 'repeat_until' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'duration_hours', + 'duration_minutes', + 'date_start', + 'date_end', + 'parent_type', + 'status', + 'direction', + 'parent_id', + 'reminder_time', + 'email_reminder_time', + 'email_reminder_sent', + 'outlook_id', + 'repeat_type', + 'repeat_interval', + 'repeat_dow', + 'repeat_until', + 'repeat_count', + 'repeat_parent_id', + 'recurring_source' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return CallFactory::new(); + } +} diff --git a/src/Models/CallsContact.php b/src/Models/CallsContact.php new file mode 100644 index 0000000..b4cfd36 --- /dev/null +++ b/src/Models/CallsContact.php @@ -0,0 +1,51 @@ + 'int', + 'tracker_count' => 'int', + 'impressions' => 'int', + 'budget' => 'float', + 'expected_cost' => 'float', + 'actual_cost' => 'float', + 'expected_revenue' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'start_date', + 'end_date' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'assigned_user_id', + 'tracker_key', + 'tracker_count', + 'refer_url', + 'tracker_text', + 'start_date', + 'end_date', + 'status', + 'impressions', + 'currency_id', + 'budget', + 'expected_cost', + 'actual_cost', + 'expected_revenue', + 'campaign_type', + 'objective', + 'content', + 'frequency', + 'survey_id' + ]; +} diff --git a/src/Models/CampaignLog.php b/src/Models/CampaignLog.php new file mode 100644 index 0000000..f32d76a --- /dev/null +++ b/src/Models/CampaignLog.php @@ -0,0 +1,75 @@ + 'bool', + 'hits' => 'int', + ]; + + protected $dates = [ + 'activity_date', + 'created_at', + 'updated_at', + 'deleted_at', + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'campaign_id', + 'target_tracker_key', + 'target_id', + 'target_type', + 'activity_type', + 'activity_date', + 'related_id', + 'related_type', + 'archived', + 'hits', + 'list_id', + 'more_information', + 'marketing_id' + ]; +} diff --git a/src/Models/CampaignTrkr.php b/src/Models/CampaignTrkr.php new file mode 100644 index 0000000..c8e515f --- /dev/null +++ b/src/Models/CampaignTrkr.php @@ -0,0 +1,64 @@ + 'int', + 'is_optout' => 'bool', + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'tracker_name', + 'tracker_url', + 'tracker_key', + 'campaign_id', + 'modified_by_id', + 'created_by_id', + 'is_optout', + ]; +} diff --git a/src/Models/CampaignsAudit.php b/src/Models/CampaignsAudit.php new file mode 100644 index 0000000..cb46ec4 --- /dev/null +++ b/src/Models/CampaignsAudit.php @@ -0,0 +1,60 @@ + 'float', + 'jjwg_maps_lat_c' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'jjwg_maps_lng_c', + 'jjwg_maps_lat_c', + 'jjwg_maps_geocode_status_c', + 'jjwg_maps_address_c' + ]; +} diff --git a/src/Models/Config.php b/src/Models/Config.php new file mode 100644 index 0000000..bf42fc9 --- /dev/null +++ b/src/Models/Config.php @@ -0,0 +1,44 @@ + 'bool', + 'portal_account_disabled' => 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'date_reviewed', + 'birthdate' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'salutation', + 'first_name', + 'last_name', + 'title', + 'photo', + 'department', + 'do_not_call', + 'phone_home', + 'phone_mobile', + 'phone_work', + 'phone_other', + 'phone_fax', + 'lawful_basis', + 'date_reviewed', + 'lawful_basis_source', + 'primary_address_street', + 'primary_address_city', + 'primary_address_state', + 'primary_address_postalcode', + 'primary_address_country', + 'alt_address_street', + 'alt_address_city', + 'alt_address_state', + 'alt_address_postalcode', + 'alt_address_country', + 'assistant', + 'assistant_phone', + 'lead_source', + 'reports_to_id', + 'birthdate', + 'campaign_id', + 'joomla_account_id', + 'portal_account_disabled', + 'portal_user_type' + ]; +} diff --git a/src/Models/ContactsAudit.php b/src/Models/ContactsAudit.php new file mode 100644 index 0000000..48eaf6d --- /dev/null +++ b/src/Models/ContactsAudit.php @@ -0,0 +1,60 @@ + 'float', + 'jjwg_maps_lat_c' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'jjwg_maps_lng_c', + 'jjwg_maps_lat_c', + 'jjwg_maps_geocode_status_c', + 'jjwg_maps_address_c' + ]; +} diff --git a/src/Models/ContactsUser.php b/src/Models/ContactsUser.php new file mode 100644 index 0000000..a0db3ab --- /dev/null +++ b/src/Models/ContactsUser.php @@ -0,0 +1,47 @@ + 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'case_number', + 'type', + 'status', + 'priority', + 'resolution', + 'work_log', + 'account_id', + 'state', + 'contact_created_by_id' + ]; +} diff --git a/src/Models/CronRemoveDocument.php b/src/Models/CronRemoveDocument.php new file mode 100644 index 0000000..a290447 --- /dev/null +++ b/src/Models/CronRemoveDocument.php @@ -0,0 +1,46 @@ + 'float', + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'symbol', + 'iso4217', + 'conversion_rate', + 'status', + 'modified_by_id', + 'created_by_id', + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return CurrencyFactory::new(); + } +} diff --git a/src/Models/CustomField.php b/src/Models/CustomField.php new file mode 100644 index 0000000..46086bc --- /dev/null +++ b/src/Models/CustomField.php @@ -0,0 +1,67 @@ + 'int', + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'bean_id', + 'set_num', + 'field0', + 'field1', + 'field2', + 'field3', + 'field4', + 'field5', + 'field6', + 'field7', + 'field8', + 'field9', + ]; +} diff --git a/src/Models/Document.php b/src/Models/Document.php new file mode 100644 index 0000000..6ebcd36 --- /dev/null +++ b/src/Models/Document.php @@ -0,0 +1,87 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'active_date', + 'exp_date' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'document_name', + 'doc_id', + 'doc_type', + 'doc_url', + 'active_date', + 'exp_date', + 'category_id', + 'subcategory_id', + 'status_id', + 'document_revision_id', + 'related_doc_id', + 'related_doc_rev_id', + 'is_template', + 'template_type' + ]; +} diff --git a/src/Models/DocumentRevision.php b/src/Models/DocumentRevision.php new file mode 100644 index 0000000..ae3816c --- /dev/null +++ b/src/Models/DocumentRevision.php @@ -0,0 +1,66 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $hidden = [ + 'password', + 'consumer_secret', + 'oauth_token', + 'oauth_secret' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'password', + 'url', + 'application', + 'api_data', + 'consumer_key', + 'consumer_secret', + 'oauth_token', + 'oauth_secret', + 'validated' + ]; +} diff --git a/src/Models/Email.php b/src/Models/Email.php new file mode 100644 index 0000000..2a193f8 --- /dev/null +++ b/src/Models/Email.php @@ -0,0 +1,98 @@ + 'bool', + 'flagged' => 'bool', + 'reply_to_status' => 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'last_synced', + 'date_sent_received' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'assigned_user_id', + 'orphaned', + 'last_synced', + 'date_sent_received', + 'message_id', + 'type', + 'status', + 'flagged', + 'reply_to_status', + 'intent', + 'mailbox_id', + 'parent_type', + 'parent_id', + 'uid', + 'category_id' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return EmailFactory::new(); + } +} diff --git a/src/Models/EmailAddrBeanRel.php b/src/Models/EmailAddrBeanRel.php new file mode 100644 index 0000000..f3b91d3 --- /dev/null +++ b/src/Models/EmailAddrBeanRel.php @@ -0,0 +1,59 @@ + 'bool', + 'reply_to_address' => 'bool', + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'email_address_id', + 'bean_id', + 'bean_module', + 'primary_address', + 'reply_to_address', + ]; +} diff --git a/src/Models/EmailAddress.php b/src/Models/EmailAddress.php new file mode 100644 index 0000000..0e874bc --- /dev/null +++ b/src/Models/EmailAddress.php @@ -0,0 +1,71 @@ + 'bool', + 'opt_out' => 'bool', + ]; + + protected $dates = [ + 'confirm_opt_in_date', + 'confirm_opt_in_sent_date', + 'confirm_opt_in_fail_date', + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $hidden = [ + 'confirm_opt_in_token' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'email_address', + 'email_address_caps', + 'invalid_email', + 'opt_out', + 'confirm_opt_in', + 'confirm_opt_in_date', + 'confirm_opt_in_sent_date', + 'confirm_opt_in_fail_date', + 'confirm_opt_in_token', + ]; +} diff --git a/src/Models/EmailAddressesAudit.php b/src/Models/EmailAddressesAudit.php new file mode 100644 index 0000000..a1ad885 --- /dev/null +++ b/src/Models/EmailAddressesAudit.php @@ -0,0 +1,60 @@ + 'int', + 'imap_uid' => 'int', + 'msgno' => 'int', + 'recent' => 'int', + 'flagged' => 'int', + 'answered' => 'int', + 'deleted' => 'int', + 'seen' => 'int', + 'draft' => 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'senddate' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'ie_id', + 'mbox', + 'subject', + 'fromaddr', + 'toaddr', + 'senddate', + 'message_id', + 'mailsize', + 'imap_uid', + 'msgno', + 'recent', + 'flagged', + 'answered', + 'seen', + 'draft' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return EmailCacheFactory::new(); + } +} diff --git a/src/Models/EmailMarketing.php b/src/Models/EmailMarketing.php new file mode 100644 index 0000000..d9d846d --- /dev/null +++ b/src/Models/EmailMarketing.php @@ -0,0 +1,74 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'date_start' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'modified_by_id', + 'created_by_id', + 'name', + 'from_name', + 'from_addr', + 'reply_to_name', + 'reply_to_addr', + 'inbound_email_id', + 'date_start', + 'template_id', + 'status', + 'campaign_id', + 'outbound_email_id', + 'all_prospect_lists' + ]; +} diff --git a/src/Models/EmailMarketingProspectList.php b/src/Models/EmailMarketingProspectList.php new file mode 100644 index 0000000..c031531 --- /dev/null +++ b/src/Models/EmailMarketingProspectList.php @@ -0,0 +1,47 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'modified_by_id', + 'created_by_id', + 'published', + 'name', + 'description', + 'subject', + 'body', + 'body_html', + 'assigned_user_id', + 'text_only', + 'type' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return EmailTemplateFactory::new(); + } +} diff --git a/src/Models/Emailman.php b/src/Models/Emailman.php new file mode 100644 index 0000000..c360fc4 --- /dev/null +++ b/src/Models/Emailman.php @@ -0,0 +1,76 @@ + 'bool', + 'send_attempts' => 'int', + 'related_confirm_opt_in' => 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'send_date_time', + 'in_queue_date' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'user_id', + 'campaign_id', + 'marketing_id', + 'list_id', + 'send_date_time', + 'modified_by_id', + 'created_by_id', + 'in_queue', + 'in_queue_date', + 'send_attempts', + 'related_id', + 'related_type', + 'related_confirm_opt_in' + ]; +} diff --git a/src/Models/EmailsBean.php b/src/Models/EmailsBean.php new file mode 100644 index 0000000..c42c7d2 --- /dev/null +++ b/src/Models/EmailsBean.php @@ -0,0 +1,51 @@ + 'int', + 'required' => 'bool', + 'audited' => 'bool', + 'massupdate' => 'bool', + 'duplicate_merge' => 'int', + 'reportable' => 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'vname', + 'comments', + 'help', + 'custom_module', + 'type', + 'len', + 'required', + 'default_value', + 'audited', + 'massupdate', + 'duplicate_merge', + 'reportable', + 'importable', + 'ext1', + 'ext2', + 'ext3', + 'ext4' + ]; +} diff --git a/src/Models/Folder.php b/src/Models/Folder.php new file mode 100644 index 0000000..a48f2c7 --- /dev/null +++ b/src/Models/Folder.php @@ -0,0 +1,80 @@ + 'bool', + 'is_group' => 'bool', + 'is_dynamic' => 'bool', + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'folder_type', + 'parent_folder', + 'has_child', + 'is_group', + 'is_dynamic', + 'dynamic_query', + 'assign_to_id', + 'modified_by_id', + 'created_by_id', + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return FolderFactory::new(); + } +} diff --git a/src/Models/FoldersRel.php b/src/Models/FoldersRel.php new file mode 100644 index 0000000..40a54a9 --- /dev/null +++ b/src/Models/FoldersRel.php @@ -0,0 +1,46 @@ + 'int', + 'duration_minutes' => 'int', + 'budget' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'date_start', + 'date_end' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'duration_hours', + 'duration_minutes', + 'date_start', + 'date_end', + 'budget', + 'currency_id', + 'invite_templates', + 'accept_redirect', + 'decline_redirect', + 'activity_status_type' + ]; +} diff --git a/src/Models/FpEventLocation.php b/src/Models/FpEventLocation.php new file mode 100644 index 0000000..96a4dcb --- /dev/null +++ b/src/Models/FpEventLocation.php @@ -0,0 +1,79 @@ + 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'fp_events_contactsfp_events_ida', + 'fp_events_contactscontacts_idb', + 'invite_status', + 'accept_status', + 'email_responded' + ]; +} diff --git a/src/Models/FpEventsFpEventDelegates1C.php b/src/Models/FpEventsFpEventDelegates1C.php new file mode 100644 index 0000000..b5fcf41 --- /dev/null +++ b/src/Models/FpEventsFpEventDelegates1C.php @@ -0,0 +1,47 @@ + 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'fp_events_leads_1fp_events_ida', + 'fp_events_leads_1leads_idb', + 'invite_status', + 'accept_status', + 'email_responded' + ]; +} diff --git a/src/Models/FpEventsProspects1C.php b/src/Models/FpEventsProspects1C.php new file mode 100644 index 0000000..84dba78 --- /dev/null +++ b/src/Models/FpEventsProspects1C.php @@ -0,0 +1,57 @@ + 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'fp_events_prospects_1fp_events_ida', + 'fp_events_prospects_1prospects_idb', + 'invite_status', + 'accept_status', + 'email_responded' + ]; +} diff --git a/src/Models/ImportMap.php b/src/Models/ImportMap.php new file mode 100644 index 0000000..648215a --- /dev/null +++ b/src/Models/ImportMap.php @@ -0,0 +1,81 @@ + 'bool', + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'source', + 'enclosure', + 'delimiter', + 'module', + 'content', + 'default_values', + 'has_header', + 'assigned_user_id', + 'is_published' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return ImportMapFactory::new(); + } +} diff --git a/src/Models/InboundEmail.php b/src/Models/InboundEmail.php new file mode 100644 index 0000000..1d8c585 --- /dev/null +++ b/src/Models/InboundEmail.php @@ -0,0 +1,101 @@ + 'int', + 'delete_seen' => 'bool', + 'is_personal' => 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $hidden = [ + 'email_password' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'modified_by_id', + 'created_by_id', + 'name', + 'status', + 'server_url', + 'email_user', + 'email_password', + 'port', + 'service', + 'mailbox', + 'delete_seen', + 'mailbox_type', + 'template_id', + 'stored_options', + 'group_id', + 'is_personal', + 'groupfolder_id' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return InboundEmailFactory::new(); + } +} diff --git a/src/Models/InboundEmailAutoreply.php b/src/Models/InboundEmailAutoreply.php new file mode 100644 index 0000000..0cf177e --- /dev/null +++ b/src/Models/InboundEmailAutoreply.php @@ -0,0 +1,48 @@ + 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'ie_timestamp' + ]; +} diff --git a/src/Models/JjwgAddressCache.php b/src/Models/JjwgAddressCache.php new file mode 100644 index 0000000..764981a --- /dev/null +++ b/src/Models/JjwgAddressCache.php @@ -0,0 +1,76 @@ + 'float', + 'lng' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'lat', + 'lng' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return JjwgAddressCacheFactory::new(); + } +} diff --git a/src/Models/JjwgAddressCacheAudit.php b/src/Models/JjwgAddressCacheAudit.php new file mode 100644 index 0000000..d6d3b4e --- /dev/null +++ b/src/Models/JjwgAddressCacheAudit.php @@ -0,0 +1,60 @@ + 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'distance', + 'unit_type', + 'module_type', + 'parent_type', + 'parent_id' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return JjwgMapFactory::new(); + } +} diff --git a/src/Models/JjwgMapsAudit.php b/src/Models/JjwgMapsAudit.php new file mode 100644 index 0000000..8b8f60b --- /dev/null +++ b/src/Models/JjwgMapsAudit.php @@ -0,0 +1,60 @@ + 'float', + 'jjwg_maps_lng' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'city', + 'state', + 'country', + 'jjwg_maps_lat', + 'jjwg_maps_lng', + 'marker_image' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return JjwgMarkerFactory::new(); + } +} diff --git a/src/Models/JjwgMarkersAudit.php b/src/Models/JjwgMarkersAudit.php new file mode 100644 index 0000000..f13e910 --- /dev/null +++ b/src/Models/JjwgMarkersAudit.php @@ -0,0 +1,60 @@ + 'bool', + 'retry_count' => 'int', + 'failure_count' => 'int', + 'job_delay' => 'int', + 'percent_complete' => 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'execute_time' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'assigned_user_id', + 'name', + 'scheduler_id', + 'execute_time', + 'status', + 'resolution', + 'message', + 'target', + 'data', + 'requeue', + 'retry_count', + 'failure_count', + 'job_delay', + 'client', + 'percent_complete' + ]; +} diff --git a/src/Models/Lead.php b/src/Models/Lead.php new file mode 100644 index 0000000..1f2b643 --- /dev/null +++ b/src/Models/Lead.php @@ -0,0 +1,152 @@ + 'bool', + 'converted' => 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'date_reviewed', + 'birthdate' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'salutation', + 'first_name', + 'last_name', + 'title', + 'photo', + 'department', + 'do_not_call', + 'phone_home', + 'phone_mobile', + 'phone_work', + 'phone_other', + 'phone_fax', + 'lawful_basis', + 'date_reviewed', + 'lawful_basis_source', + 'primary_address_street', + 'primary_address_city', + 'primary_address_state', + 'primary_address_postalcode', + 'primary_address_country', + 'alt_address_street', + 'alt_address_city', + 'alt_address_state', + 'alt_address_postalcode', + 'alt_address_country', + 'assistant', + 'assistant_phone', + 'converted', + 'refered_by', + 'lead_source', + 'lead_source_description', + 'status', + 'status_description', + 'reports_to_id', + 'account_name', + 'account_description', + 'contact_id', + 'account_id', + 'opportunity_id', + 'opportunity_name', + 'opportunity_amount', + 'campaign_id', + 'birthdate', + 'portal_name', + 'portal_app', + 'website' + ]; +} diff --git a/src/Models/LeadsAudit.php b/src/Models/LeadsAudit.php new file mode 100644 index 0000000..3a7c587 --- /dev/null +++ b/src/Models/LeadsAudit.php @@ -0,0 +1,57 @@ + 'float', + 'jjwg_maps_lat_c' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'jjwg_maps_lng_c', + 'jjwg_maps_lat_c', + 'jjwg_maps_geocode_status_c', + 'jjwg_maps_address_c' + ]; +} diff --git a/src/Models/LinkedDocument.php b/src/Models/LinkedDocument.php new file mode 100644 index 0000000..1a43e06 --- /dev/null +++ b/src/Models/LinkedDocument.php @@ -0,0 +1,51 @@ + 'int', + 'duration_minutes' => 'int', + 'reminder_time' => 'int', + 'email_reminder_time' => 'int', + 'email_reminder_sent' => 'bool', + 'sequence' => 'int', + 'repeat_interval' => 'int', + 'repeat_count' => 'int', + 'gsync_lastsync' => 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'date_start', + 'date_end', + 'repeat_until' + ]; + + protected $hidden = [ + 'password' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'location', + 'password', + 'join_url', + 'host_url', + 'displayed_url', + 'creator', + 'external_id', + 'duration_hours', + 'duration_minutes', + 'date_start', + 'date_end', + 'parent_type', + 'status', + 'type', + 'parent_id', + 'reminder_time', + 'email_reminder_time', + 'email_reminder_sent', + 'outlook_id', + 'sequence', + 'repeat_type', + 'repeat_interval', + 'repeat_dow', + 'repeat_until', + 'repeat_count', + 'repeat_parent_id', + 'recurring_source', + 'gsync_id', + 'gsync_lastsync' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return MeetingFactory::new(); + } +} diff --git a/src/Models/MeetingsContact.php b/src/Models/MeetingsContact.php new file mode 100644 index 0000000..7e2bce6 --- /dev/null +++ b/src/Models/MeetingsContact.php @@ -0,0 +1,51 @@ + 'float', + 'jjwg_maps_lat_c' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'jjwg_maps_lng_c', + 'jjwg_maps_lat_c', + 'jjwg_maps_geocode_status_c', + 'jjwg_maps_address_c' + ]; +} diff --git a/src/Models/MeetingsLead.php b/src/Models/MeetingsLead.php new file mode 100644 index 0000000..e26b502 --- /dev/null +++ b/src/Models/MeetingsLead.php @@ -0,0 +1,48 @@ + 'bool', + 'embed_flag' => 'bool', + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'assigned_user_id', + 'modified_by_id', + 'created_by_id', + 'name', + 'file_mime_type', + 'filename', + 'parent_type', + 'parent_id', + 'contact_id', + 'portal_flag', + 'embed_flag', + 'description', + ]; +} diff --git a/src/Models/Oauth2client.php b/src/Models/Oauth2client.php new file mode 100644 index 0000000..6bd8be6 --- /dev/null +++ b/src/Models/Oauth2client.php @@ -0,0 +1,79 @@ + 'bool', + 'duration_value' => 'int', + 'duration_amount' => 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $hidden = [ + 'secret' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'secret', + 'redirect_url', + 'is_confidential', + 'allowed_grant_type', + 'duration_value', + 'duration_amount', + 'duration_unit', + 'assigned_user_id' + ]; +} diff --git a/src/Models/Oauth2token.php b/src/Models/Oauth2token.php new file mode 100644 index 0000000..a967c71 --- /dev/null +++ b/src/Models/Oauth2token.php @@ -0,0 +1,84 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'access_token_expires', + 'refresh_token_expires' + ]; + + protected $hidden = [ + 'access_token', + 'refresh_token' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'token_is_revoked', + 'token_type', + 'access_token_expires', + 'access_token', + 'refresh_token', + 'refresh_token_expires', + 'grant_type', + 'state', + 'client', + 'assigned_user_id' + ]; +} diff --git a/src/Models/OauthConsumer.php b/src/Models/OauthConsumer.php new file mode 100644 index 0000000..bd98839 --- /dev/null +++ b/src/Models/OauthConsumer.php @@ -0,0 +1,60 @@ + 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'nonce_ts' + ]; +} diff --git a/src/Models/OauthToken.php b/src/Models/OauthToken.php new file mode 100644 index 0000000..da7dc11 --- /dev/null +++ b/src/Models/OauthToken.php @@ -0,0 +1,60 @@ + 'int', + ]; + + protected $hidden = [ + 'secret' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'secret', + 'tstate', + 'consumer', + 'token_ts', + 'verify', + 'callback_url', + 'assigned_user_id' + ]; +} diff --git a/src/Models/OpportunitiesAudit.php b/src/Models/OpportunitiesAudit.php new file mode 100644 index 0000000..90c8000 --- /dev/null +++ b/src/Models/OpportunitiesAudit.php @@ -0,0 +1,60 @@ + 'float', + 'jjwg_maps_lat_c' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'jjwg_maps_lng_c', + 'jjwg_maps_lat_c', + 'jjwg_maps_geocode_status_c', + 'jjwg_maps_address_c' + ]; +} diff --git a/src/Models/Opportunity.php b/src/Models/Opportunity.php new file mode 100644 index 0000000..cb09571 --- /dev/null +++ b/src/Models/Opportunity.php @@ -0,0 +1,82 @@ + 'float', + 'amount_usdollar' => 'float', + 'probability' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'date_closed' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'opportunity_type', + 'campaign_id', + 'lead_source', + 'amount', + 'amount_usdollar', + 'currency_id', + 'date_closed', + 'next_step', + 'sales_stage', + 'probability' + ]; +} diff --git a/src/Models/OutboundEmail.php b/src/Models/OutboundEmail.php new file mode 100644 index 0000000..aff587b --- /dev/null +++ b/src/Models/OutboundEmail.php @@ -0,0 +1,93 @@ + 'bool', + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'type', + 'user_id', + 'smtp_from_name', + 'smtp_from_addr', + 'mail_sendtype', + 'mail_smtptype', + 'mail_smtpserver', + 'mail_smtpport', + 'mail_smtpuser', + 'mail_smtppass', + 'mail_smtpauth_req', + 'mail_smtpssl', + 'modified_by_id', + 'created_by_id', + 'assigned_user_id' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return OutboundEmailFactory::new(); + } +} diff --git a/src/Models/OutboundEmailAudit.php b/src/Models/OutboundEmailAudit.php new file mode 100644 index 0000000..dc61a6a --- /dev/null +++ b/src/Models/OutboundEmailAudit.php @@ -0,0 +1,60 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'estimated_start_date', + 'estimated_end_date' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'assigned_user_id', + 'modified_by_id', + 'created_by_id', + 'name', + 'description', + 'estimated_start_date', + 'estimated_end_date', + 'status', + 'priority', + 'override_business_hours' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return ProjectFactory::new(); + } +} diff --git a/src/Models/ProjectContacts1C.php b/src/Models/ProjectContacts1C.php new file mode 100644 index 0000000..e09a7ed --- /dev/null +++ b/src/Models/ProjectContacts1C.php @@ -0,0 +1,47 @@ + 'float', + 'jjwg_maps_lat_c' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'jjwg_maps_lng_c', + 'jjwg_maps_lat_c', + 'jjwg_maps_geocode_status_c', + 'jjwg_maps_address_c' + ]; +} diff --git a/src/Models/ProjectTask.php b/src/Models/ProjectTask.php new file mode 100644 index 0000000..b331505 --- /dev/null +++ b/src/Models/ProjectTask.php @@ -0,0 +1,133 @@ + 'int', + 'time_start' => 'int', + 'time_finish' => 'int', + 'duration' => 'int', + 'actual_duration' => 'int', + 'percent_complete' => 'int', + 'parent_task_id' => 'int', + 'milestone_flag' => 'bool', + 'order_number' => 'int', + 'task_number' => 'int', + 'estimated_effort' => 'int', + 'actual_effort' => 'int', + 'utilization' => 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'date_start', + 'date_finish', + 'date_due', + 'time_due' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'project_id', + 'project_task_id', + 'name', + 'status', + 'relationship_type', + 'description', + 'predecessors', + 'date_start', + 'time_start', + 'time_finish', + 'date_finish', + 'duration', + 'duration_unit', + 'actual_duration', + 'percent_complete', + 'date_due', + 'time_due', + 'parent_task_id', + 'assigned_user_id', + 'modified_by_id', + 'created_by_id', + 'priority', + 'milestone_flag', + 'order_number', + 'task_number', + 'estimated_effort', + 'actual_effort', + 'utilization' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return ProjectTaskFactory::new(); + } +} diff --git a/src/Models/ProjectTaskAudit.php b/src/Models/ProjectTaskAudit.php new file mode 100644 index 0000000..d9199c4 --- /dev/null +++ b/src/Models/ProjectTaskAudit.php @@ -0,0 +1,57 @@ + 'bool', + 'tracker_key' => 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'date_reviewed', + 'birthdate' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'salutation', + 'first_name', + 'last_name', + 'title', + 'photo', + 'department', + 'do_not_call', + 'phone_home', + 'phone_mobile', + 'phone_work', + 'phone_other', + 'phone_fax', + 'lawful_basis', + 'date_reviewed', + 'lawful_basis_source', + 'primary_address_street', + 'primary_address_city', + 'primary_address_state', + 'primary_address_postalcode', + 'primary_address_country', + 'alt_address_street', + 'alt_address_city', + 'alt_address_state', + 'alt_address_postalcode', + 'alt_address_country', + 'assistant', + 'assistant_phone', + 'tracker_key', + 'birthdate', + 'lead_id', + 'account_name', + 'campaign_id' + ]; +} diff --git a/src/Models/ProspectList.php b/src/Models/ProspectList.php new file mode 100644 index 0000000..c61098a --- /dev/null +++ b/src/Models/ProspectList.php @@ -0,0 +1,71 @@ + 'float', + 'jjwg_maps_lat_c' => 'float' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'jjwg_maps_lng_c', + 'jjwg_maps_lat_c', + 'jjwg_maps_geocode_status_c', + 'jjwg_maps_address_c' + ]; +} diff --git a/src/Models/Relationship.php b/src/Models/Relationship.php new file mode 100644 index 0000000..450df1a --- /dev/null +++ b/src/Models/Relationship.php @@ -0,0 +1,72 @@ + 'bool', + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'relationship_name', + 'lhs_module', + 'lhs_table', + 'lhs_key', + 'rhs_module', + 'rhs_table', + 'rhs_key', + 'join_table', + 'join_key_lhs', + 'join_key_rhs', + 'relationship_type', + 'relationship_role_column', + 'relationship_role_column_value', + 'reverse', + ]; +} diff --git a/src/Models/Release.php b/src/Models/Release.php new file mode 100644 index 0000000..8cff3e1 --- /dev/null +++ b/src/Models/Release.php @@ -0,0 +1,68 @@ + 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'modified_by_id', + 'created_by_id', + 'name', + 'list_order', + 'status' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return ReleaseFactory::new(); + } +} diff --git a/src/Models/Reminder.php b/src/Models/Reminder.php new file mode 100644 index 0000000..c660c0f --- /dev/null +++ b/src/Models/Reminder.php @@ -0,0 +1,81 @@ + 'bool', + 'email' => 'bool', + 'email_sent' => 'bool', + 'date_willexecute' => 'int', + 'popup_viewed' => 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'popup', + 'email', + 'email_sent', + 'timer_popup', + 'timer_email', + 'related_event_module', + 'related_event_module_id', + 'date_willexecute', + 'popup_viewed' + ]; +} diff --git a/src/Models/RemindersInvitee.php b/src/Models/RemindersInvitee.php new file mode 100644 index 0000000..cedbeca --- /dev/null +++ b/src/Models/RemindersInvitee.php @@ -0,0 +1,58 @@ + 'bool', + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'role_id', + 'module_id', + 'allow', + ]; +} diff --git a/src/Models/RolesUser.php b/src/Models/RolesUser.php new file mode 100644 index 0000000..de94fe3 --- /dev/null +++ b/src/Models/RolesUser.php @@ -0,0 +1,47 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'date_time_start', + 'date_time_end', + 'time_from', + 'time_to', + 'last_run' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'modified_by_id', + 'created_by_id', + 'name', + 'job', + 'date_time_start', + 'date_time_end', + 'job_interval', + 'time_from', + 'time_to', + 'last_run', + 'status', + 'catch_up' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return SchedulerFactory::new(); + } +} diff --git a/src/Models/Securitygroup.php b/src/Models/Securitygroup.php new file mode 100644 index 0000000..f263e7a --- /dev/null +++ b/src/Models/Securitygroup.php @@ -0,0 +1,73 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'noninheritable' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return SecuritygroupFactory::new(); + } +} diff --git a/src/Models/SecuritygroupsAclRole.php b/src/Models/SecuritygroupsAclRole.php new file mode 100644 index 0000000..225eba1 --- /dev/null +++ b/src/Models/SecuritygroupsAclRole.php @@ -0,0 +1,47 @@ + 'bool', + 'noninheritable' => 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'securitygroup_id', + 'user_id', + 'primary_group', + 'noninheritable' + ]; +} diff --git a/src/Models/Spot.php b/src/Models/Spot.php new file mode 100644 index 0000000..accfef1 --- /dev/null +++ b/src/Models/Spot.php @@ -0,0 +1,68 @@ + 'int', + 'happiness_question' => 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'sort_order', + 'type', + 'happiness_question', + 'survey_id' + ]; +} diff --git a/src/Models/Surveyquestionoption.php b/src/Models/Surveyquestionoption.php new file mode 100644 index 0000000..a996a9f --- /dev/null +++ b/src/Models/Surveyquestionoption.php @@ -0,0 +1,60 @@ + 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'sort_order', + 'survey_question_id' + ]; +} diff --git a/src/Models/SurveyquestionoptionsAudit.php b/src/Models/SurveyquestionoptionsAudit.php new file mode 100644 index 0000000..560c1bc --- /dev/null +++ b/src/Models/SurveyquestionoptionsAudit.php @@ -0,0 +1,60 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'answer_datetime' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'answer', + 'answer_bool', + 'answer_datetime', + 'surveyquestion_id', + 'surveyresponse_id' + ]; +} diff --git a/src/Models/SurveyquestionresponsesAudit.php b/src/Models/SurveyquestionresponsesAudit.php new file mode 100644 index 0000000..5154586 --- /dev/null +++ b/src/Models/SurveyquestionresponsesAudit.php @@ -0,0 +1,60 @@ + 'int', + 'email_response_sent' => 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'happiness', + 'email_response_sent', + 'account_id', + 'campaign_id', + 'contact_id', + 'survey_id' + ]; +} diff --git a/src/Models/SurveyresponsesAudit.php b/src/Models/SurveyresponsesAudit.php new file mode 100644 index 0000000..ffa0ff7 --- /dev/null +++ b/src/Models/SurveyresponsesAudit.php @@ -0,0 +1,60 @@ + 'bool', + 'date_start_flag' => 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'date_due', + 'date_start' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'assigned_user_id', + 'status', + 'date_due_flag', + 'date_due', + 'date_start_flag', + 'date_start', + 'parent_type', + 'parent_id', + 'contact_id', + 'priority' + ]; +} diff --git a/src/Models/Templatesectionline.php b/src/Models/Templatesectionline.php new file mode 100644 index 0000000..5e33c46 --- /dev/null +++ b/src/Models/Templatesectionline.php @@ -0,0 +1,72 @@ + 'int' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'name', + 'modified_by_id', + 'created_by_id', + 'description', + 'thumbnail', + 'grp', + 'ord' + ]; + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return TemplatesectionlineFactory::new(); + } +} diff --git a/src/Models/Tracker.php b/src/Models/Tracker.php new file mode 100644 index 0000000..536afa8 --- /dev/null +++ b/src/Models/Tracker.php @@ -0,0 +1,64 @@ + 'bool', + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'monitor_id', + 'user_id', + 'module_name', + 'item_id', + 'item_summary', + 'updated_at', + 'action', + 'session_id', + 'visible', + 'deleted_at' + ]; +} diff --git a/src/Models/Traits/CreatedModifiedBy.php b/src/Models/Traits/CreatedModifiedBy.php new file mode 100644 index 0000000..3580967 --- /dev/null +++ b/src/Models/Traits/CreatedModifiedBy.php @@ -0,0 +1,31 @@ +isDirty('created_by_id')) { + $model->created_by_id = auth()->id(); + } + if (!$model->isDirty('modified_by_id')) { + $model->modified_by_id = auth()->id(); + } + }); + + // updating modified_by_id when model is updated + static::updating(function ($model) { + if (!$model->isDirty('modified_by_id')) { + $model->modified_by_id = auth()->id(); + } + }); + } +} diff --git a/src/Models/Traits/Uuids.php b/src/Models/Traits/Uuids.php new file mode 100644 index 0000000..8c9ad7f --- /dev/null +++ b/src/Models/Traits/Uuids.php @@ -0,0 +1,42 @@ +{$model->getKeyName()})) { + $model->{$model->getKeyName()} = Str::uuid()->toString(); + } + }); + } + + /** + * Get the value indicating whether the IDs are incrementing. + * + * @return bool + */ + public function getIncrementing() + { + return false; + } + + /** + * Get the auto-incrementing key type. + * + * @return string + */ + public function getKeyType() + { + return 'string'; + } +} diff --git a/src/Models/UpgradeHistory.php b/src/Models/UpgradeHistory.php new file mode 100644 index 0000000..e0e6712 --- /dev/null +++ b/src/Models/UpgradeHistory.php @@ -0,0 +1,66 @@ + 'bool' + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'filename', + 'md5sum', + 'type', + 'status', + 'version', + 'name', + 'description', + 'id_name', + 'manifest', + 'enabled' + ]; +} diff --git a/src/Models/User.php b/src/Models/User.php new file mode 100644 index 0000000..09ac4bb --- /dev/null +++ b/src/Models/User.php @@ -0,0 +1,183 @@ + 'datetime', + 'system_generated_password' => 'bool', + 'sugar_login' => 'bool', + 'is_admin' => 'bool', + 'external_auth_only' => 'bool', + 'receive_notifications' => 'bool', + 'portal_only' => 'bool', + 'show_on_employees' => 'bool', + 'is_group' => 'bool', + 'factor_auth' => 'bool' + ]; + + protected $dates = [ + 'pwd_last_changed', + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $hidden = [ + 'password', + 'remember_token', + 'system_generated_password' + ]; + + /** + * The attributes that are mass assignable. + * + * @var array + */ + protected $fillable = [ + 'name', + 'email', + 'password', + 'avatar', + 'role_id', + 'settings', + 'created_at', + 'updated_at', + 'deleted_at', + 'user_name', + 'user_hash', + 'system_generated_password', + 'pwd_last_changed', + 'authenticate_id', + 'sugar_login', + 'first_name', + 'last_name', + 'is_admin', + 'external_auth_only', + 'receive_notifications', + 'description', + 'modified_by_id', + 'created_by_id', + 'title', + 'photo', + 'department', + 'phone_home', + 'phone_mobile', + 'phone_work', + 'phone_other', + 'phone_fax', + 'status', + 'address_street', + 'address_city', + 'address_state', + 'address_country', + 'address_postalcode', + 'portal_only', + 'show_on_employees', + 'employee_status', + 'messenger_id', + 'messenger_type', + 'reports_to_id', + 'is_group', + 'factor_auth', + 'factor_auth_interface' + ]; + + public function scopeGlobalSearch(Builder $query, $value): void + { + $query + ->whereId($value) + ->orWhere('name', 'LIKE', '%' . $value . '%') + ->orWhere('email', 'LIKE', '%' . $value . '%'); + } + + /** + * Create a new factory instance for the model. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + protected static function newFactory() + { + return UserFactory::new(); + } +} diff --git a/src/Models/UserPreference.php b/src/Models/UserPreference.php new file mode 100644 index 0000000..9663c24 --- /dev/null +++ b/src/Models/UserPreference.php @@ -0,0 +1,60 @@ + 'int', + ]; + + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at' + ]; + + protected $fillable = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'user_id', + 'feed_id', + 'rank', + ]; +} diff --git a/src/Models/UsersLastImport.php b/src/Models/UsersLastImport.php new file mode 100644 index 0000000..8513a56 --- /dev/null +++ b/src/Models/UsersLastImport.php @@ -0,0 +1,48 @@ +registerPublishables(); $this->loadViewsFrom(__DIR__ . '/../resources/views', 'joy-voyager-crm');