Eutanasio Posted January 14, 2020 Share Posted January 14, 2020 Buenas, Hay manera de ocultar la pestaña Precio en la ficha de producto del BO a los empleados con permiso "salesman"? no lo veo relevante para ellos, al menos no deberían poder ver el precio de compra al proveedor, es información sensible que incluso podría ver un cliente en algún momento que un empleado abriese la ficha de producto en un PDV Gracias Link to comment Share on other sites More sharing options...
Eutanasio Posted January 23, 2020 Author Share Posted January 23, 2020 Alguien sabe? Link to comment Share on other sites More sharing options...
ventura Posted January 24, 2020 Share Posted January 24, 2020 No existe ninguna opción por defecto de configuración para hacerlo. Puede hacerse mediante modificación de código. Este sería un ejemplo para version 1.7.6.3 En el archivo /src/PrestaShopBundle/Controller/Admin/ProductController.php Se añade acceso a la información de Empleado, objeto Employee use Employee; use PrestaShop\PrestaShop\Adapter\LegacyContext as ContextAdapter; En la function formAction($id, Request $request) antes de la parte donde se asignan las variables a la plantillas, se añade la instancia a la información de Empleado, quedando asi mas o menos $employee = (new ContextAdapter())->getContext()->employee; // Codigo nuevo añadido $drawerModules = (new HookFinder())->setHookName('displayProductPageDrawer') ->setParams(['product' => $product]) ->addExpectedInstanceClasses('PrestaShop\PrestaShop\Core\Product\ProductAdminDrawer') ->present(); return [ 'form' => $form->createView(), 'formCombinations' => $formBulkCombinations->createView(), Y se asigna la nueva variable que hace falta sin olvidarnos de la coma al final 'employeeSuperAdmin' => $employee->isSuperAdmin() ? true : false, Ya solo nos faltaria añadir la condición en el archivo de la plantilla /src/PrestaShopBundle/Resources/views/Admin/Product/ProductPage/Blocks/tabs.html.twig Dejando esta parte de esta manera {% if employeeSuperAdmin %} <li id="tab_step2" class="nav-item"><a href="#step2" role="tab" data-toggle="tab" class="nav-link">{{ 'Pricing'|trans({}, 'Admin.Catalog.Feature') }}</a></li> {% endif %} De esta manera la pestaña solo se mostrara cuando el empleado sea SuperAdmin 1 Link to comment Share on other sites More sharing options...
Eutanasio Posted January 24, 2020 Author Share Posted January 24, 2020 Muchas gracias @ventura! en mi caso me gustaría meter otros grupos de usuario, no solo SuperAdmin, cómo lo podría hacer? estoy pensando en dar permiso a SuperAdmin, Admin y otro más que he creado nuevo (unos pocos empleados con permisos adicionales) Gracias! Link to comment Share on other sites More sharing options...
ventura Posted January 24, 2020 Share Posted January 24, 2020 Puedes hacerlo asi: 'employeeAdmitted' => in_array($employee->id_profile, array(1, 3, 4)) ? true : false, 1,3,4 serian los ids de los perfiles de usuario que se admiten Y en el condicional: {% if employeeAdmitted %} 1 Link to comment Share on other sites More sharing options...
Eutanasio Posted January 24, 2020 Author Share Posted January 24, 2020 Gracias! lo he hecho tal cual y no hay cambios en el admin para ningún usuario, tal vez deba borrar algún cache? Para info, el código 'employeeAdmitted' =>.... lo he puesto dentro del "return [" que había justo debajo de "$drawerModules =" Link to comment Share on other sites More sharing options...
ventura Posted January 24, 2020 Share Posted January 24, 2020 Asi es , deberias borrar el cache desde Parámetros Avanzados / Rendimiento / Borrar cache Y colocar la nueva variable en el array, eg: return [ 'form' => $form->createView(), 'formCombinations' => $formBulkCombinations->createView(), 'categories' => $this->get('prestashop.adapter.data_provider.category')->getCategoriesWithBreadCrumb(), 'employeeAdmitted' => in_array($employee->id_profile, array(1, 3, 4)) ? true : false, 1 Link to comment Share on other sites More sharing options...
Eutanasio Posted January 24, 2020 Author Share Posted January 24, 2020 Crack! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now