Esmith::FormMagick::Panels::groups

From SME Server
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

NAME

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

SYNOPSIS

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

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

DESCRIPTION

new();

Exactly as for esmith::FormMagick

ACCESSORS

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_description

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

ACTION

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.

VALIDATION

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";
          }
          else
          {
              return(’OK’);
          }
          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
      group);

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

UTILITY FUNCTIONS

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.

build_cgi_params()

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.

clear_params

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