From SME Server


esmith::FormMagick::Panels::groups - useful panel functions

In a root terminal you can do the command below if you want to display the up-to-date content

perldoc esmith::FormMagick::Panels::groups


          use esmith::FormMagick::Panels::groups;

          my $panel = esmith::FormMagick::Panel::groups->new();



Exactly as for esmith::FormMagick


get_cgi_param FM FIELD

Returns the named CGI parameter as a string

get_accounts_prop ITEM PROP

A simple accessor for esmith::AccountsDB::Record::prop


Get the Description for the group named in the CGI argument "GroupName"


show_initial FM

Show the "start" page for this panel

create_group FM

Create a group

modify_group FM

Modify a group’s description and membership roster

delete_group FM

Delete a group and move all of its ibays to the ’admin’ group.


validate_is_group FM GROUP

returns OK if GROUP is a current group. otherwisee returns "NOT_A_GROUP"

validate_group_naming_conflict FM GROUPNAME

Returns "OK" if this group’s name doesn’t conflict with anything Returns "PSEUDONYM_CONFLICT" if this name conflicts with a pseudonym Returns "NAME_CONFLICT" if this group name conflicts with anything else ok (undef, ’need testing for validate_naming_Conflicts’);

      sub validate_group_naming_conflict {
          my $fm        = shift;
          my $groupName = shift;

          my $account = $accounts->get($groupName);
          my $type;

          if (defined $account)
              $type = $account->prop(’type’);
          elsif (defined getpwnam($groupName) ││ defined getgrnam($groupName))
              $type = "system";
          return $fm->localise(’ACCOUNT_CONFLICT’,
                  { group => $groupName,
                    type => $type,

validate_group FM groupname

Returns OK if the group name contains only valid characters Returns GROUP_NAMING otherwise

      ok(validate_group(’’,’foo’) eq ’OK’, ’foo is a valid group); ok(vali-
      date_group(’’,’f&oo’) eq ’GROUP_CONTAINS_INVALD’, ’f&oo is not a valid

validate_group_length FM GROUPNAME

returns ’OK’ if the group name is shorter than the maximum group name length returns ’GROUP_TOO_LONG’ otherwise

validate_group_has_members FM MEMBERS

Validates that the cgi parameter MEMBERS is an array with at least one entry Returns OK if true. Otherwise, returns NO_MEMBERS


print_group_members FM ACCT

Takes an FM object and the name of a group. Prints out an unordered list of the group’s members.


Builds a CGI query string, using various sensible defaults and esmith::FormMagick’s props_to_query_string() method.

genUsers MEMBERS

Takes a comma delimited list of users and returns a string of html checkboxes for all system users with the members of the group in $fm->{cgi}->parm(’groupName’)checked.


This method clears-out the parameters used in form submission so that they are not inadvertently picked-up where they should not be.