00001
00002
00003
00004
00005
00006
00007 #include "metaconnectstring"
00008 #include <iostream>
00009 #include <iomanip>
00010 #include "ocTypes.h"
00011 #include "ocString.h"
00012 #include "read_write_base.hpp"
00013 #include "forms_base.hpp"
00014 #include "list_base.hpp"
00015 #include "cgiTemplates.h"
00016 #include "roles.hpp"
00017 #include "openLogin.h"
00018 openLogin oLogin;
00019
00020
00021
00022
00023
00024
00025
00026 class roles_Form: public roles, public forms_base
00027 {
00028 public:
00029
00030 roles_Form(cgiScript & script):roles(),forms_base(script){setKey(*this);}
00031 ~roles_Form(){;}
00032
00033 void form_id_transfer( void )
00034 {
00035 llongFXfer( "id", id );
00036 }
00037 void form_data_transfer( void )
00038 {
00039 stringFXfer( "name", name );
00040 stringFXfer( "comment", comment );
00041 stringFXfer( "service_id", role_services);
00042 }
00043
00044
00045
00046 bool dbf_action( string mode, changeMap & changes )
00047 {
00048 return db_action( mode, changes );
00049 }
00050
00051 bool form_display( void )
00052 {
00053 bool breturn = true;
00054 script << makeTop("roles_ui.cgi", "ROLES")
00055 << makeStaticBox("Id","id",id,"12" )
00056 << makeTextBox("Name","name",name,"24")
00057 << makeTextArea("Comments","comment",comment, "2", "50")
00058 << makeComboBox( "Services","service_id",role_services,
00059 "select id, name from services",
00060 "", " multiple='multiple' size='6'" );
00061 script << makeButtons( key() )
00062 << makeBottom( m_result ) << endl;
00063 return breturn;
00064 }
00065
00066
00067
00068 virtual bool isupplemental( void )
00069 {
00070 setServices();
00071 return true;
00072 }
00073 virtual bool usupplemental( changeMap & changes )
00074 {
00075 deleteServices();
00076 setServices();
00077 return true;
00078 }
00079 virtual bool dsupplemental( void )
00080 {
00081 deleteServices();
00082 return true;
00083 }
00084 virtual bool ssupplemental( void )
00085 {
00086 retrieveServices();
00087 return true;
00088 }
00089
00090
00091 };
00092
00093 class roles_List: public list_base
00094 {
00095
00096 public:
00097
00098 roles_List(cgiScript&sc):list_base(sc)
00099 {
00100 ;
00101 }
00102 ~roles_List(){;}
00103
00104 bool list_display( void )
00105 {
00106 bool breturn = true;
00107 editLink = listTemplate.getParagraph("hotcolumn");
00108 editLink = editLink.replace("$prog$","roles_ui.cgi");
00109 hotCol=1;
00110
00111 emitFilter( "roles_ui.cgi",
00112 " <B>FILTER</B>" );
00113
00114 emitHeadings("Id|Role Name");
00115
00116 getFilteredData( "id, name",
00117 "roles",
00118 "name like '$filter$%'",
00119 "name" );
00120 emitData();
00121
00122 emitNavigation("roles_ui.cgi");
00123
00124 emitEnd();
00125 return breturn;
00126 }
00127 void derived_data_event( void )
00128 {
00129
00130 }
00131
00132 };
00133
00134 int main( int argc, char ** argv )
00135 {
00136 cgiScript script( "text/html", false );
00137 roles_Form myFrm(script);
00138 roles_List mylist(script);
00139 if( oLogin.testLoginStatus() )
00140 {
00141 script.closeHeader();
00142 cgiTemplates pgTemplate;
00143 pgTemplate.load("Templates/adminPane.htmp");
00144
00145 script << ocString(pgTemplate.getParagraph("top"))
00146 .replaceAll("$heading$","roles");
00147
00148 myFrm.loadControlTemplates("Templates/form.htmp");
00149 myFrm.form_action();
00150 myFrm.form_display();
00151
00152
00153 mylist.loadListTemplates("Templates/list.htmp");
00154 mylist.list_display();
00155
00156 script << pgTemplate.getParagraph("bottom");
00157 }
00158 else
00159 {
00160 script.Redirect("signIn.html");
00161 }
00162 };
00163
00164
00165 #include "read_write_base.cpp"
00166 #include "forms_base.cpp"
00167
00168
00169