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_Field.hpp"
00025
00026 class Scheme_Field_List: public list_base
00027 {
00028 public:
00029
00030 Scheme_Field_List(cgiScript&sc,Session_Obj & session):list_base(sc,session){;}
00031 ~Scheme_Field_List(){;}
00032
00033 bool list_display( void )
00034 {
00035 bool breturn = true;
00036 hotCol=-2;
00037 editLink = listTemplate.getParagraph("hotcolumn");
00038 editLink = editLink.replace("$prog$","Scheme_FieldUI.meta");
00039
00040 emitFilter( "Scheme_FieldUI.meta",
00041 " <B>FILTER (by Table Name)</B>" );
00042 string heading =
00043 "<a class='sortcol' href='Scheme_FieldUI.meta?sort=f.Id'>Id</a>|"
00044 "<a class='sortcol' href='Scheme_FieldUI.meta?sort=t.Name'>Table</a>|"
00045 "<a class='sortcol' href='Scheme_FieldUI.meta?sort=f.Name'>Field</a>|"
00046 "<a class='sortcol' href='Scheme_FieldUI.meta?sort=f.Col_Type'>Col_Type</a>"
00047
00048 ;
00049 emitHeadings(heading);
00050 getFilteredData(
00051 "f.Id, "
00052 "t.Name, "
00053 "f.Name, "
00054 "f.Col_Type "
00055 ," Scheme_Field f inner join Scheme_Table t on t.Id = f.Scheme_Table ",
00056
00057 "t.Name like '$filter$%'" );
00058 emitData();
00059 emitNavigation("Scheme_FieldUI.meta");
00060 emitEnd();
00061 return breturn;
00062 }
00063 };
00064
00065 class Scheme_Field_form: public Scheme_Field_Obj, public forms_base
00066 {
00067 public:
00068 Scheme_Field_form(cgiScript & script):Scheme_Field_Obj(),forms_base(script){setKey(*this);}
00069 virtual ~Scheme_Field_form(){;}
00070
00071 void form_id_transfer( void )
00072 {
00073 llongFXfer( "Id", Id );
00074 }
00075 void form_data_transfer( void )
00076 {
00077 llongFXfer( "Scheme_Table", Scheme_Table);
00078 stringFXfer( "Name", Name);
00079 stringFXfer( "Col_Type", Col_Type);
00080 llongFXfer( "Links_To", Links_To);
00081
00082 }
00083
00084 bool dbf_action( string mode, changeMap & changes )
00085 {
00086 return db_action( mode, changes );
00087 }
00088
00089
00090 bool form_display( void )
00091 {
00092 bool breturn = true;
00093 ocString sql;
00094
00095 script << makeTop("Scheme_FieldUI.meta", "Scheme_Field")
00096 << formTemplate.getParagraph("advanced_begin");
00097 script << makeStaticBox("Id", "Id", Id ,"8");
00098 script << "<br class='clearall'>" << endl;
00099 script << formTemplate.getParagraph("advanced_end");
00100 sql = " select Id, Name from Scheme_Table order by Name";
00101 script << makeComboBox("Table", "Scheme_Table", Scheme_Table ,sql);
00102 script << "<br class='clearall'>" << endl;
00103 script << makeTextBox("Name", "Name", Name ,"125","35");
00104 script << "<br class='clearall'>" << endl;
00105 script << makeTextBox("Col Type", "Col_Type", Col_Type ,"125","35");
00106 script << "<br class='clearall'>" << endl;
00107 sql = " select f.Id, concat(t.Name, ', ', f.Name) "
00108 "from Scheme_Field f inner join Scheme_Table t on t.Id = f.Scheme_Table "
00109 "order by t.Name, f.Name";
00110 script << makeComboBox("Links To", "Links_To", Links_To ,sql, "None");
00111 script << "<br class='clearall'>" << endl;
00112
00113 script << makeButtons( key() );
00114 script << makeBottom( m_result ) << endl;
00115 return breturn;
00116 }
00117 };
00118
00119 bool intraMain(page & pg ,cgiScript & script)
00120 {
00121
00122 Scheme_Field_form myFrm(script);
00123 Scheme_Field_List mylist(script,oLogin.Session());
00124
00125 script.closeHeader();
00126
00127 myFrm.loadControlTemplates("Templates/divform.htmp");
00128 myFrm.form_action();
00129 myFrm.form_display();
00130
00131 mylist.loadListTemplates("Templates/navlist.htmp");
00132 mylist.list_display();
00133
00134 return true;
00135 }
00136
00137
00138 int main(int argc, char ** argv)
00139 {
00140 baseUrl = "Scheme_FieldUI.meta";
00141
00142 cgiScript script("text/html",false);
00143 bool isSignedOn = check(script);
00144 script.closeHeader();
00145
00146
00147
00148 script.ScriptName() =
00149 ocString( script.ScriptName().c_str()).replace("Scheme_FieldUI.meta","reports").c_str();
00150 page pg(script);
00151
00152 writelog( "load page" );
00153 if( pg.load() )
00154 {
00155 writelog( "instance of page control" );
00156 page_control ctrl(pg);
00157 ctrl.addOp ( "servicelist", new servicelist_functor(pg,script,isSignedOn) );
00158 ctrl.addOp ( "userinterface", new form_functor(pg,script,isSignedOn) );
00159 writelog( "page control emit" );
00160 ctrl.emit();
00161 }
00162 else
00163 {
00164 script << "<html><head><title>Page Unavailable</title></head>" << endl
00165 << "<body><h1>Sorry</h1>" << endl
00166 << "<p>The page you requested is not available</p></body></html>";
00167 }
00168 return 0;
00169 }
00170
00171
00172 #include "read_write_base.cpp"
00173 #include "forms_base.cpp"
00174