home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / showaccess.tcl < prev    next >
Text File  |  1997-10-21  |  2KB  |  83 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)showaccess.tcl    /main/titanic/5
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)showaccess.tcl    /main/titanic/5   21 Oct 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. # End user added include file section
  13.  
  14. require_module_file "accesscont.tcl" security
  15.  
  16. Class ShowAccessRightsDlg : {AccessControlDlg} {
  17.     constructor
  18.     method destructor
  19.     method popUp
  20.     method selectedObjectSetChanged
  21.     method updateLabel
  22. }
  23.  
  24. constructor ShowAccessRightsDlg {class this name} {
  25.     set this [AccessControlDlg::constructor $class $this $name]
  26.     # Start constructor user section
  27.  
  28.     $this editable 0
  29.     $this delCancelButton
  30.  
  31.     # End constructor user section
  32.     return $this
  33. }
  34.  
  35. method ShowAccessRightsDlg::destructor {this} {
  36.     # Start destructor user section
  37.     # End destructor user section
  38.     $this AccessControlDlg::destructor
  39. }
  40.  
  41. method ShowAccessRightsDlg::popUp {this} {
  42.     if {! [[$this selectedSet] empty]} {
  43.     $this createObjectsIf
  44.     $this createActionsIf
  45.     $this updateLabel
  46.     $this selectedObjectSetChanged
  47.     $this TemplateDialog::popUp
  48.     }
  49.     if {"[$this errorStack]" != ""} {
  50.     wmtkinfo [$this errorStack]
  51.     $this errorStack ""
  52.     }
  53. }
  54.  
  55. method ShowAccessRightsDlg::selectedObjectSetChanged {this} {
  56.     $this AccessControlDlg::selectedObjectSetChanged
  57.  
  58.     foreach id [$this.top.row.leftCol.objects.list selectedIndexSet] {
  59.     set obj [[$this selectedSet] index $id]
  60.     foreach action [$obj getInfo "Controlled Actions"] {
  61.         set actionIf $this.top.row.rightCol.actions.col.$action
  62.         $actionIf.label sensitive 1
  63.         if [$obj hasPermission $action] {
  64.         set allowed [$this getAllowed $action]
  65.         $this setAllowed $action [expr $allowed + 1]
  66.         } else {
  67.         set prohibited [$this getProhibited $action]
  68.         $this setProhibited $action [expr $prohibited + 1]
  69.         }
  70.     }
  71.     }
  72.  
  73.     $this updateActionsIf
  74. }
  75.  
  76. method ShowAccessRightsDlg::updateLabel {this} {
  77.     set label "Effective context:  [BrowserProcs::effectiveRoles]\n"
  78.     $this.top.label text "$label"
  79. }
  80.  
  81. # Do not delete this line -- regeneration end marker
  82.  
  83.