diff --git a/.github/workflows/laravel-tests.yml b/.github/workflows/laravel-tests.yml index acccc6dd3..0f3db3f65 100644 --- a/.github/workflows/laravel-tests.yml +++ b/.github/workflows/laravel-tests.yml @@ -43,6 +43,11 @@ jobs: - name: Directory Permissions run: chmod -R 777 storage bootstrap/cache + - name: Create storage directories + run: | + mkdir -p storage/app + mkdir -p storage/app/public/uploads/user_profile_img + - name: Create Database run: | mkdir -p database diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 000000000..197c0fb05 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,2 @@ +# Run Pint to beautify the code +vendor/bin/pint diff --git a/app/Http/Controllers/CrowdSourcingProject/Problem/CrowdSourcingProjectProblemController.php b/app/Http/Controllers/CrowdSourcingProject/Problem/CrowdSourcingProjectProblemController.php index c5b400a93..5d583571e 100644 --- a/app/Http/Controllers/CrowdSourcingProject/Problem/CrowdSourcingProjectProblemController.php +++ b/app/Http/Controllers/CrowdSourcingProject/Problem/CrowdSourcingProjectProblemController.php @@ -4,6 +4,9 @@ use App\BusinessLogicLayer\CrowdSourcingProject\Problem\CrowdSourcingProjectProblemManager; use App\Http\Controllers\Controller; +use App\Models\CrowdSourcingProject\Problem\CrowdSourcingProjectProblem; +use App\Models\CrowdSourcingProject\Problem\CrowdSourcingProjectProblemTranslation; +use App\ViewModels\CrowdSourcingProject\Problem\CreateEditProblem; use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Http\Request; use Illuminate\Support\Facades\Validator; @@ -33,4 +36,76 @@ public function showProblemsPage(Request $request) { abort(ResponseAlias::HTTP_NOT_FOUND); } } + + /** + * Display a listing of the resource. + */ + public function index() { + $viewModel = []; + $viewModel['problems'] = CrowdSourcingProjectProblem::with('translations')->latest()->get(); + + return view('loggedin-environment.management.problem.index', ['viewModel' => $viewModel]); + } + + /** + * Show the form for creating a new resource. + */ + public function create() { + $newProblem = new CrowdSourcingProjectProblem; + $newProblem->default_language_id = 6; // @todo change with lookuptable value - bookmark2 + $newProblem->setRelation('defaultTranslation', new CrowdSourcingProjectProblemTranslation); // bookmark2 - is this an "empty" relationship? + $viewModel = new CreateEditProblem($newProblem); + + return view('loggedin-environment.management.problem.create-edit.form-page'); + } + + /** + * Store a newly created resource in storage. + */ + public function store(Request $request) { + $validated = $request->validate([ // bookmark2 + 'problem-title' => ['required'], + 'problem-description' => ['required'], + 'problem-status' => ['required'], // bookmark2 + 'problem-default-language' => ['required'], // bookmark2 + 'problem-slug' => ['required', 'unique:crowd_sourcing_project_problems,slug'], + ]); + + $crowdSourcingProjectProblem = CrowdSourcingProjectProblem::create([ + 'project_id' => '3', // bookmark2 + 'user_creator_id' => '2', // bookmark2 + 'slug' => $request->input('problem-slug'), + 'status_id' => $request->input('problem-status'), + 'img_url' => 'zxcv', // bookmark2 + 'default_language_id' => $request->input('problem-default-language'), // bookmark2 - default or generally another translation language? + ]); + + $crowdSourcingProjectProblemTranslation = $crowdSourcingProjectProblem->defaultTranslation()->create([ // bookmark2 - default or regular translation? + 'title' => $request->input('problem-title'), + 'description' => $request->input('problem-description'), + ]); + + return redirect()->route('problems.index'); + } + + /** + * Show the form for editing the specified resource. + */ + public function edit(string $id) { + // + } + + /** + * Update the specified resource in storage. + */ + public function update(Request $request, string $id) { + // + } + + /** + * Remove the specified resource from storage. + */ + public function destroy(string $id) { + // + } } diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 344b7f657..840fbe6e4 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -49,6 +49,7 @@ public function patch(Request $request) { $validationArray['password'] = 'required_with:password_confirmation|string|min:8|confirmed'; $validationArray['current_password'] = 'required|string|min:8'; } + // here we need to add custom messages for the validation, since the field is called 'avatar' and not 'profile image'. $customMessages = [ 'avatar.image' => __('validation.image', ['attribute' => __('my-account.profile_image')]), 'avatar.mimes' => __('validation.mimes', ['attribute' => __('my-account.profile_image'), 'values' => 'jpeg, png, jpg']), diff --git a/app/Models/CrowdSourcingProject/Problem/CrowdSourcingProjectProblem.php b/app/Models/CrowdSourcingProject/Problem/CrowdSourcingProjectProblem.php index 7182bb0f7..9868472b5 100644 --- a/app/Models/CrowdSourcingProject/Problem/CrowdSourcingProjectProblem.php +++ b/app/Models/CrowdSourcingProject/Problem/CrowdSourcingProjectProblem.php @@ -15,7 +15,7 @@ class CrowdSourcingProjectProblem extends Model { use SoftDeletes; protected $table = 'crowd_sourcing_project_problems'; - protected $fillable = ['id', 'project_id', 'slug', 'status_id', 'img_url', 'default_language_id']; + protected $fillable = ['id', 'project_id', 'user_creator_id', 'slug', 'status_id', 'img_url', 'default_language_id']; public function defaultTranslation(): HasOne { return $this->hasOne(CrowdSourcingProjectProblemTranslation::class, diff --git a/app/Providers/ComposerServiceProvider.php b/app/Providers/ComposerServiceProvider.php index cc68ea152..542d87488 100644 --- a/app/Providers/ComposerServiceProvider.php +++ b/app/Providers/ComposerServiceProvider.php @@ -12,8 +12,6 @@ class ComposerServiceProvider extends ServiceProvider { * @return void */ public function boot() { - View::composer('loggedin-environment.partials.menu', 'App\ViewComposers\MenuComposer'); - View::composer('errors::layout', 'App\ViewComposers\ErrorPagesComposer'); View::composer('partials.language-selector', 'App\ViewComposers\LanguageSelectorComposer'); diff --git a/app/ViewComposers/MenuComposer.php b/app/ViewComposers/MenuComposer.php deleted file mode 100644 index eed97dcae..000000000 --- a/app/ViewComposers/MenuComposer.php +++ /dev/null @@ -1,19 +0,0 @@ -userManager = $userManager; - } - - public function compose(View $view) { - $view->with(['userHasContributedToAProject' => $this->userManager->userHasContributedToAProject(Auth::id())]); - } -} diff --git a/app/ViewModels/CrowdSourcingProject/Problem/CreateEditProblem.php b/app/ViewModels/CrowdSourcingProject/Problem/CreateEditProblem.php new file mode 100644 index 000000000..0000f4126 --- /dev/null +++ b/app/ViewModels/CrowdSourcingProject/Problem/CreateEditProblem.php @@ -0,0 +1,13 @@ +crowdSourcingProjectProblem = $crowdSourcingProjectProblem; + } +} diff --git a/package-lock.json b/package-lock.json index a6bc0160e..d3c9b7b39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -56,6 +56,7 @@ "eslint-plugin-prefer-arrow": "^1.2.3", "eslint-plugin-vue": "^9.28.0", "goodparts": "^1.3.0", + "husky": "^9.1.6", "laravel-vite-plugin": "^1.0.5", "postcss": "^8.4.47", "prettier": "^3.3.3", @@ -4001,6 +4002,22 @@ "he": "bin/he" } }, + "node_modules/husky": { + "version": "9.1.6", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.6.tgz", + "integrity": "sha512-sqbjZKK7kf44hfdE94EoX8MZNk0n7HeW37O4YrVGCF4wzgQjp+akPAkfUK5LZ6KuR/6sqeAVuXHji+RzQgOn5A==", + "dev": true, + "license": "MIT", + "bin": { + "husky": "bin.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, "node_modules/icheck": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/icheck/-/icheck-1.0.2.tgz", diff --git a/package.json b/package.json index d753a321a..75430c6af 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,8 @@ "format": "prettier --write \"resources/assets/\"", "dev": "vite", "build": "vite build", - "prod": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=7680 vite build" + "prod": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=7680 vite build", + "prepare": "husky install && chmod +x .husky/*" }, "devDependencies": { "@vitejs/plugin-vue": "^5.1.4", @@ -26,6 +27,7 @@ "eslint-plugin-prefer-arrow": "^1.2.3", "eslint-plugin-vue": "^9.28.0", "goodparts": "^1.3.0", + "husky": "^9.1.6", "laravel-vite-plugin": "^1.0.5", "postcss": "^8.4.47", "prettier": "^3.3.3", diff --git a/public/images/test/image_temp_big.jpg b/public/images/test/image_temp_big.jpg new file mode 100644 index 000000000..155cabc39 Binary files /dev/null and b/public/images/test/image_temp_big.jpg differ diff --git a/public/images/test/test.txt b/public/images/test/test.txt new file mode 100644 index 000000000..e69de29bb diff --git a/resources/assets/js/common-backoffice.js b/resources/assets/js/common-backoffice.js index 3d67a2213..a91f03c49 100644 --- a/resources/assets/js/common-backoffice.js +++ b/resources/assets/js/common-backoffice.js @@ -18,6 +18,8 @@ import Clipboard from "clipboard/dist/clipboard"; import $ from "jquery"; import { showToast } from "./common-utils"; +const MOBILE_WIDTH = 768; + (function () { const initializeIcheck = function () { $(".icheck-input").iCheck({ @@ -72,12 +74,38 @@ import { showToast } from "./common-utils"; window.$('[data-toggle="tooltip"]').tooltip(); }; + const toggleIconOnSidebarMenuToggle = function () { + + // if on mobile, set the icon to "fa-chevron-right" by default + if (window.innerWidth < MOBILE_WIDTH) { + $("#sidebar-menu-toggler").find("i").removeClass("fa-chevron-left").addClass("fa-chevron-right"); + } + + const toggler = $("#sidebar-menu-toggler"); + // on click, check if the button has an element with a "fa-chevron-left" class. + // If it does, then change it to "fa-chevron-right". Otherwise, change it to "fa-chevron-left". + toggler.on("click", function () { + // check if we are not in a mobile device + if (window.innerWidth < MOBILE_WIDTH) { + return; + } + + const icon = toggler.find("i"); + if (icon.hasClass("fa-chevron-left")) { + icon.removeClass("fa-chevron-left").addClass("fa-chevron-right"); + } else { + icon.removeClass("fa-chevron-right").addClass("fa-chevron-left"); + } + }); + } + $(document).ready(function () { initializeIcheck(); closeDismissibleAlerts(); initClipboardElements(); listenToReadMoreClicks(); initializeTooltips(); + toggleIconOnSidebarMenuToggle(); }); })(); diff --git a/resources/assets/sass/common-backoffice.scss b/resources/assets/sass/common-backoffice.scss index bf21bb038..4a3678e27 100644 --- a/resources/assets/sass/common-backoffice.scss +++ b/resources/assets/sass/common-backoffice.scss @@ -44,7 +44,7 @@ } .logged-in-env .main-header { - padding-left: 35px; + padding-left: 25px; } .no-sidebar { diff --git a/resources/assets/sass/sidebar.scss b/resources/assets/sass/sidebar.scss index d0b364c71..34930296c 100644 --- a/resources/assets/sass/sidebar.scss +++ b/resources/assets/sass/sidebar.scss @@ -63,3 +63,40 @@ } } } + +.sidebar-menu-toggler-container { + background-color: var(--clr-secondary-grey); + border-radius: 100%; + width: 55px; + height: 55px; + padding: 10px; + + #sidebar-menu-toggler { + text-align: center; + width: 100%; + height: 100%; + + i { + color: var(--clr-secondary-light-grey); + font-size: 33px; + width: 100%; + height: 100%; + } + } +} + +.main-sidebar { + .nav-sidebar { + .nav-header { + text-transform: uppercase; + text-decoration: underline; + font-size: medium; + padding: 0 0.5rem; + margin-bottom: 0.5rem; + } + + .nav-link { + padding: 0 0.5rem; + } + } +} diff --git a/resources/lang/bg/menu.php b/resources/lang/bg/menu.php index 75ffee52b..2eda7989d 100644 --- a/resources/lang/bg/menu.php +++ b/resources/lang/bg/menu.php @@ -9,13 +9,25 @@ */ - 'login' => 'Вход', //?? - 'register' => 'Регистрация', //?? - 'dashboard' => 'Табло за управление', //?? + 'login' => 'Вход', + 'register' => 'Регистрация', + 'dashboard' => 'Табло за управление', 'my_dashboard' => 'Табло за управление', 'my_account' => 'Моят акаунт', 'my_history' => 'История на ползването', 'sign_out' => 'Изключете се', - + 'projects' => 'Проекти', + 'see_all_projects' => 'Вижте всички проекти', + 'create_new_project' => 'Създайте нов проект', + 'questionnaires' => 'Анкети', + 'see_all_questionnaires' => 'Вижте анкети', + 'responses' => 'Отговори', + 'problems' => 'Проблеми', + 'see_all_problems' => 'Вижте всички проблеми', + 'solutions' => 'Решения', + 'see_all_solutions' => 'Вижте всички решения', + 'moderate_solutions' => 'Умерени решения', + 'platform_management' => 'Управление на платформата', + 'manage_users' => 'Управление на потребители', ]; diff --git a/resources/lang/de/menu.php b/resources/lang/de/menu.php index 3f2091380..a858f5767 100644 --- a/resources/lang/de/menu.php +++ b/resources/lang/de/menu.php @@ -9,13 +9,25 @@ */ - 'login' => 'Anmelden', //?? - 'register' => 'Registrieren', //?? - 'dashboard' => 'Dashboard', //?? + 'login' => 'Anmelden', + 'register' => 'Registrieren', + 'dashboard' => 'Dashboard', 'my_dashboard' => 'Mein Dashboard', 'my_account' => 'Mein Konto', 'my_history' => 'Meine Historie', 'sign_out' => 'Abmelden', - + 'projects' => 'Projekte', + 'see_all_projects' => 'Alle Projekte anzeigen', + 'create_new_project' => 'Neues Projekt erstellen', + 'questionnaires' => 'Fragebögen', + 'see_all_questionnaires' => 'Alle Fragebögen anzeigen', + 'responses' => 'Antworten', + 'problems' => 'Probleme', + 'see_all_problems' => 'Alle Probleme anzeigen', + 'solutions' => 'Lösungen', + 'see_all_solutions' => 'Alle Lösungen anzeigen', + 'moderate_solutions' => 'Moderiere Lösungen', + 'platform_management' => 'Plattform-Management', + 'manage_users' => 'Benutzer verwalten', ]; diff --git a/resources/lang/el/menu.php b/resources/lang/el/menu.php index 2347e9951..f542110fc 100644 --- a/resources/lang/el/menu.php +++ b/resources/lang/el/menu.php @@ -9,13 +9,25 @@ */ - 'login' => 'ΣΥΝΔΕΣΗ', //?? - 'register' => 'ΕΓΓΡΑΦΗ', //?? - 'dashboard' => 'Η ΠΛΑΤΦΟΡΜΑ ΜΟΥ', //?? + 'login' => 'ΣΥΝΔΕΣΗ', + 'register' => 'ΕΓΓΡΑΦΗ', + 'dashboard' => 'Η ΠΛΑΤΦΟΡΜΑ ΜΟΥ', 'my_dashboard' => 'Η ΠΛΑΤΦΟΡΜΑ ΜΟΥ', 'my_account' => 'Ο ΛΟΓΑΡΙΑΣΜΟΣ ΜΟΥ', 'my_history' => 'ΤΟ ΙΣΤΟΡΙΚΟ ΜΟΥ', 'sign_out' => 'Αποσυνδεθείτε', - + 'projects' => 'Έργα', + 'see_all_projects' => 'Δείτε όλα τα έργα', + 'create_new_project' => 'Δημιουργία έργου', + 'questionnaires' => 'Ερωτηματολόγια', + 'see_all_questionnaires' => 'Δείτε ερωτηματολόγια', + 'responses' => 'Απαντήσεις', + 'problems' => 'Προβλήματα', + 'see_all_problems' => 'Δείτε τα προβλήματα', + 'solutions' => 'Λύσεις', + 'see_all_solutions' => 'Δείτε τις λύσεις', + 'moderate_solutions' => 'Μετριάστε τις λύσεις', + 'platform_management' => 'Διαχείριση πλατφόρμας', + 'manage_users' => 'Διαχείριση χρηστών', ]; diff --git a/resources/lang/en/menu.php b/resources/lang/en/menu.php index a7c2f1927..e981c56b7 100644 --- a/resources/lang/en/menu.php +++ b/resources/lang/en/menu.php @@ -9,14 +9,26 @@ */ - 'login' => 'LOGIN', //?? - 'register' => 'Register', //?? - 'dashboard' => 'DASHBOARD', //?? + 'login' => 'LOGIN', + 'register' => 'Register', + 'dashboard' => 'DASHBOARD', 'my_dashboard' => 'My Dashboard', 'my_account' => 'My Account', 'my_history' => 'My history', 'sign_out' => 'Sign out', 'the_campaign' => 'The Campaign', - + 'projects' => 'Projects', + 'see_all_projects' => 'See all projects', + 'create_new_project' => 'Create new project', + 'questionnaires' => 'Questionnaires', + 'see_all_questionnaires' => 'See questionnaires', + 'responses' => 'Responses', + 'problems' => 'Problems', + 'see_all_problems' => 'See all problems', + 'solutions' => 'Solutions', + 'see_all_solutions' => 'See all solutions', + 'moderate_solutions' => 'Moderate solutions', + 'platform_management' => 'Platform Management', + 'manage_users' => 'Manage users', ]; diff --git a/resources/lang/es/menu.php b/resources/lang/es/menu.php index a5286c13d..e3384471c 100644 --- a/resources/lang/es/menu.php +++ b/resources/lang/es/menu.php @@ -9,13 +9,25 @@ */ - 'login' => 'Iniciar sesión', //?? - 'register' => 'Registrarse', //?? - 'dashboard' => 'TABLERO', //?? + 'login' => 'Iniciar sesión', + 'register' => 'Registrarse', + 'dashboard' => 'TABLERO', 'my_dashboard' => 'Mi Tablero', 'my_account' => 'Mi cuenta', 'my_history' => 'Mi historial', 'sign_out' => 'Salir', - + 'projects' => 'Proyectos', + 'see_all_projects' => 'Ver todos los proyectos', + 'create_new_project' => 'Crear nuevo proyecto', + 'questionnaires' => 'Cuestionarios', + 'see_all_questionnaires' => 'Ver cuestionarios', + 'responses' => 'Respuestas', + 'problems' => 'Problemas', + 'see_all_problems' => 'Ver todos los problemas', + 'solutions' => 'Soluciones', + 'see_all_solutions' => 'Ver todas las soluciones', + 'moderate_solutions' => 'Moderar soluciones', + 'platform_management' => 'Gestión de la plataforma', + 'manage_users' => 'Gestionar usuarios', ]; diff --git a/resources/lang/et/menu.php b/resources/lang/et/menu.php index d7a38b613..f09117517 100644 --- a/resources/lang/et/menu.php +++ b/resources/lang/et/menu.php @@ -9,13 +9,25 @@ */ - 'login' => 'Sisene', //?? - 'register' => 'Registreeru', //?? - 'dashboard' => 'Töölaud', //?? + 'login' => 'Sisene', + 'register' => 'Registreeru', + 'dashboard' => 'Töölaud', 'my_dashboard' => 'Minu töölaud', 'my_account' => 'Minu konto', 'my_history' => 'Minu ajalugu', 'sign_out' => 'Logi välja', - + 'projects' => 'Projektid', + 'see_all_projects' => 'Vaata kõiki projekte', + 'create_new_project' => 'Loo uus projekt', + 'questionnaires' => 'Küsimustikud', + 'see_all_questionnaires' => 'Vaata küsimustikke', + 'responses' => 'Vastused', + 'problems' => 'Probleemid', + 'see_all_problems' => 'Vaata kõiki probleeme', + 'solutions' => 'Lahendused', + 'see_all_solutions' => 'Vaata kõiki lahendusi', + 'moderate_solutions' => 'Mõõdukad lahendused', + 'platform_management' => 'Platvormi haldamine', + 'manage_users' => 'Kasutajate haldamine', ]; diff --git a/resources/lang/fr/menu.php b/resources/lang/fr/menu.php index c2083a20f..6e6b27e48 100644 --- a/resources/lang/fr/menu.php +++ b/resources/lang/fr/menu.php @@ -9,13 +9,25 @@ */ - 'login' => 'Se connecter', //?? - 'register' => 'S\'inscrire', //?? - 'dashboard' => 'Tableau de bord', //?? + 'login' => 'Se connecter', + 'register' => 'S\'inscrire', + 'dashboard' => 'Tableau de bord', 'my_dashboard' => 'Mon tableau de bord', 'my_account' => 'Mon compte', 'my_history' => 'Mon historique', 'sign_out' => 'Se déconnecter', - + 'projects' => 'Projets', + 'see_all_projects' => 'Voir tous les projets', + 'create_new_project' => 'Créer un nouveau projet', + 'questionnaires' => 'Questionnaires', + 'see_all_questionnaires' => 'Voir les questionnaires', + 'responses' => 'Réponses', + 'problems' => 'Problèmes', + 'see_all_problems' => 'Voir tous les problèmes', + 'solutions' => 'Solutions', + 'see_all_solutions' => 'Voir toutes les solutions', + 'moderate_solutions' => 'Modérer les solutions', + 'platform_management' => 'Gestion de la plateforme', + 'manage_users' => 'Gérer les utilisateurs', ]; diff --git a/resources/lang/hu/menu.php b/resources/lang/hu/menu.php index bc5777045..7f4b18f5d 100644 --- a/resources/lang/hu/menu.php +++ b/resources/lang/hu/menu.php @@ -9,13 +9,25 @@ */ - 'login' => 'Bejelentkezés', //?? - 'register' => 'Regisztráció', //?? - 'dashboard' => 'Irányítópult', //?? + 'login' => 'Bejelentkezés', + 'register' => 'Regisztráció', + 'dashboard' => 'Irányítópult', 'my_dashboard' => 'Főoldal', 'my_account' => 'Fiókom', 'my_history' => 'Előzmények', 'sign_out' => 'Kijelentkezés', - + 'projects' => 'Projektek', + 'see_all_projects' => 'Összes projekt megtekintése', + 'create_new_project' => 'Új projekt létrehozása', + 'questionnaires' => 'Kérdőívek', + 'see_all_questionnaires' => 'Kérdőívek megtekintése', + 'responses' => 'Válaszok', + 'problems' => 'Problémák', + 'see_all_problems' => 'Összes probléma megtekintése', + 'solutions' => 'Megoldások', + 'see_all_solutions' => 'Összes megoldás megtekintése', + 'moderate_solutions' => 'Megoldások mérséklése', + 'platform_management' => 'Platformkezelés', + 'manage_users' => 'Felhasználók kezelése', ]; diff --git a/resources/lang/it/menu.php b/resources/lang/it/menu.php index 0d67f0d47..713271ab8 100644 --- a/resources/lang/it/menu.php +++ b/resources/lang/it/menu.php @@ -9,13 +9,25 @@ */ - 'login' => 'LOGIN', //?? - 'register' => 'Registrati', //?? - 'dashboard' => 'DASHBOARD', //?? + 'login' => 'LOGIN', + 'register' => 'Registrati', + 'dashboard' => 'DASHBOARD', 'my_dashboard' => 'Lamia Dashboard', 'my_account' => 'Il mio Account', 'my_history' => 'La mia cronologia', 'sign_out' => 'Esci', - + 'projects' => 'Progetti', + 'see_all_projects' => 'Vedi tutti i progetti', + 'create_new_project' => 'Crea nuovo progetto', + 'questionnaires' => 'Questionari', + 'see_all_questionnaires' => 'Vedi questionari', + 'responses' => 'Risposte', + 'problems' => 'Problemi', + 'see_all_problems' => 'Vedi tutti i problemi', + 'solutions' => 'Soluzioni', + 'see_all_solutions' => 'Vedi tutte le soluzioni', + 'moderate_solutions' => 'Moderare le soluzioni', + 'platform_management' => 'Gestione della piattaforma', + 'manage_users' => 'Gestione utenti', ]; diff --git a/resources/lang/lv/menu.php b/resources/lang/lv/menu.php index 50e6e1f88..f0e96b588 100644 --- a/resources/lang/lv/menu.php +++ b/resources/lang/lv/menu.php @@ -9,13 +9,25 @@ */ - 'login' => 'Pieteikties', //?? - 'register' => 'Reģistrēties', //?? - 'dashboard' => 'Vadības panelis', //?? + 'login' => 'Pieteikties', + 'register' => 'Reģistrēties', + 'dashboard' => 'Vadības panelis', 'my_dashboard' => 'Mans vadības panelis', 'my_account' => 'Mans profils', 'my_history' => 'Mana vēsture', 'sign_out' => 'Izrakstīties', - + 'projects' => 'Projekti', + 'see_all_projects' => 'Skatīt visus projektus', + 'create_new_project' => 'Izveidot jaunu projektu', + 'questionnaires' => 'Anketas', + 'see_all_questionnaires' => 'Skatīt anketas', + 'responses' => 'Atbildes', + 'problems' => 'Problēmas', + 'see_all_problems' => 'Skatīt visas problēmas', + 'solutions' => 'Risinājumi', + 'see_all_solutions' => 'Skatīt visus risinājumus', + 'moderate_solutions' => 'Moderēt risinājumus', + 'platform_management' => 'Platformas pārvaldība', + 'manage_users' => 'Pārvaldīt lietotājus', ]; diff --git a/resources/lang/nl/menu.php b/resources/lang/nl/menu.php index 0eb11b5d5..b132bfd35 100644 --- a/resources/lang/nl/menu.php +++ b/resources/lang/nl/menu.php @@ -9,13 +9,25 @@ */ - 'login' => 'LOGIN', //?? - 'register' => 'Registreer', //?? - 'dashboard' => 'DASHBOARD', //?? + 'login' => 'LOGIN', + 'register' => 'Registreer', + 'dashboard' => 'DASHBOARD', 'my_dashboard' => 'Mijn Dashboard', 'my_account' => 'Mijn account', 'my_history' => 'Mijn geschiedenis', 'sign_out' => 'Log uit', - + 'projects' => 'Projecten', + 'see_all_projects' => 'Bekijk alle projecten', + 'create_new_project' => 'Nieuw project aanmaken', + 'questionnaires' => 'Vragenlijsten', + 'see_all_questionnaires' => 'Bekijk alle vragenlijsten', + 'responses' => 'Antwoorden', + 'problems' => 'Problemen', + 'see_all_problems' => 'Bekijk alle problemen', + 'solutions' => 'Oplossingen', + 'see_all_solutions' => 'Bekijk alle oplossingen', + 'moderate_solutions' => 'Modereren van oplossingen', + 'platform_management' => 'Platformbeheer', + 'manage_users' => 'Gebruikers beheren', ]; diff --git a/resources/lang/pt/menu.php b/resources/lang/pt/menu.php index e244e7b4e..3b7c59503 100644 --- a/resources/lang/pt/menu.php +++ b/resources/lang/pt/menu.php @@ -9,13 +9,25 @@ */ - 'login' => 'Entrar', //?? - 'register' => 'Registro', //?? - 'dashboard' => 'Painel', //?? + 'login' => 'Entrar', + 'register' => 'Registro', + 'dashboard' => 'Painel', 'my_dashboard' => 'Meu painel', 'my_account' => 'Minha conta', 'my_history' => 'Meu histórico', 'sign_out' => 'Sair', - + 'projects' => 'Projetos', + 'see_all_projects' => 'Ver todos os projetos', + 'create_new_project' => 'Criar novo projeto', + 'questionnaires' => 'Questionários', + 'see_all_questionnaires' => 'Ver questionários', + 'responses' => 'Respostas', + 'problems' => 'Problemas', + 'see_all_problems' => 'Ver todos os problemas', + 'solutions' => 'Soluções', + 'see_all_solutions' => 'Ver todas as soluções', + 'moderate_solutions' => 'Moderar soluções', + 'platform_management' => 'Gestão da plataforma', + 'manage_users' => 'Gerenciar usuários', ]; diff --git a/resources/lang/sk/menu.php b/resources/lang/sk/menu.php index 69ce09743..5795773ed 100644 --- a/resources/lang/sk/menu.php +++ b/resources/lang/sk/menu.php @@ -9,13 +9,25 @@ */ - 'login' => 'Prihlásenie', //?? - 'register' => 'Registrácia', //?? - 'dashboard' => 'DASHBOARD', //?? + 'login' => 'Prihlásenie', + 'register' => 'Registrácia', + 'dashboard' => 'DASHBOARD', 'my_dashboard' => 'Môj Dashboard', 'my_account' => 'Môj účet', 'my_history' => 'Moja história', 'sign_out' => 'odhlásiť', - + 'projects' => 'Projekty', + 'see_all_projects' => 'Zobraziť všetky projekty', + 'create_new_project' => 'Vytvoriť nový projekt', + 'questionnaires' => 'Dotazníky', + 'see_all_questionnaires' => 'Zobraziť dotazníky', + 'responses' => 'Odpovede', + 'problems' => 'Problémy', + 'see_all_problems' => 'Zobraziť všetky problémy', + 'solutions' => 'Riešenia', + 'see_all_solutions' => 'Zobraziť všetky riešenia', + 'moderate_solutions' => 'Mierne riešenia', + 'platform_management' => 'Správa platformy', + 'manage_users' => 'Správa používateľov', ]; diff --git a/resources/lang/sr/menu.php b/resources/lang/sr/menu.php index fac46e4c9..f80a6a3d2 100644 --- a/resources/lang/sr/menu.php +++ b/resources/lang/sr/menu.php @@ -9,13 +9,25 @@ */ - 'login' => 'Prijavite se', //?? - 'register' => 'Registrujte se', //?? - 'dashboard' => 'Kontrolna tabla', //?? + 'login' => 'Prijavite se', + 'register' => 'Registrujte se', + 'dashboard' => 'Kontrolna tabla', 'my_dashboard' => 'Moja Kontrolna tabla', 'my_account' => 'Moj nalog', 'my_history' => 'Moja istorija', 'sign_out' => 'Odjava', - + 'projects' => 'Projekti', + 'see_all_projects' => 'Pogledaj sve projekte', + 'create_new_project' => 'Kreiraj novi projekat', + 'questionnaires' => 'Upitnici', + 'see_all_questionnaires' => 'Pogledaj upitnike', + 'responses' => 'Odgovori', + 'problems' => 'Problemi', + 'see_all_problems' => 'Pogledaj sve probleme', + 'solutions' => 'Rešenja', + 'see_all_solutions' => 'Pogledaj sva rešenja', + 'moderate_solutions' => 'Umerena rešenja', + 'platform_management' => 'Upravljanje platformom', + 'manage_users' => 'Upravljanje korisnicima', ]; diff --git a/resources/views/loggedin-environment/layout.blade.php b/resources/views/loggedin-environment/layout.blade.php index 8cd5f7503..79d97f911 100644 --- a/resources/views/loggedin-environment/layout.blade.php +++ b/resources/views/loggedin-environment/layout.blade.php @@ -23,7 +23,10 @@
- @include("loggedin-environment.partials.menu") + @include("loggedin-environment.partials.header-controls") + @canany(['moderate-content-by-users']) + @include("loggedin-environment.partials.sidebar-menu") + @endcanany
diff --git a/resources/views/loggedin-environment/management/crowdsourcing-project/create-edit/partials/basic-details.blade.php b/resources/views/loggedin-environment/management/crowdsourcing-project/create-edit/partials/basic-details.blade.php index 8c0c78f2c..e8135bc22 100644 --- a/resources/views/loggedin-environment/management/crowdsourcing-project/create-edit/partials/basic-details.blade.php +++ b/resources/views/loggedin-environment/management/crowdsourcing-project/create-edit/partials/basic-details.blade.php @@ -90,7 +90,7 @@
- + + {{ $errors->first('problem-title') }} +
+
+
+ +
+ +
+
+ + {{ $errors->first('problem-description') }} +
+
+
+ +
+ +
+
+ + {{ $errors->first('problem-status') }} +
+
+
+ + + +
+ +
+
+ + {{ $errors->first('problem-default-language') }} +
+
+
+ + + +
+ +
+
+ + {{ $errors->first('problem-slug') }} +
+
+
+ + + +
+
+
+ + + + diff --git a/resources/views/loggedin-environment/management/problem/index.blade.php b/resources/views/loggedin-environment/management/problem/index.blade.php new file mode 100644 index 000000000..53e33d278 --- /dev/null +++ b/resources/views/loggedin-environment/management/problem/index.blade.php @@ -0,0 +1,20 @@ +@php + // var_dump($viewModel); +@endphp + +
    + @foreach ($viewModel['problems'] as $problem) +
  1. + id: {{ $problem->id }}
    + slug: {{ $problem->slug }}
    + default_language_id: {{ $problem->default_language_id }}
    + @foreach ($problem->translations as $translation) + @if ($translation->language_id === $problem->default_language_id) + default_lang_title: {{ $translation->title }}
    + default_lang_desc: {{ $translation->description }}
    + @endif + @endforeach +
  2. +
    + @endforeach +
diff --git a/resources/views/loggedin-environment/partials/header-controls.blade.php b/resources/views/loggedin-environment/partials/header-controls.blade.php index 7f47b45ac..2c440e1bf 100644 --- a/resources/views/loggedin-environment/partials/header-controls.blade.php +++ b/resources/views/loggedin-environment/partials/header-controls.blade.php @@ -1,17 +1,14 @@