By default we have 4 kind of roles
1) System Administrators
3) Branch Administrator
4) Own Records Administrator
1 and 2 are marked as system roles and cannot be deleted from the web interface . Also , you cannot change access for this roles .
But you can delete and modify other roles and create your own roles .
Creating a role
1) Go to Users->Roles
2) Click "New Role"
3) Enter role name and description and click "Save" button .
Information about roles are storing in "roles" table
Access Type = 1 - Access to all branches . Users in this role will see all rows .
Access Type = 2 - Access to own branch. Users in this role will see the rows only of own branch
Access Type = 3 - Access to own records. Users in this role will see only rows created by themselfes.
All tables that have column "branch_id" are linked to branches . Users that have Access only to own branch will be able to see only the rows that in the same branch . Below the list of objects that has been linked to branch .
Linked to branch : Categories, Quizzes , Questions ,Assignments, Local users .
Not linked to branch : Imported users, User groups , Roles, Email templates,Quiz results templates,CMS.
System_row =1 - System Administrator
System_row = 2 - User
System_row = 0 - All other roles
"Module Access" are storing in "roles_rights" table .
"Access List" are storing in "roles_access_rights" table.
"Page Access" are storing in "roles_pages" table.
"Branch access " is storing in "roles" table in access_type column .
"Default page for this role" is stroing in roles table in "default_page" column.
Here is the diagram of relationship.
Information about modules are storing in "modules" table . ( Read "Menu Management");