diff --git a/core/lib/Thelia/Config/Resources/config.xml b/core/lib/Thelia/Config/Resources/config.xml index 3857b0a4b..6731152c4 100755 --- a/core/lib/Thelia/Config/Resources/config.xml +++ b/core/lib/Thelia/Config/Resources/config.xml @@ -106,6 +106,8 @@
+ + diff --git a/core/lib/Thelia/Config/Resources/routing/admin.xml b/core/lib/Thelia/Config/Resources/routing/admin.xml index 180077a4c..e6a545297 100755 --- a/core/lib/Thelia/Config/Resources/routing/admin.xml +++ b/core/lib/Thelia/Config/Resources/routing/admin.xml @@ -545,6 +545,15 @@ + + + + Thelia\Controller\Admin\AdminProfileController::defaultAction + + + + + diff --git a/core/lib/Thelia/Controller/Admin/AdminProfileController.php b/core/lib/Thelia/Controller/Admin/AdminProfileController.php new file mode 100644 index 000000000..91f3f2031 --- /dev/null +++ b/core/lib/Thelia/Controller/Admin/AdminProfileController.php @@ -0,0 +1,39 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Controller\Admin; + +/** + * Class AdminProfileController + * @package Thelia\Controller\Admin + * @author Manuel Raynaud + */ +class AdminProfileController extends BaseAdminController +{ + public function defaultAction() + { + if (null !== $response = $this->checkAuth("admin.admin-profile.view")) return $response; + return $this->render("admin-profiles", array("display_admin_profile" => 20)); + } + +} \ No newline at end of file diff --git a/core/lib/Thelia/Form/AdminProfileCreationForm.php b/core/lib/Thelia/Form/AdminProfileCreationForm.php new file mode 100644 index 000000000..34ce7556b --- /dev/null +++ b/core/lib/Thelia/Form/AdminProfileCreationForm.php @@ -0,0 +1,65 @@ +. */ +/* */ +/*************************************************************************************/ +namespace Thelia\Form; + +use Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Constraints\NotBlank; +use Thelia\Core\Translation\Translator; + +class AdminProfileCreationForm extends BaseForm +{ + protected function buildForm() + { + $this->formBuilder + ->add("wording" , "text" , array( + "constraints" => array( + new NotBlank() + ), + "label" => Translator::getInstance()->trans("Wording *"), + "label_attr" => array( + "for" => "wording" + )) + ) + ->add("name" , "text" , array( + "constraints" => array( + new NotBlank() + ), + "label" => Translator::getInstance()->trans("Name *"), + "label_attr" => array( + "for" => "name" + )) + ) + ->add("description" , "text" , array( + "label" => Translator::getInstance()->trans("Description"), + "label_attr" => array( + "for" => "description" + )) + ) + ; + } + + public function getName() + { + return "thelia_admin_profile_creation"; + } +} \ No newline at end of file diff --git a/templates/admin/default/admin-profiles.html b/templates/admin/default/admin-profiles.html new file mode 100644 index 000000000..b0d84b04a --- /dev/null +++ b/templates/admin/default/admin-profiles.html @@ -0,0 +1,219 @@ +{extends file="admin-layout.tpl"} + +{block name="page-title"}{intl l='Admin profiles'}{/block} + +{block name="check-permissions"}admin.admin-profiles.view{/block} + +{block name="main-content"} +
+ +
+ +
+ + {loop type="auth" name="can_create" roles="ADMIN" permissions="admin.admin-profiles.create"} + + + + {/loop} +
+ + {module_include location='admin_profiles_top'} + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ {intl l="Profile"} +
+ +
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ {intl l="General rights"} +
{intl l="Authorization"}{intl l="Description"}{intl l="Access"}
Access to customers + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur, saepe, libero, veniam ab quod. + +
+ +
+
Access to orders + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur, saepe, libero, veniam ab quod. + +
+ +
+
Access to catalog + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur, saepe, libero, veniam ab quod. + +
+ +
+
+ +
+
+
+
+
+
+ + {module_include location='admin_profiles_bottom'} + +
+
+ +{* Creation dialog *} + +{form name="thelia.admin.admin-profile.creation"} + + {* Capture the dialog body, to pass it to the generic dialog *} + {capture "creation_dialog"} + + {form_hidden_fields form=$form} + + {* Be sure to get the language_id, even if the form could not be validated *} + + + {form_field form=$form field='success_url'} + {* on success, redirect to the edition page, _ID_ is replaced with the created object ID, see controller *} + + {/form_field} + + {form_field form=$form field='wording'} +
+ + +
+ {/form_field} + + {form_field form=$form field='name'} +
+ + +
+ {/form_field} + + {form_field form=$form field='description'} +
+ + +
+ {/form_field} + + {module_include location='admin_profile_create_form'} + + {/capture} + + {include + file = "includes/generic-create-dialog.html" + + dialog_id = "creation_dialog" + dialog_title = {intl l="Create a new admin profile"} + dialog_body = {$smarty.capture.creation_dialog nofilter} + + dialog_ok_label = {intl l="Create this admin profile"} + + form_action = {url path='/admin/configuration/admin_profile/create'} + form_enctype = {form_enctype form=$form} + form_error_message = $form_error_message + } +{/form} + +{/block} + +{block name="javascript-initialization"} + + {javascripts file='assets/js/bootstrap-switch/bootstrap-switch.js'} + + {/javascripts} + + {javascripts file='assets/js/bootstrap-select/bootstrap-select.js'} + + {/javascripts} + + {javascripts file='assets/js/main.js'} + + {/javascripts} +{/block} \ No newline at end of file