00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef groups_HPP
00012 #define groups_HPP
00013
00014 #include "read_write_base.hpp"
00015
00016 class groups_Obj: public read_write_base
00017 {
00018 public:
00019 identifier id;
00020 string name;
00021 bool site_admin;
00022
00023 ocString group_roles;
00024 groups_Obj():read_write_base()
00025 ,id(0LL)
00026 ,name("")
00027 ,site_admin(false)
00028 {
00029
00030 data_name("groups");
00031
00032 addDXMap( new llongXfer("id", &id ));
00033 addDXMap( new stringXfer("name", &name ));
00034 addDXMap( new boolXfer("site_admin", &site_admin ));
00035 }
00036
00037 virtual bool setRoles( void )
00038 {
00039 bool bRet = false;
00040 if( group_roles.length() )
00041 {
00042 ocString sql;
00043 ocString sqlStart = "insert into group_roles (group_id,role_id,enabled) values (";
00044 sqlStart.append(id);
00045 sqlStart += ",";
00046 group_roles.parseInit();
00047 while( !group_roles.endOfParse() )
00048 {
00049 sql = sqlStart;
00050 sql += group_roles.parse("|");
00051 sql += ",1)";
00052 bRet = cmd.execute(sql);
00053 if(!bRet) break;
00054 }
00055 }
00056
00057 return bRet;
00058 }
00059
00060
00061 virtual bool deleteRoles( void )
00062 {
00063 bool bRet = false;
00064 ocString sql = "delete from group_roles where group_id = ";
00065 sql.append(id);
00066 bRet = cmd.execute(sql);
00067 return bRet;
00068 }
00069
00070
00071 virtual bool retrieveRoles( void )
00072 {
00073 bool bRet = false;
00074 group_roles = "";
00075 ocString sql = "select role_id from group_roles where group_id = ";
00076 sql.append(id);
00077 if( rs.open(sql) )
00078 {
00079 bRet = true;
00080 bool moreData = true;
00081 do
00082 {
00083 group_roles += rs.getField(0).format();
00084 moreData = rs.next();
00085 if( moreData ) group_roles += "|";
00086 }
00087 while( moreData );
00088 }
00089 return bRet;
00090 }
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105 };
00106 #endif
00107