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

  1. /****************************************************************************\
  2. *                                                                            *
  3. * GbUpdate.jfm  --  Guest Book Update Form                                   *
  4. *                                                                            *
  5. * GbUpdate.jfm is part of the Guest Book solution application. It is used    *
  6. * to update the guest book entries. The bulk of the form was created by the  *
  7. * expert, but a couple interesting things were added. Note the header script *
  8. * right below this comment. It creates the login form and opens the login    *
  9. * form instead of this update form. Only a successful login will cause the   *
  10. * update form itself to open.                                                *
  11. *                                                                            *
  12. * Dependencies:  gestbk31.gif                                                *
  13. *                homepg31.gif                                                *
  14. *                expinavh.gif                                                *
  15. *                expirowh.gif                                                *
  16. *                apps/shared/controls.cc                                     *
  17. *                                                                            *
  18. * Links to:      ibapps/index.htm                                            *
  19. *                                                                            *
  20. * Updated 11/12/96 by IntraBuilder Samples Group                             *
  21. * $Revision:   1.7  $                                                        *
  22. *                                                                            *
  23. * Copyright (c) 1996, Borland International, Inc. All rights reserved.       *
  24. *                                                                            *
  25. \****************************************************************************/
  26. #include "intra.h"
  27. #include "security.h"
  28. //
  29. // The code loads the security login form instead of the update form.
  30. // An object reference to the update form is stored as a property of
  31. // the login form. If the login is successful, the login form opens
  32. // this update form.
  33. // 
  34. // First create the update form, but don't open it.
  35. var f = new gbupdateForm();
  36. // then create a security object
  37. _sys.scripts.load(SM_CLASS_LOCATION + "security.js");
  38. f.security = new SecurityManager();
  39. // then create the login form
  40. _sys.scripts.load("gblogin.jfm");
  41. var login = new gbloginForm();
  42. // the login form requires two custom properties be set
  43. login.security = f.security;
  44. login.nextForm = f;
  45. // finally, open the login form
  46. login.open();
  47. return;
  48. // {End Header} Do not remove this comment//
  49. // Generated on 11/12/96
  50. //
  51. var f = new gbupdateForm();
  52. f.open();
  53. class gbupdateForm extends Form {
  54.    _sys.scripts.load(_sys.env.home() + "APPS\\SHARED\\CONTROLS.CC")
  55.    with (this) {
  56.       preRender = class::Form_preRender;
  57.       color = "a4d5ff";
  58.       height = 13.6667;
  59.       left = 0;
  60.       top = 0;
  61.       width = 76;
  62.       title = "Guest Book Update";
  63.    }
  64.  
  65.  
  66.    with (this.ibapps1 = new Database()){
  67.       left = 68;
  68.       top = 2;
  69.       databaseName = "IBAPPS";
  70.       active = true;
  71.    }
  72.  
  73.  
  74.    with (this.guest1 = new Query()){
  75.       left = 62;
  76.       top = 2;
  77.       database = parent.ibapps1;
  78.       sql = "SELECT * FROM guest";
  79.  
  80.       active = true;
  81.    }
  82.  
  83.  
  84.    with (this.guest1.rowset) {
  85.  
  86.       autoEdit = false;
  87.       filterOptions = 3;
  88.       locateOptions = 3;
  89.    }
  90.  
  91.  
  92.    with (this.rule1 = new Rule(this)){
  93.       top = 4;
  94.       size = 2;
  95.       right = 70;
  96.       pageno = 0;
  97.    }
  98.  
  99.  
  100.    with (this.rule2 = new Rule(this)){
  101.       top = 15.5;
  102.       size = 2;
  103.       right = 70;
  104.       pageno = 0;
  105.    }
  106.  
  107.  
  108.    with (this.rule3 = new Rule(this)){
  109.       top = 20;
  110.       size = 2;
  111.       right = 70;
  112.       pageno = 0;
  113.    }
  114.  
  115.  
  116.    with (this.guestBookLogo = new Image(this)){
  117.       height = 3.4167;
  118.       width = 10.25;
  119.       dataSource = "filename GESTBK31.GIF";
  120.       alignment = 4;
  121.       pageno = 0;
  122.    }
  123.  
  124.  
  125.    with (this.titleHTML = new HTML(this)){
  126.       height = 2;
  127.       left = 12;
  128.       width = 58;
  129.       color = "steelblue";
  130.       text = '<H1><FONT SIZE="+4"><FONT COLOR="mediumvioletred">G</FONT></FONT>uest <FONT SIZE="+4"><FONT COLOR="mediumvioletred">B</FONT></FONT>ook <FONT SIZE="+4"><FONT COLOR="mediumvioletred">U</FONT></FONT>pdate</H1>';
  131.       pageno = 0;
  132.    }
  133.  
  134.  
  135.    with (this.navImage = new Image(this)){
  136.       onImageServerClick = {|nLeft, nTop|;if (nLeft >= 26*0 && nLeft < 26*1){form.rowset.first()}else if (nLeft >= 26*1 && nLeft < 26*2){if (!form.rowset.next(-1)) form.rowset.next();}else if (nLeft >= 26*2 && nLeft < 26*3){if (!form.rowset.next()) form.rowset.next(-1);}else{form.rowset.last()}};
  137.       height = 0.9583;
  138.       left = 12;
  139.       top = 2;
  140.       width = 13;
  141.       dataSource = "filename EXPINAVH.GIF";
  142.       alignment = 4;
  143.    }
  144.  
  145.  
  146.    with (this.editImage = new Image(this)){
  147.       onImageServerClick = {|nLeft, nTop|;if (nLeft >= 26*0 && nLeft < 26*1){form.rowset.beginAppend()}else if (nLeft >= 26*1 && nLeft < 26*2){if (!form.rowset.endOfSet) form.rowset.delete(); if (form.rowset.endOfSet) form.rowset.next(-1);}else if (nLeft >= 26*2 && nLeft < 26*3){form.rowset.save()}else if (nLeft >= 26*3 && nLeft < 26*4){form.rowset.abandon()}else if (nLeft >= 26*4 && nLeft < 26*5){form.rowset.beginEdit()}else if (nLeft >= 26*5 && nLeft < 26*6){with(this) {if (form.rowset.state==5) {text="New Query";form.rowset.applyLocate();} else {text="Run Query";form.rowset.beginLocate();}}}else{with(this) {if (form.rowset.state==4) {text="New Filter";form.rowset.applyFilter();} else {text="Run Filter";form.rowset.beginFilter();}}}};
  148.       height = 0.9583;
  149.       left = 30;
  150.       top = 2;
  151.       width = 22.75;
  152.       dataSource = "filename EXPIROWH.GIF";
  153.       alignment = 4;
  154.    }
  155.  
  156.  
  157.    with (this.visitHTML = new HTML(this)){
  158.       height = 1;
  159.       top = 5;
  160.       width = 14;
  161.       color = "black";
  162.       text = "Visit time";
  163.    }
  164.  
  165.  
  166.    with (this.visitText = new Text(this)){
  167.       left = 14;
  168.       top = 5;
  169.       width = 16;
  170.       dataLink = parent.guest1.rowset.fields["VisitTime"];
  171.    }
  172.  
  173.  
  174.    with (this.nameHTML = new HTML(this)){
  175.       height = 1;
  176.       top = 6;
  177.       width = 14;
  178.       color = "black";
  179.       text = "Full name";
  180.    }
  181.  
  182.  
  183.    with (this.nameText = new Text(this)){
  184.       left = 14;
  185.       top = 6;
  186.       width = 33;
  187.       dataLink = parent.guest1.rowset.fields["FullName"];
  188.    }
  189.  
  190.  
  191.    with (this.emailHTML = new HTML(this)){
  192.       height = 1;
  193.       top = 7;
  194.       width = 14;
  195.       color = "black";
  196.       text = "Email address";
  197.    }
  198.  
  199.  
  200.    with (this.emailText = new Text(this)){
  201.       left = 14;
  202.       top = 7;
  203.       width = 33;
  204.       dataLink = parent.guest1.rowset.fields["Email"];
  205.    }
  206.  
  207.  
  208.    with (this.whereHTML = new HTML(this)){
  209.       height = 1;
  210.       top = 8;
  211.       width = 14;
  212.       color = "black";
  213.       text = "Where from";
  214.    }
  215.  
  216.  
  217.    with (this.whereText = new Text(this)){
  218.       left = 14;
  219.       top = 8;
  220.       width = 33;
  221.       dataLink = parent.guest1.rowset.fields["WhereFrom"];
  222.    }
  223.  
  224.  
  225.    with (this.firstVisitCheck = new CheckBox(this)){
  226.       height = 1;
  227.       left = 14;
  228.       top = 9;
  229.       width = 17;
  230.       text = "First visit";
  231.       dataLink = parent.guest1.rowset.fields["FirstVisit"];
  232.    }
  233.  
  234.  
  235.    with (this.commentHTML = new HTML(this)){
  236.       height = 1;
  237.       top = 10;
  238.       width = 14;
  239.       color = "black";
  240.       text = "Comment";
  241.    }
  242.  
  243.  
  244.    with (this.commitTextArea = new TextArea(this)){
  245.       height = 5;
  246.       left = 14;
  247.       top = 10;
  248.       width = 52;
  249.       dataLink = parent.guest1.rowset.fields["Comment"];
  250.    }
  251.  
  252.  
  253.    with (this.homePageLinkImage = new Image(this)){
  254.       onImageClick = class::link_to_home_page;
  255.       height = 3.4167;
  256.       top = 16;
  257.       width = 10.25;
  258.       dataSource = "filename HOMEPG31.GIF";
  259.       alignment = 4;
  260.       pageno = 0;
  261.    }
  262.  
  263.  
  264.    with (this.homePageLinkHTML = new HTML(this)){
  265.       height = 1;
  266.       left = 12;
  267.       top = 16;
  268.       width = 58;
  269.       color = "black";
  270.       text = "<A HREF='/ibapps/index.htm'>Return to Home Page</A>";
  271.       pageno = 0;
  272.    }
  273.  
  274.  
  275.    with (this.generatedHTML1 = new GeneratedHTML(this)){
  276.       height = 1;
  277.       top = 20.5;
  278.       width = 70;
  279.       pageno = 0;
  280.    }
  281.  
  282.  
  283.    with (this.errorHTML = new HTML(this)){
  284.       height = 4;
  285.       top = 5;
  286.       width = 60;
  287.       color = "black";
  288.       text = "error";
  289.       pageno = 2;
  290.    }
  291.  
  292.    this.rowset = this.guest1.rowset;
  293.  
  294.    function link_to_home_page()
  295.    {
  296.       location.href="/ibapps/index.htm";
  297.    }
  298.  
  299.    function Form_preRender() 
  300.    {
  301.       // see if the logged in user has access to the guest book update form
  302.       try {
  303.          if (!this.security.hasAccessTo("guestbook")) {
  304.             this.errorHTML.text = "Error: Insufficient rights to update Guest Book data.";
  305.             this.pageno = 2;
  306.          }
  307.       }
  308.       catch (Exception e) {
  309.          this.errorHTML.text = "An error occured loading the update form. " +
  310.                                e.message() + " (" + e.code + ")";
  311.          this.pageno = 2;
  312.       }
  313.    }
  314.  
  315. }
  316.