home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / ib / setups / intrabld / data.z / SMPADMIN.JFM < prev    next >
Text File  |  1996-12-11  |  9KB  |  315 lines

  1. /****************************************************************************\
  2. *                                                                            *
  3. * SmPAdmin.jfm  --  Security Policy Administration Form                      *
  4. *                                                                            *
  5. * This form is part of the security administration prebuilt business         *
  6. * solution. This is the policy adminstration form. It allows you to define   *
  7. * new groups and update existing policies. This form is called from the      *
  8. * SmAdmin form.                                                              *
  9. *                                                                            *
  10. * Dependencies:  secur21.gif                                                 *
  11. *                                                                            *
  12. * Updated 11/13/96 by IntraBuilder Samples Group                             *
  13. * $Revision:   1.9  $                                                        *
  14. *                                                                            *
  15. * Copyright (c) 1996, Borland International, Inc. All rights reserved.       *
  16. *                                                                            *
  17. \****************************************************************************/
  18. #include "security.h"
  19. // {End Header} Do not remove this comment//
  20. // Generated on 11/13/96
  21. //
  22. var f = new smpadminForm();
  23. f.open();
  24. class smpadminForm extends SecurityForm from "SMADMIN.JCF" {
  25.    _sys.scripts.load(_sys.env.home() + "APPS\\SHARED\\CONTROLS.CC")
  26.    with (this) {
  27.       onServerLoad = class::Form_onServerLoad;
  28.       color = "fff7c4";
  29.       height = 11.5;
  30.       left = 0;
  31.       top = 0;
  32.       width = 76;
  33.       title = "Policy Administration";
  34.    }
  35.  
  36.  
  37.    with (this.rule1 = new Rule(this)){
  38.       top = 4;
  39.       size = 2;
  40.       right = 74;
  41.       pageno = 0;
  42.    }
  43.  
  44.  
  45.    with (this.rule2 = new Rule(this)){
  46.       top = 9.5;
  47.       size = 2;
  48.       right = 74;
  49.       pageno = 0;
  50.    }
  51.  
  52.  
  53.    with (this.actionHTML = new HTML(this)){
  54.       height = 1;
  55.       left = 12;
  56.       top = 2;
  57.       width = 30;
  58.       color = "400040";
  59.       text = "Update Existing Policy";
  60.    }
  61.  
  62.  
  63.    with (this.saveButton = new Button(this)){
  64.       onServerClick = class::saveButton_onServerClick;
  65.       left = 42;
  66.       top = 2;
  67.       width = 14;
  68.       text = "Save";
  69.    }
  70.  
  71.  
  72.    with (this.exitButton = new Button(this)){
  73.       onServerClick = class::exitButton_onServerClick;
  74.       left = 58;
  75.       top = 2;
  76.       width = 14;
  77.       text = " Exit ";
  78.    }
  79.  
  80.  
  81.    with (this.policyHTML = new HTML(this)){
  82.       height = 1;
  83.       top = 4.5;
  84.       width = 16;
  85.       color = "400040";
  86.       text = "Policy name";
  87.    }
  88.  
  89.  
  90.    with (this.policynameHTML = new HTML(this)){
  91.       height = 1;
  92.       left = 16;
  93.       top = 4.5;
  94.       width = 16;
  95.       color = "black";
  96.       text = "policyname";
  97.    }
  98.  
  99.  
  100.    with (this.policynameText = new Text(this)){
  101.       visible = false;
  102.       left = 16;
  103.       top = 4.5;
  104.       width = 16;
  105.       value = "policyname";
  106.    }
  107.  
  108.  
  109.    with (this.descriptionHTML = new HTML(this)){
  110.       height = 1;
  111.       top = 5.5;
  112.       width = 16;
  113.       color = "400040";
  114.       text = "Description";
  115.    }
  116.  
  117.  
  118.    with (this.descriptionText = new Text(this)){
  119.       left = 16;
  120.       top = 5.5;
  121.       width = 36;
  122.       value = "description";
  123.    }
  124.  
  125.  
  126.    with (this.booleanRadio = new Radio(this)){
  127.       height = 1;
  128.       top = 7;
  129.       width = 42;
  130.       text = "Value is Boolean - enter boolean value here: ";
  131.       value = true;
  132.    }
  133.  
  134.  
  135.    with (this.numericRadio = new Radio(this)){
  136.       height = 1;
  137.       top = 8;
  138.       width = 42;
  139.       text = "Value is Numeric - enter numeric value here: ";
  140.       value = false;
  141.    }
  142.  
  143.  
  144.    with (this.numericText = new Text(this)){
  145.       left = 42;
  146.       top = 8;
  147.       width = 12;
  148.       value = "0";
  149.    }
  150.  
  151.  
  152.    with (this.errorHTML = new HTML(this)){
  153.       height = 3;
  154.       top = 4.5;
  155.       width = 70;
  156.       color = "black";
  157.       text = "Error loading group administration form. Notify system administrator.";
  158.       pageno = 2;
  159.    }
  160.  
  161.  
  162.    with (this.backButton = new Button(this)){
  163.       onServerClick = {;this.form.pageno = 1};
  164.       top = 8;
  165.       width = 20;
  166.       text = "Back";
  167.       pageno = 2;
  168.    }
  169.  
  170.  
  171.    with (this.GeneratedHTML1 = new GeneratedHTML(this)){
  172.       height = 1;
  173.       top = 10;
  174.       width = 74;
  175.       pageno = 0;
  176.    }
  177.  
  178.  
  179.    with (this.booleanCheck = new CheckBox(this)){
  180.       height = 1;
  181.       left = 42;
  182.       top = 7;
  183.       width = 18;
  184.       text = "On/Yes/True";
  185.       checked = false;
  186.    }
  187.  
  188.  
  189.    function Form_onServerLoad()
  190.    {
  191.       try {
  192.          // 
  193.          // make sure that all the custom properties are set
  194.          //
  195.          var x = this.copyEntity?1:0;
  196.          var x = this.entity.name;
  197.          var x = this.security._admin;
  198.          var x = this.callingForm.title;
  199.          //
  200.          // set the action text
  201.          //
  202.          this.createNew = true;
  203.          if (this.entity.name == null)
  204.             this.actionHTML.text = "Create New Policy";
  205.          else if (this.copyEntity)
  206.             this.actionHTML.text = ("Copy " + this.entity.name + " To New Policy");
  207.          else {
  208.             this.createNew = false;
  209.             this.actionHTML.text = "Update Existing Policy";
  210.          }
  211.          //
  212.          // set the control values on this form
  213.          //
  214.          if (this.createNew) {
  215.             this.policynameText.value = new StringEx().replicate(" ",20);
  216.             this.policynameText.visible = true;
  217.             this.policynameHTML.visible = false;
  218.          }
  219.          else {
  220.             this.policynameHTML.text = this.entity.name;
  221.             this.policynameHTML.visible = true;
  222.             this.policynameText.visible = false;
  223.          }
  224.          this.descriptionText.value = (this.entity.description == null) ?
  225.                                        new StringEx().replicate(" ",80) : 
  226.                                        this.entity.description;
  227.          if (this.entity.boolean) {
  228.             this.booleanRadio.value = true;
  229.             this.booleanCheck.checked = this.entity.value;
  230.             this.numericText.value = "";
  231.          }
  232.          else {
  233.             this.numericRadio.value = true;
  234.             this.booleanCheck.checked = null;
  235.             if (this.createNew)
  236.                this.numericText.value = "";
  237.             else
  238.                this.numericText.value = ("" + this.entity.value);
  239.          }
  240.       }
  241.       catch (Exception e) {
  242.          this.errorHTML.text = "Error loading policy: " + e.message + " (" + e.code + ")";
  243.          this.pageno = 2;
  244.       }
  245.    }
  246.  
  247.    function saveButton_onServerClick()
  248.    {
  249.       var form = this.form;
  250.       try {
  251.          // have an exception ready
  252.          var error = new Exception();
  253.          error.message = "";
  254.          error.code = 0;
  255.          //
  256.          //  set the properties of the entity object
  257.          //
  258.          //  policy name
  259.          if (form.createNew) {
  260.             var name = new StringEx(form.policynameText.value);
  261.             name.string = name.leftTrim();
  262.             name.string = name.rightTrim();
  263.             if (name.length == 0) {
  264.                error.message = "Policy name may not be blank";
  265.                throw error;
  266.             }
  267.             else
  268.                form.entity.name = name;
  269.          }
  270.          // description
  271.          form.entity.description = form.descriptionText.value;
  272.          // boolean
  273.          form.entity.boolean = form.booleanRadio.value;
  274.          // value
  275.          form.entity.value = form.entity.boolean ? form.booleanCheck.checked :
  276.                              parseInt(form.numericText.value);
  277.          //
  278.          //  call create/update with entity object
  279.          //
  280.          if (form.createNew)
  281.             form.security.createPolicy(form.entity);
  282.          else
  283.             form.security.updatePolicy(form.entity);
  284.          //
  285.          //  Successful change, no longer in createNew mode
  286.          //
  287.          if (form.createNew) {
  288.             form.createNew = false;
  289.             form.actionHTML.text = "Update Existing Policy";
  290.             form.policynameHTML.text = form.entity.name;
  291.             form.policynameHTML.visible = true;
  292.             form.policynameText.visible = false;
  293.          }
  294.       }
  295.       catch (Exception e) {
  296.          form.errorHTML.text = "Error saving policy: " + e.message + " (" + e.code + ")";
  297.          form.pageno = 2;
  298.       }
  299.    }
  300.  
  301.    function exitButton_onServerClick()
  302.    {
  303.       try {
  304.          this.form.callingForm.open();
  305.          this.form.close();
  306.          this.form.release();
  307.       }
  308.       catch (Exception e) {
  309.          this.form.errorHTML.text = "Unable to return to calling form.";
  310.          this.form.pageno = 2;
  311.       }
  312.    }
  313.  
  314. }
  315.