/
Step 2: Admin Roles

Step 2: Admin Roles

In this section we want to introduce Admin Roles to provide our different backend users with role-based permissions.

We have three different user roles:

  • Super admin users,

  • employees and

  • representatives of partnering shipping companies.

Define admin roles

cmsbs-conf/conf.d/admin_role.attributes:

admin_role.values[] = "" admin_role.values[] = "employee" admin_role.values[] = "shipping_company" admin_role.value. = "Super Admin" admin_role.value.employee = "Employee" admin_role.value.shipping_company = "Shipping company"

 

 

Employees

Employees should be able to:

  • View, edit and create Entries (shipping companies, employees and customers),

  • view, edit and create Lists (aka Channels),

  • view existing Segments (aka VChannels) and

  • send Newsletters.

cmsbs-conf/adminRoles/role_employee.properties:

gui.areas = ShowUser EditUser ListUsers CreateUser ListChannels EditChannels ListVChannels NewsletterArchive SendNewsletter NewsletterQueue attr.entrytype.values = shipping_company employee customer area.CreateUser.employee = false area.EditChannels.EditTags = false area.SendNewsletter.EditTags = false user.query = entrytype='shipping_company' or entrytype='employee' or entrytype='customer'

Representatives of shipping companies

Representatives or partnering shipping companies should be able to:

  • View, edit and create Entries (trucks and customers),

  • view existing Lists and Segments (aka Channels and VChannels) and

  • send Newsletters.

cmsbs-conf/adminRoles/role_shipping_company.properties:

gui.areas = ShowUser EditUser ListUsers CreateUser ListChannels ListVChannels NewsletterArchive SendNewsletter NewsletterQueue attr.entrytype.values = truck customer area.SendNewsletter.EditTags = false user.query = entrytype='truck' or entrytype='customer'

Symlink Admin Roles

And again we have to comment in the other line in our build.gradle:

Create Admin Entry

Next, we’ll have to create at least one initial admin user to be able to login again:

Now, we can start our UM and login as admin / admin (if you chose the default username and password).

We can now create new user entries and assign our newly implemented admin roles.

 

Related content

Step 3: Dynamic permissions
Step 3: Dynamic permissions
Read with this
Entry Types and Admin Roles
Entry Types and Admin Roles
More like this
Step 1: Entry Types
Step 1: Entry Types
Read with this
Enable Code Completion (IntelliSense) in Visual Studio Code
Enable Code Completion (IntelliSense) in Visual Studio Code
Read with this
Directories, Plugins and Scopes
Directories, Plugins and Scopes
Read with this
Data model
Read with this