workflow::action::generate_short_name (public)

 workflow::action::generate_short_name -workflow_id workflow_id \
    -pretty_name pretty_name [ -short_name short_name ] \
    [ -action_id action_id ]

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

Generate a unique short_name from pretty_name.

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

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

Testcases:
No testcase defined.
Source code:
    set existing_short_names [workflow::action::get_existing_short_names  -workflow_id $workflow_id  -ignore_action_id $action_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 "Action with short_name '$short_name' already exists in this workflow."
        }
    }

    return $short_name
Generic XQL file:
packages/workflow/tcl/action-procs.xql

PostgreSQL XQL file:
packages/workflow/tcl/action-procs-postgresql.xql

Oracle XQL file:
packages/workflow/tcl/action-procs-oracle.xql

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