Giter Site home page Giter Site logo

Permission names about nova-permission HOT 12 CLOSED

vyuldashev avatar vyuldashev commented on May 12, 2024
Permission names

from nova-permission.

Comments (12)

vyuldashev avatar vyuldashev commented on May 12, 2024

Hello, I think you should propose this feature request to spatie/laravel-permission, if they will add this, we will definitely include it in this library.

from nova-permission.

drbyte avatar drbyte commented on May 12, 2024

Without extending the package, you could add a layer that uses the __() translation helper.

from nova-permission.

vyuldashev avatar vyuldashev commented on May 12, 2024

@drbyte in some projects I also create a display_name column in permissions and roles tables for such purposes. If Spatie will add it, it would be awesome

from nova-permission.

drbyte avatar drbyte commented on May 12, 2024

It's being considered for v3, but nothing confirmed yet.

from nova-permission.

VTumanov avatar VTumanov commented on May 12, 2024

May be create own table for this and add hasOne relation? Or make your own migration for spatie permissions table, with adding title column. I think we can long wait for Spatie, if they coding v3.
This title needed only in Nova, not in other project code, so it not require "native support" from Spatie.

from nova-permission.

vyuldashev avatar vyuldashev commented on May 12, 2024

I have a solution for now.

In \Vyuldashev\NovaPermission\Permission we add displayUsing call with callback which will return translation:

 Text::make(__('nova-permission-tool::permissions.name'), 'name')
    // ...
    ->displayUsing(function ($value) {
        return __('nova-permission-tool::permissions.names.' . $value);
    }),

In project's resources/lang/vendor/nova-permission-tool/en/permissions.php we add for example:

<?php

return [
    'name' => 'Name',
    'guard_name' => 'Guard Name',
    'created_at' => 'Created at',
    'updated_at' => 'Updated at',

    'names' => [
        'users-create' => 'Create Users',
    ],
];

Which will lead to this:

screen shot 2018-08-28 at 23 33 25

The same implementation can be applied for roles. If Spatie adds translatable option for permission and role names we will switch to it.

Waiting for feedback from @drbyte and @VTumanov.

from nova-permission.

VTumanov avatar VTumanov commented on May 12, 2024

I think it well be more useful if use two different columns. One for Users, second for Developers, they can check permissions keys with this page.

from nova-permission.

vyuldashev avatar vyuldashev commented on May 12, 2024

We can make a computed field then.

from nova-permission.

VTumanov avatar VTumanov commented on May 12, 2024

Then it looks great! Thanks Bro!

from nova-permission.

vyuldashev avatar vyuldashev commented on May 12, 2024

@VTumanov

Just tagged v1.2.0. Check it out. You need to create in resources/lang/vendor/nova-permission-tool/en/permissions.php display_names array where key stands for permission name and value for display value. It wont show Display Name column until there is at least one value.

from nova-permission.

VTumanov avatar VTumanov commented on May 12, 2024

Today i use this future, all good and work!

For other coders: in lang file you need use display_names instead names like in upper example

from nova-permission.

drbyte avatar drbyte commented on May 12, 2024

I think it well be more useful if use two different columns. One for Users, second for Developers, they can check permissions keys with this page.

The existing name field should be the one used "by developers", since it's the one closed to "your app code". If you need to display it differently for "users"/whatever, you can either use the translation functions or add a separate field to the db and manage that field in your own app.

from nova-permission.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.