%3 ::xowiki::formfield::role_member ::xowiki::formfield::role_member check=options get_entry_label initialize pretty_value render_input ::xowiki::formfield::candidate_box_select ::xowiki::formfield::candidate_box_select add_bulk_handler add_drag_handler render_input ::xowiki::formfield::role_member->::xowiki::formfield::candidate_box_select ::xowiki::formfield::abstract_page ::xowiki::formfield::abstract_page check=options fetch_entry_label get_entry_label initialize pretty_value render_input ::xowiki::formfield::abstract_page->::xowiki::formfield::candidate_box_select ::xowiki::formfield::select ::xowiki::formfield::select initialize render_input ::xowiki::formfield::candidate_box_select->::xowiki::formfield::select ::xowiki::formfield::enumeration ::xowiki::formfield::enumeration ::xowiki::formfield::select->::xowiki::formfield::enumeration

Class ::xowiki::formfield::role_member

::xowiki::formfield::role_member[i] create ... \
           [ -except (default "") ] \
           [ -online_state (default "off") ] \
           [ -role role ]

Class Relations

  • class: ::xotcl::Class[i]
  • superclass: ::xowiki::formfield::candidate_box_select[i]
::xotcl::Class create ::xowiki::formfield::role_member \
     -superclass ::xowiki::formfield::candidate_box_select

Methods (to be applied on instances)

  • check=options (scripted)

    return 1
  • except (setter)

  • get_entry_label (scripted)

    set prefix ""
    if {[:online_state]} {
      set prefix "[::xowiki::utility user_is_active -asHTML true $v] "
    }
    return $prefix[::xo::get_user_name $v]
  • initialize (scripted)

    next
    set :is_party_id 1
  • online_state (setter)

  • pretty_value (scripted)

    set :options [:get_labels $v]
    next
  • render_input (scripted)

    #:msg role=${:role},obj=${:object}
    if {[nsf::is object ::xo::role::${:role}]} {
      set arguments [list -object_id [::xo::role::${:role} get_object_id ${:object}]]
      if {${:except} eq "current_user_id"} {
        lappend arguments -except [::xo::cc user_id]
      }
      set :options [lsort -index 0 [::xo::role::${:role} get_members {*}$arguments]]
    } elseif {[set gid [group::get_id -group_name ${:role}]] ne ""} {
      set :options [lsort -index 0 [lmap m [group::get_members -group_id $gid] {
        list [::xo::get_user_name $m$m
      }]]
    } else {
      error "no such role or group '${:role}'"
    }
    next
  • role (setter)