00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include <iostream>
00015 #include <iomanip>
00016 #include "cgiTemplates.h"
00017 #include "connectstring"
00018 #include "forms.h"
00019 #include "ocTypes.h"
00020 #include "ocString.h"
00021 #include "cgiTemplates.h"
00022
00023 #include "read_write_base.hpp"
00024 #include "list_base.hpp"
00025 #include "forms_base.hpp"
00026 #include "Size_Price.hpp"
00027 #include "openLogin.h"
00028
00029 using namespace std;
00030 openLogin oLogin;
00031
00032 class Size_Price_List: public list_base
00033 {
00034 public:
00035
00036 Size_Price_List(cgiScript&sc):list_base(sc){;}
00037 ~Size_Price_List(){;}
00038
00039 bool list_display( void )
00040 {
00041 bool breturn = true;
00042
00043 hotCol=-2;
00044 editLink = listTemplate.getParagraph("hotcolumn");
00045 editLink = editLink.replace("$prog$","Size_Price_ui.cgi");
00046
00047 string heading =
00048 "<a class='sortcol' href='Size_Price_ui.cgi?sort=sp.Id'>Id</a>|"
00049 "<a class='sortcol' href='Size_Price_ui.cgi?sort=pl.Name'>Product Line</a>|"
00050 "<a class='sortcol' href='Size_Price_ui.cgi?sort=sp.X'>X</a>|"
00051 "<a class='sortcol' href='Size_Price_ui.cgi?sort=sp.Y'>Y</a>|"
00052 "<a class='sortcol' href='Size_Price_ui.cgi?sort=u.Name'>Units</a>|"
00053 "<a class='sortcol' href='Size_Price_ui.cgi?sort=sp.Price'>Price</a>|"
00054 "<a class='sortcol' href='Size_Price_ui.cgi?sort=sp.Shipping'>Shipping</a>|"
00055 "<a class='sortcol' href='Size_Price_ui.cgi?sort=Max_Chars_X'>Max Chars X</a>|"
00056 "<a class='sortcol' href='Size_Price_ui.cgi?sort=Max_Chars_Y'>Max Chars Y</a>"
00057 ;
00058 emitHeadings(heading);
00059 getFilteredData(
00060 "sp.Id, "
00061 "pl.Name, "
00062 "sp.X, "
00063 "sp.Y, "
00064 "u.Name, "
00065 "sp.Price, "
00066 "sp.Shipping, "
00067 "sp.Max_Chars_X, "
00068 "sp.Max_Chars_Y "
00069 ,"Size_Price sp inner join Product_Line pl on pl.Id = sp.Product_Line "
00070 "inner join Unit u on u.Id = sp.Units",
00071 "",
00072 "pl.Name,sp.X,sp.Y" );
00073 emitData();
00074 emitNavigation("Size_Price_ui.cgi");
00075 emitEnd();
00076 return breturn;
00077 }
00078 };
00079
00080 class Size_Price_form: public Size_Price_Obj, public forms_base
00081 {
00082 public:
00083 Size_Price_form(cgiScript & script):Size_Price_Obj(),forms_base(script){setKey(*this);}
00084 virtual ~Size_Price_form(){;}
00085
00086 void form_id_transfer( void )
00087 {
00088 llongFXfer( "Id", Id );
00089 }
00090 void form_data_transfer( void )
00091 {
00092 llongFXfer( "Product_Line", Product_Line);
00093 intFXfer( "X", X);
00094 intFXfer( "Y", Y);
00095 llongFXfer( "Units", Units);
00096 moneyFXfer( "Price", Price);
00097 moneyFXfer( "Shipping", Shipping);
00098 intFXfer( "Max_Chars_X", Max_Chars_X);
00099 intFXfer( "Max_Chars_Y", Max_Chars_Y);
00100 }
00101
00102 bool dbf_action( string mode, changeMap & changes )
00103 {
00104 return db_action( mode, changes );
00105 }
00106
00107
00108 bool form_display( void )
00109 {
00110 bool breturn = true;
00111 ocString sql;
00112
00113 script << makeTop("Size_Price_ui.cgi", "Size_Price")
00114 << formTemplate.getParagraph("advanced_begin");
00115 script << makeStaticBox("Id", "Id", Id ,"8");
00116 script << "<br class='clearall'>" << endl;
00117 script << formTemplate.getParagraph("advanced_end");
00118 sql = "select Id, Name from Product_Line order by Name";
00119 script << makeComboBox("Product_Line", "Product_Line", Product_Line ,sql);
00120 script << "<br class='clearall'>" << endl;
00121 script << makeTextBox("X", "X", X ,"8","8");
00122 script << "<br class='clearall'>" << endl;
00123 script << makeTextBox("Y", "Y", Y ,"8","8");
00124 script << "<br class='clearall'>" << endl;
00125 sql = "select Id, Name from Unit order by Name";
00126 script << makeComboBox("Units", "Units", Units ,sql);
00127 script << "<br class='clearall'>" << endl;
00128 script << makeTextBox("Price", "Price", Price ,"16","16");
00129 script << "<br class='clearall'>" << endl;
00130 script << makeTextBox("Shipping", "Shipping", Shipping ,"16","16");
00131 script << "<br class='clearall'>" << endl;
00132 script << makeTextBox("Max_Chars_X", "Max_Chars_X", Max_Chars_X ,"8","8");
00133 script << "<br class='clearall'>" << endl;
00134 script << makeTextBox("Max_Chars_Y", "Max_Chars_Y", Max_Chars_Y ,"8","8");
00135 script << "<br class='clearall'>" << endl;
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156 script << makeButtons( key() );
00157 script << makeBottom( m_result ) << endl;
00158 return breturn;
00159 }
00160 };
00161
00162
00163 int main( int argcount, char ** args )
00164 {
00165 cgiScript script( "text/html", false );
00166 Size_Price_form myFrm(script);
00167 Size_Price_List mylist(script);
00168 if( oLogin.testLoginStatus() )
00169 {
00170 script.closeHeader();
00171 cgiTemplates pgTemplate;
00172 pgTemplate.load("Templates/adminPane.htmp");
00173
00174 script << ocString(pgTemplate.getParagraph("top"))
00175 .replaceAll("$heading$","Size_Price");
00176
00177 myFrm.loadControlTemplates("Templates/divform.htmp");
00178 myFrm.form_action();
00179 myFrm.form_display();
00180
00181 mylist.loadListTemplates("Templates/list.htmp");
00182 mylist.list_display();
00183
00184 ocString end = pgTemplate.getParagraph("bottom");
00185 script << end;
00186 }
00187 else
00188 {
00189 script.Redirect("signIn.html");
00190 }
00191 }
00192
00193 #include "read_write_base.cpp"
00194 #include "forms_base.cpp"
00195