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

  1. /****************************************************************************\
  2. *                                                                            *
  3. * Security.jcf - Custom Security Form Classes                                *
  4. *                                                                            *
  5. * Updated 11/07/96 by IntraBuilder Samples Group                             *
  6. * $Revision:   1.15  $                                                       *
  7. *                                                                            *
  8. * Copyright (c) 1996, Borland International, Inc. All rights reserved.       *
  9. *                                                                            *
  10. \****************************************************************************/
  11. #include "security.h"
  12. //
  13. //   smLoginForm
  14. //
  15. //   You need to set two custom properties of this form:
  16. //
  17. //       security - assign a SecurityManager object
  18. //       nextForm - assign a form reference. This form is opened after
  19. //                  a successful login.
  20. //
  21. class smLoginForm extends Form custom {
  22.    with (this) {
  23.       onServerSubmit = class::Form_onServerSubmit;
  24.       height = 10;
  25.       left = 0;
  26.       top = 0;
  27.       width = 60;
  28.       title = "Security Manager";
  29.    }
  30.  
  31.  
  32.    with (this.userNameHTML = new HTML(this)){
  33.       height = 1;
  34.       top = 5;
  35.       width = 16;
  36.       color = "black";
  37.       text = "User name";
  38.    }
  39.  
  40.  
  41.    with (this.userNameText = new Text(this)){
  42.       left = 16;
  43.       top = 5;
  44.       width = 20;
  45.       value = "";
  46.    }
  47.  
  48.  
  49.    with (this.passwordHTML = new HTML(this)){
  50.       height = 1;
  51.       top = 6;
  52.       width = 16;
  53.       color = "black";
  54.       text = "Password";
  55.    }
  56.  
  57.  
  58.    with (this.passwordText = new Password(this)){
  59.       left = 16;
  60.       top = 6;
  61.       width = 20;
  62.       value = "";
  63.    }
  64.  
  65.  
  66.    with (this.submitButton = new Button(this)){
  67.       onServerClick = class::submitButton_onServerClick;
  68.       top = 8;
  69.       width = 10.5;
  70.       text = "Submit";
  71.    }
  72.  
  73.  
  74.    with (this.clearButton = new Button(this)){
  75.       onClick = {;this.form.userNameText.value = this.form.passwordText.value = ''};
  76.       left = 14;
  77.       top = 8;
  78.       width = 10.5;
  79.       text = "Clear";
  80.    }
  81.  
  82.  
  83.    with (this.failedHTML = new HTML(this)){
  84.       height = 1;
  85.       top = 5;
  86.       width = 50;
  87.       color = "black";
  88.       text = "<h2>Login Failed</h2>";
  89.       pageno = 2;
  90.    }
  91.  
  92.  
  93.    with (this.messageHTML = new HTML(this)){
  94.       height = 2;
  95.       top = 6;
  96.       width = 50;
  97.       color = "black";
  98.       text = "message";
  99.       pageno = 2;
  100.    }
  101.  
  102.  
  103.    with (this.backButton = new Button(this)){
  104.       onServerClick = {;this.form.passwordText.value = "" ;this.form.pageno = 1};
  105.       top = 8;
  106.       width = 14;
  107.       text = "Back";
  108.       pageno = 2;
  109.    }
  110.  
  111.  
  112.    function submitButton_onServerClick()
  113.    {
  114.       this.form.Form_onServerSubmit(true,this.form);
  115.    }
  116.  
  117.    function Form_onServerSubmit(notForm, formRef)
  118.    {
  119.       var form = notForm ? formRef : this;
  120.       try {
  121.          form.security.login(form.userNameText.value,form.passwordText.value);
  122.          // blank out password
  123.          form.passwordText.value = "";
  124.          // launch next form
  125.          try {
  126.             form.nextForm.open();
  127.             form.release();
  128.          }
  129.          catch (Exception e) {
  130.             try {
  131.                // try to close the errant form
  132.                form.nextForm.close();
  133.                form.nextForm.release();
  134.             }
  135.             catch (Exception e) {
  136.                // do nothing
  137.             }
  138.             form.messageHTML.text = "Login Error:<br>" + e.message;
  139.             form.pageno = 2;
  140.          }
  141.       }
  142.       catch (SmException e) {
  143.          // test for error conditions and return error form
  144.          if ((e.code == SM_ERROR_INVALID_USERNAME) ||
  145.             (e.code == SM_ERROR_INVALID_PASSWORD))
  146.             form.messageHTML.text = " Invalid user name or password ";
  147.          else
  148.             form.messageHTML.text = e.message + " (" + e.code + ")";
  149.          form.pageno = 2;
  150.       }
  151.    }
  152.  
  153. }
  154.