00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include <string>
00015
00016 #include "openLogger.h"
00017 using namespace std;
00018
00019
00020 string baseUrl;
00021 #include "connectstring"
00022
00023 #include "w3intranet.h"
00024 #include "Scheme_Table.hpp"
00025
00026 class Scheme_Table_List: public list_base
00027 {
00028 public:
00029
00030 Scheme_Table_List(cgiScript&sc,Session_Obj & session):list_base(sc,session){;}
00031 ~Scheme_Table_List(){;}
00032
00033 bool list_display( void )
00034 {
00035 bool breturn = true;
00036
00037 hotCol=-2;
00038 editLink = listTemplate.getParagraph("hotcolumn");
00039 editLink = editLink.replace("$prog$","Scheme_TableUI.meta");
00040
00041 emitFilter( "Scheme_TableUI.meta",
00042 " <B>FILTER (by Name)</B>" );
00043 string heading =
00044 "<a class='sortcol' href='Scheme_TableUI.meta?sort=t.Id'>Id</a>|"
00045 "<a class='sortcol' href='Scheme_TableUI.meta?sort=t.Name'>Name</a>|"
00046 "<a class='sortcol' href='Scheme_TableUI.meta?sort=t.Abbr'>Abbr</a>"
00047 ;
00048 emitHeadings(heading);
00049 getFilteredData(
00050 "t.Id, "
00051 "t.Name, "
00052 "t.Abbr "
00053 ,"Scheme_Table t",
00054
00055 "t.Name like '$filter$%'" );
00056 emitData();
00057 emitNavigation("Scheme_TableUI.meta");
00058 emitEnd();
00059 return breturn;
00060 }
00061 };
00062
00063 class Scheme_Table_form: public Scheme_Table_Obj, public forms_base
00064 {
00065 public:
00066 Scheme_Table_form(cgiScript & script):Scheme_Table_Obj(),forms_base(script){setKey(*this);}
00067 virtual ~Scheme_Table_form(){;}
00068
00069 void form_id_transfer( void )
00070 {
00071 llongFXfer( "Id", Id );
00072 }
00073 void form_data_transfer( void )
00074 {
00075 stringFXfer( "Name", Name);
00076 stringFXfer( "Abbr", Abbr);
00077
00078 }
00079
00080 bool dbf_action( string mode, changeMap & changes )
00081 {
00082 return db_action( mode, changes );
00083 }
00084
00085
00086 bool form_display( void )
00087 {
00088 bool breturn = true;
00089 ocString sql;
00090
00091 script << makeTop("Scheme_TableUI.meta", "Schema Table")
00092 << formTemplate.getParagraph("advanced_begin");
00093 script << makeStaticBox("Id", "Id", Id ,"8");
00094 script << "<br class='clearall'>" << endl;
00095 script << formTemplate.getParagraph("advanced_end");
00096
00097 script << makeTextBox("Name", "Name", Name ,"125","35");
00098 script << "<br class='clearall'>" << endl;
00099 script << makeTextBox("Abbr", "Abbr", Abbr ,"125","35");
00100 script << "<br class='clearall'>" << endl;
00101 script << "<a href=\"javascript:jopen('Scheme_Table_Popup.cgi',"
00102 << "'scrollbars,resizable,width=500,height=300','_blank')\">Import Schema</a>";
00103 script << "<br class='clearall'>" << endl;
00104 script << makeButtons( key() );
00105
00106 script << makeBottom( m_result ) << endl;
00107 return breturn;
00108 }
00109 };
00110
00111 bool intraMain(page & pg ,cgiScript & script)
00112 {
00113
00114 Scheme_Table_form myFrm(script);
00115 Scheme_Table_List mylist(script,oLogin.Session());
00116
00117 myFrm.loadControlTemplates("Templates/divform.htmp");
00118 myFrm.form_action();
00119 myFrm.form_display();
00120
00121 mylist.loadListTemplates("Templates/navlist.htmp");
00122 mylist.list_display();
00123
00124 return true;
00125 }
00126
00127
00128 int main(int argc, char ** argv)
00129 {
00130 baseUrl = "Scheme_TableUI.meta";
00131
00132 cgiScript script("text/html",false);
00133 bool isSignedOn = check(script);
00134 script.closeHeader();
00135
00136
00137
00138 script.ScriptName() =
00139 ocString( script.ScriptName().c_str()).replace("Scheme_TableUI.meta","reports").c_str();
00140
00141 page pg(script);
00142
00143 writelog( "load page" );
00144 if( pg.load() )
00145 {
00146 writelog( "instance of page control" );
00147 page_control ctrl(pg);
00148 ctrl.addOp ( "servicelist", new servicelist_functor(pg,script,isSignedOn) );
00149 ctrl.addOp ( "userinterface", new form_functor(pg,script,isSignedOn) );
00150 writelog( "page control emit" );
00151 ctrl.emit();
00152 }
00153 else
00154 {
00155 script << "<html><head><title>Page Unavailable</title></head>" << endl
00156 << "<body><h1>Sorry</h1>" << endl
00157 << "<p>The page you requested is not available</p></body></html>";
00158 }
00159 return 0;
00160 }
00161
00162
00163 #include "read_write_base.cpp"
00164 #include "forms_base.cpp"
00165