Subversion Repositories wimsdev

Rev

Rev 10677 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

# Add a subclass under the current superclass.
# Calling parameter: subclass address under the superclass.

!if $wims_superclass=$empty or $wims_user!=supervisor or $wims_read_parm=$empty
  !exit
!endif

classdir=wimshome/log/classes/$wims_superclass
userdir=$classdir/.users
s_=$sup

!if $pass!=$empty
  pass=!text select $char_passwd in $pass
  passlen=!charcnt $pass
  !if $passlen<$passwd_min or $passlen>$passwd_max or $pass != $pass2
    error=bad_password
    !exit
  !endif
!else
  pass=!defof class_password in $classdir/$wims_read_parm/.def
!endif

!if $passs!=$empty
  passs=!text select $char_passwd in $passs
  passlen=!charcnt $passs
  !if $passlen<$passwd_min or $passlen>$passwd_max or $passs != $passs2
    error=bad_password
    !exit
  !endif
!else
  passs=!defof user_password in $classdir/$wims_read_parm/supervisor
!endif

1=!defof user_exists in $userdir/$s_
2=!defof class_defined in $classdir/$wims_read_parm/.def
!if $2!=yes
 error=mod_not_exist
 !exit
!endif
!if $1!=yes
 s_=supervisor
!else
 1=!defof user_supervisable in $userdir/$s_
 !if $1!=yes
  name=$s_
  error=not_supervisable
  !exit
 !endif
!endif
!read adm/class/userdef classes,$wims_superclass,$s_
cadd_Supervisor=$s_
tmp=!defof user_firstname,user_lastname,user_email in $userdef
!distribute item $tmp into sadd_firstname,sadd_lastname,sadd_email,sadd_password
cadd_email=$sadd_email
cadd_password=$pass
sadd_password=$passs
modclass_slist=!listunion firstname,lastname,email and $modclass_slist

!read adm/gateway/delsup $wims_read_parm
!if $s_!=supervisor
 suplist=!defof user_supervise in $userdir/$s_
 suplist=!listunion $suplist and $wims_superclass/$wims_read_parm
 !setdef !set user_supervise=$suplist in $userdir/$s_
!endif

!read adm/class/modclass $wims_superclass/$wims_read_parm

!if $error!=$empty
 !exit
!endif