In addition to Admin and User default roles, SDL BaccS has Vendor predefined role.
This role should be assigned to all user accounts created for vendors who will be able to access their area on the web-portal. In addition to a role, Associated contractor field must be filled for such users. By default, Vendor role allows contractors to:
- Change own password for accessing a portal
- View and edit own profile (contractor editing form - full access is provided to all fields, including prices and languages; while editing, a contractor can select Units, Languages, Work types, Software applications contained in the database)
- View their assignments (with status, language pair, PO number, date, deadline, amounts, due and paid amounts, instructions, etc.)
- Partially deliver assignment (with possibility to attach up to 5 files)
- Fully deliver assignments (with possibility to attach up to 5 files)
- Register invoices over delivered assignments (with possibility to attach invoice file)
- View Vendor performance QuickReport
Translators cannot edit assignments. They only can change status of assignments by selecting Partial delivery, Full delivery or Register invoice buttons. After registering an invoice delivery buttons and invoice creation buttons become unavailable.
You are fully free to change default permissions defined in the Vendor role.
Below you will find explanation of every permission setting in the Vendor role.
Navigation permissions
Translation assignments | Allows to view all assignments. Special limited list of assignment will be opened with buttons to deliver files. |
---|---|
My details |
Allows to view user's form which allows to change password for a contractor's user. |
This means that navigation tree on the left will contain only 2 links: to open translation assignments and my details.
Type permissions
While navigation permissions control contents of the navigation tree and do not control access right to actual data, type permissions serve exactly for this - to define a data allowed/denied to be read, written, created or deleted by users with this role. By default access to all data is denied in Vendor role:
This means that even if navigation permission allows to open translation assignments list, attempt to do this will lead to fully empty list of assignments, because it is not allowed to read (nor write, create and delete) and data. So, the task of Type permissions table is to define what is allowed to read/write/create/delete. In this list you can see what is allowed by default in the Vendor role:
Type | Read | Write | Create | Delete | Member permissions | Object permissions | Notes |
---|---|---|---|---|---|---|---|
Role | Deny | ||||||
User | Allow |
Change password on first logon Criteria: [Oid] = CurrentUserId() Allow write Stored password Criteria: [Oid] = CurrentUserId() Allow write |
x |
Needed to allow user to change own password Read permission for all users is needed to determine users for sending notifications |
|||
Fuzzy type | Allow | ||||||
Software application | Allow | ||||||
Tax | Allow | ||||||
Application setting | Allow | Allow |
Write permission for application settings - internal temporary data is stored in this table |
||||
Report | Allow |
Needed for viewing reports |
|||||
File attachment | Allow | Allow | Allow | Allow |
To deliver files and invoices |
||
File data | Allow | Allow | Allow | Allow |
Linked with File attachment table |
||
Translation assignment pick | Deny | Deny | Deny | Deny |
Explicitly deny access to Translators pickup tab in assignments |
||
Job task | Fuzzy type; Unit; Work type |
Needed to allow to view fuzzy type, unit and work type in assignments, because tasks in assignments are based on job tasks |
|||||
Model difference | Allow | Allow | Allow |
Used to store individual user settings (column in tables, etc.) |
|||
Model difference aspect | Allow | Allow | Allow |
The same |
|||
Translation assignment | Deny | Deny | Deny | Deny |
Criteria: [Contractor.Id] = CurrentUserVendorOrClientId() Allow read and write |
Criteria sets rights on reading and writing only those assignments which are created for logged in vendor |
|
Contractor | Deny | Deny | Deny | Deny |
Criteria: [Id] = CurrentUserVendorOrClientId() Allow read and write |
Allows to read and write only logged in vendor |
|
Contractor default rate | Deny | Deny | Deny |
To restrict editing of default rates |
|||
Dashboard |
[Title] = 'Vendor performance' Allow read |
Allows to view only one QuickReport named 'Vendor performance' |
|||||
Settings | Allow |
Read application settings |
|||||
Currency | Allow | ||||||
Language | Allow | ||||||
Language combination | Allow | ||||||
Work field | Allow | ||||||
Work field category | Allow | ||||||
Work type | Allow | ||||||
Country | Allow | ||||||
Fuzzy type kit | Allow |
Fuzzy type scheme |
|||||
Fuzzy type kit detail | Allow | ||||||
Notification | Allow | Allow | Allow | Allow |
Needed to send notifications to users |
As you see, two functions were used in the Object permissions column: CurrentUserVendorOrClientId() and CurrentUserId().
CurrentUserVendorOrClientId() function returns Id of a contractor or customer which is linked with a logged in user. This contractor or customer is specified in theAssociated contractor or Associated customer in the Users table.
CurrentUserId() function returns Id of the logged in User.
Let's check criteria used to access translation assignments:
Criteria: [Contractor.Id] = CurrentUserVendorOrClientId()
Read, Write, Create and Delete properties are not set. This means that it is denied to access translation assignments table. But in the Object permissions table a row is created which allows to read and write assignments which meet provided criteria. And this criteria sets that Id of a Contractor selected in assignment must equal to Id of a currently logged in contractor.
Visual designer can help you to build this criteria, but you have to manually type name of a function after equity symbol: CurrentUserVendorOrClientId().
By modifying Vendor role you can provide more rights to your vendors or for individual vendors (in this case, Criteria property will look like [Contractor.FullName] = 'Peter Blake').