From f22f4f4073fa1d4b3509e0bf45882aa2f9364a31 Mon Sep 17 00:00:00 2001 From: Paul Isaris Date: Mon, 7 Oct 2024 12:03:53 +0300 Subject: [PATCH] Added a separate seeder for the Air Quality project --- database/seeders/AirQualityProjectSeeder.php | 99 ++++++++++++++++++++ database/seeders/DatabaseSeeder.php | 1 + database/seeders/DefaultProjectSeeder.php | 54 ----------- 3 files changed, 100 insertions(+), 54 deletions(-) create mode 100644 database/seeders/AirQualityProjectSeeder.php diff --git a/database/seeders/AirQualityProjectSeeder.php b/database/seeders/AirQualityProjectSeeder.php new file mode 100644 index 00000000..ee66b506 --- /dev/null +++ b/database/seeders/AirQualityProjectSeeder.php @@ -0,0 +1,99 @@ +projectRepository = $crowdSourcingProjectRepository; + $this->projectTranslationRepository = $crowdSourcingProjectTranslationRepository; + } + + /** + * Run the database seeds. + */ + public function run(): void { + $project = [ + 'id' => 4, + 'slug' => 'air-quality-europe', + 'external_url' => 'https://www.scify.gr/site/en/', + 'img_path' => '/images/projects/air-quality-europe/logo-bg.webp', + 'logo_path' => '/images/projects/air-quality-europe/logo.webp', + 'user_creator_id' => 1, + 'language_id' => 6, + 'should_send_email_after_questionnaire_response' => 1, + 'lp_primary_color' => '#707070', + 'lp_questionnaire_image_path' => '/images/projects/air-quality-europe/logo.webp', + 'lp_show_speak_up_btn' => 1, + 'sm_featured_img_path' => '/images/projects/air-quality-europe/logo.webp', + 'display_landing_page_banner' => 1, + 'status_id' => CrowdSourcingProjectStatusLkp::PUBLISHED, + ]; + + $project_translations = [ + [ + 'id' => 6, + 'language_id' => 6, + 'project_id' => 4, + 'name' => 'Air Quality in Europe', + 'motto_title' => 'Please share with us your opinion on the air quality in Europe. Your voice matters!', + 'motto_subtitle' => 'You can make an impact! Share your opinion with us!', + 'description' => 'Lorem ipsum dolor site amet', + 'about' => '

Contribute to solving air quality problems in Athens and across Europe. Write points for and against the proposed solutions. Your contributions will be a valuable contribution to official policy to improve air quality in Athens and across Europe.

', + 'footer' => '

© SCIFY ' . now()->year . ' |  + Terms of use |  + Privacy Policy |  + Cookie Policy', + 'sm_title' => 'Air Quality in Europe', + 'sm_description' => 'Please share with us your opinion on the air quality in Europe. Your voice matters!', + 'sm_keywords' => 'Social Media Keywords', + 'questionnaire_response_email_intro_text' => '

Thanks to your contribution we are one step closer to understanding the problem.

', + 'questionnaire_response_email_outro_text' => '

Thank you for your time and effort.

', + ], + [ + 'id' => 7, + 'language_id' => 12, + 'project_id' => 4, + 'name' => 'Η Ποιότητα του Αέρα στην Ευρώπη', + 'motto_title' => 'Παρακαλούμε μοιραστείτε μαζί μας την άποψή σας για την ποιότητα του αέρα στην Ευρώπη. Η φωνή σας μετράει!', + 'motto_subtitle' => 'Μπορείς να κάνεις διαφορά! Μοιραστείτε την άποψή σας μαζί μας!', + 'description' => 'Lorem ipsum dolor site amet', + 'about' => '

Συμβάλλετε στην επίλυση των προβλημάτων ποιότητας του αέρα στην Αθήνα και σε όλη την Ευρώπη. Γράψτε επιχειρήματα υπέρ και κατά των προτεινόμενων λύσεων. Η συμβολή σας θα είναι πολύτιμη για τη διαμόρφωση επίσημης πολιτικής για τη βελτίωση της ποιότητας του αέρα στην Αθήνα και σε όλη την Ευρώπη.

', + 'footer' => '

© SCIFY ' . now()->year . ' |  + Πολιτική Ορθής Χρήσης |  + Πολιτική Ιδιωτικότητας |  + Πολιτική Cookies', + 'sm_title' => 'Η Ποιότητα του Αέρα στην Ευρώπη', + 'sm_description' => 'Παρακαλούμε μοιραστείτε μαζί μας την άποψή σας για την ποιότητα του αέρα στην Ευρώπη. Η φωνή σας μετράει!', + 'sm_keywords' => 'Social Media Keywords', + 'questionnaire_response_email_intro_text' => '

Χάρη στη συνεισφορά σας είμαστε ένα βήμα πιο κοντά στην κατανόηση του προβλήματος.

', + 'questionnaire_response_email_outro_text' => '

Σας ευχαριστούμε για το χρόνο και την προσπάθειά σας.

', + ], + ]; + + $project = $this->projectRepository->updateOrCreate(['id' => $project['id']], + Helpers::getFilteredAttributes($project, (new CrowdSourcingProject)->getFillable())); + if (app()->environment() !== 'testing') { + echo "\nAdded Project: " . $project['name'] . ' with slug: ' . $project->slug . "\n"; + } + + foreach ($project_translations as $project_translation) { + $this->projectTranslationRepository->updateOrCreate(['id' => $project_translation['id']], + Helpers::getFilteredAttributes($project_translation, (new CrowdSourcingProjectTranslation)->getFillable())); + if (app()->environment() !== 'testing') { + echo "\nAdded Project Translation: " . $project_translation['name'] . ' with id: ' . $project_translation['id'] . "\n"; + } + } + } +} diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 8b17afcb..dfa49cb7 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -18,6 +18,7 @@ public function run() { LanguagesLkpTableSeeder::class, CrowdSourcingProjectStatusesLkpTableSeeder::class, DefaultProjectSeeder::class, + AirQualityProjectSeeder::class, QuestionnaireStatusesLkpTableSeeder::class, QuestionnaireStatisticsPageVisibilityLkpSeeder::class, MailChimpListsTableSeeder::class, diff --git a/database/seeders/DefaultProjectSeeder.php b/database/seeders/DefaultProjectSeeder.php index 6e8d77e5..4aabb242 100644 --- a/database/seeders/DefaultProjectSeeder.php +++ b/database/seeders/DefaultProjectSeeder.php @@ -75,22 +75,6 @@ public function run() { 'display_landing_page_banner' => 1, 'status_id' => CrowdSourcingProjectStatusLkp::DRAFT, ], - [ - 'id' => 4, - 'slug' => 'air-quality-europe', - 'external_url' => 'https://www.scify.gr/site/en/', - 'img_path' => '/images/projects/air-quality-europe/logo-bg.webp', - 'logo_path' => '/images/projects/air-quality-europe/logo.webp', - 'user_creator_id' => 1, - 'language_id' => 6, - 'should_send_email_after_questionnaire_response' => 1, - 'lp_primary_color' => '#707070', - 'lp_questionnaire_image_path' => '/images/projects/air-quality-europe/logo.webp', - 'lp_show_speak_up_btn' => 1, - 'sm_featured_img_path' => '/images/projects/air-quality-europe/logo.webp', - 'display_landing_page_banner' => 1, - 'status_id' => CrowdSourcingProjectStatusLkp::PUBLISHED, - ], ]; $project_translations = [ @@ -191,44 +175,6 @@ public function run() { 'questionnaire_response_email_intro_text' => '

Thanks to your contribution we are one step closer to understanding the problem.

', 'questionnaire_response_email_outro_text' => '

Thank you for your time and effort.

', ], - [ - 'id' => 6, - 'language_id' => 6, - 'project_id' => 4, - 'name' => 'Air Quality in Europe', - 'motto_title' => 'Please share with us your opinion on the air quality in Europe. Your voice matters!', - 'motto_subtitle' => 'You can make an impact! Share your opinion with us!', - 'description' => 'Lorem ipsum dolor site amet', - 'about' => '

Contribute to solving air quality problems in Athens and across Europe. Write points for and against the proposed solutions. Your contributions will be a valuable contribution to official policy to improve air quality in Athens and across Europe.

', - 'footer' => '

© SCIFY ' . now()->year . ' |  - Terms of use |  - Privacy Policy |  - Cookie Policy', - 'sm_title' => 'Air Quality in Europe', - 'sm_description' => 'Please share with us your opinion on the air quality in Europe. Your voice matters!', - 'sm_keywords' => 'Social Media Keywords', - 'questionnaire_response_email_intro_text' => '

Thanks to your contribution we are one step closer to understanding the problem.

', - 'questionnaire_response_email_outro_text' => '

Thank you for your time and effort.

', - ], - [ - 'id' => 7, - 'language_id' => 12, - 'project_id' => 4, - 'name' => 'Η Ποιότητα του Αέρα στην Ευρώπη', - 'motto_title' => 'Παρακαλούμε μοιραστείτε μαζί μας την άποψή σας για την ποιότητα του αέρα στην Ευρώπη. Η φωνή σας μετράει!', - 'motto_subtitle' => 'Μπορείς να κάνεις διαφορά! Μοιραστείτε την άποψή σας μαζί μας!', - 'description' => 'Lorem ipsum dolor site amet', - 'about' => '

Συμβάλλετε στην επίλυση των προβλημάτων ποιότητας του αέρα στην Αθήνα και σε όλη την Ευρώπη. Γράψτε επιχειρήματα υπέρ και κατά των προτεινόμενων λύσεων. Η συμβολή σας θα είναι πολύτιμη για τη διαμόρφωση επίσημης πολιτικής για τη βελτίωση της ποιότητας του αέρα στην Αθήνα και σε όλη την Ευρώπη.

', - 'footer' => '

© SCIFY ' . now()->year . ' |  - Πολιτική Ορθής Χρήσης |  - Πολιτική Ιδιωτικότητας |  - Πολιτική Cookies', - 'sm_title' => 'Η Ποιότητα του Αέρα στην Ευρώπη', - 'sm_description' => 'Παρακαλούμε μοιραστείτε μαζί μας την άποψή σας για την ποιότητα του αέρα στην Ευρώπη. Η φωνή σας μετράει!', - 'sm_keywords' => 'Social Media Keywords', - 'questionnaire_response_email_intro_text' => '

Χάρη στη συνεισφορά σας είμαστε ένα βήμα πιο κοντά στην κατανόηση του προβλήματος.

', - 'questionnaire_response_email_outro_text' => '

Σας ευχαριστούμε για το χρόνο και την προσπάθειά σας.

', - ], ]; foreach ($data as $project) {