workflow::role::generate_short_name (public)

 workflow::role::generate_short_name -workflow_id workflow_id \
    -pretty_name pretty_name [ -short_name short_name ] \
    [ -role_id role_id ]

Defined in packages/workflow/tcl/role-procs.tcl

Generate a unique short_name from pretty_name.

Switches:
-workflow_id (required)
-pretty_name (required)
-short_name (optional)
-role_id (optional)
If you pass in this, we will allow that role's short_name to be reused.

Partial Call Graph (max 5 caller/called nodes):
%3 workflow::role::edit workflow::role::edit (public) workflow::role::generate_short_name workflow::role::generate_short_name workflow::role::edit->workflow::role::generate_short_name _ _ (public) workflow::role::generate_short_name->_ util_text_to_url util_text_to_url (public) workflow::role::generate_short_name->util_text_to_url workflow::role::get_existing_short_names workflow::role::get_existing_short_names (public) workflow::role::generate_short_name->workflow::role::get_existing_short_names

Testcases:
No testcase defined.
Source code:
    set existing_short_names [workflow::role::get_existing_short_names  -workflow_id $workflow_id  -ignore_role_id $role_id]
    
    if { $short_name eq "" } {
        if { $pretty_name eq "" } {
            error "Cannot have empty pretty_name when short_name is empty"
        }
        set short_name [util_text_to_url  -replacement "_"  -existing_urls $existing_short_names  -text $pretty_name]
    } else {
        # Make lowercase, remove illegal characters
        set short_name [string tolower $short_name]
        regsub -all {[- ]} $short_name {_} short_name
        regsub -all {[^a-zA-Z_0-9]} $short_name {} short_name

        if {$short_name in $existing_short_names} {
            error "Role with short_name '$short_name' already exists in this workflow."
        }
    }

    return $short_name
XQL Not present:
PostgreSQL, Oracle
Generic XQL file:
packages/workflow/tcl/role-procs.xql

[ hide source ] | [ make this the default ]
Show another procedure: