heitml Source Display

File: /usr/local/httpd/htdocs/mpdata/lib/buttons.hei


<defclass 
btnSearch; inherit formbutton;
        
def process pff;

                se.p.sKey = pff.sKey;
                pff.sKey = 
"";
                se.p.current_id = default(pff.pal, se.p.current_id);
                se.p.by = pff.by;

                
return null;
        
/def;
/defclass;

defclass obtnSearch; inherit formbutton;
         
def process pff;
         se.p.sKey = pff.sKey;
         se.p.current_id=default(pfff.pal, se.p.current_id);
         
return null;
        
/def;
/defclass;








defclass addPal; inherit formbutton;
        
def process pff;
                
if !isinteger(integer(pff.no)) || pff.no &lt 1;
                        
return "Not a number or invalid number (" + pff.no + ")";
                
/if;

        
        dbquery p>
                        SELECT parliamentname FROM tblparliament WHERE parliamentname=<? pff.no "Q">
                        <dbrow; return "Parliament " + pff.no + " already exists!!!";
                        
dbempty;
                                
dbupdate>
                                        <dbquery q> select max(parliamentno)rid from tblparliament
                                                <dbrow>                
                                                        INsERT INTO tblparliament(parliamentno,parliamentname,
                                                        description,startdate,enddate)values( <? integer(q.rid) + 1 >,
                                                        <? pff.no>,<? pff.desc "Q">,
                                                        to_date(<? pff.startdate "Q">, 'dd/mm/yyyy'),
                                                        to_date(<? pff.enddate "Q">, 'dd/mm/yyyy'))              
                                        </dbquery>      
                                </dbupdate;                             
                
/dbquery;
                pff.desc = 
"";
                se.p.addsuccess = 
"Parliament (" +  pff.no  + ") saved successfully.";          
                pff.no = 
"";
                pff.startdate = 
"";
                pff.enddate = 
"";
                
return null;
        
/def;
/defclass;

defclass savepal; inherit formbutton;
        
def process pff;

                
/*if !isinteger(integer(pff.parliamentname)) || pff.parliamentname &lt 1;
                        return "Not a number or invalid number (" + pff.parliamentname + ")";
                /if;*/

                
        
        dbquery q>
                        SELECT parliamentname FROM tblparliament WHERE parliamentno != <? pff.parliamentno> AND parliamentname=<? pff.parliamentname>
                        <dbrow; return "This will create a duplicate of parliament " + pff.parliamentname;
                        
dbempty;
                                
dbupdate>
                                        update tblparliament set parliamentname = <? pff.parliamentname>,
                                        description = <? pff.description "Q">,startdate = to_date(<? pff.startdate "Q">, 'dd/mm/yyyy'),
                                        enddate =  to_date(<? pff.enddate "Q">, 'dd/mm/yyyy') where parliamentno = <? pff.parliamentno>
                                        /* UPDATE p_parliaments SET p_no=<? pff.parliamentname>, description=<? pff.description "Q"> WHERE id=<? pff.id>*/
                                </dbupdate;
                                
// se.p.addsuccess = "(" + pff.parliamentname + ") Parliament added successfully.";
                                se.p.addsuccess = 
"Parliament (" +  pff.parliamentname  + ") saved successfully.";
                                pff.parliamentname = 
"";
                                pff.description = 
"";
                                pff.startdate = 
"";
                                pff.enddate = 
"";
                                
return null;
                
/dbquery;
        
/def;
/defclass;

defclass addmember; inherit formbutton;
        
def process pff;
                
/*if !isinteger(integer(pff.date_year)) || pff.date_year &lt 0; // invalid year for date of birth
                        return "Invalid year given for date of birth";
                elsif len(pff.date_year) == 2 || len(pff.date_year) == 4; // Ok so far
                        if chk_email(pff.email) != null;
                                return chk_email(pff.email);
                        /if;
                        if !isinteger(integer(pff.serv_year)) || pff.serv_year &lt 0; // invalid year for date of start of service term
                                return "Invalid year given for date of start of term of service";
                        elsif len(pff.serv_year) == 2 || len(pff.serv_year) == 4;       // all Ok
                                se.p.temp = copy(pff); // for use by upload.hei ... maybe mps.hei
                                pff.sname = "";
                                pff.onames = "";
                                pff.title = "";
                                pff.profession = "";
                                pff.date_year = "";
                                pff.buss_add = "";
                                pff.home_add = "";
                                pff.email = "";
                                pff.qualification = "";
                                pff.emp_rec = "";
                                pff.special_ints = "";
                                pff.serv_year = "";
                                se.p.tmp = "force";
                                return null;                            // just pretence
                        else;
                                return "Invalid year given for date of start of term of service";
                        /if;
                else;
                        return "Invalid year given for data of birth";
                /if;*/

                
                
// if chk_email(pff.email) != null;
            
//          return chk_email(pff.email);
                
// /if;
                
                se.p.temp = copy(pff); 
// for use by upload.hei ... maybe mps.hei
                                pff.surname = 
"";
                                pff.othernames = 
"";
                                pff.title = 
"";
                                pff.profession = 
"";
                                pff.dob = 
"";
                                pff.businessadd = 
"";
                                pff.physicaladd = 
"";
                                pff.postaladd = 
"";
                                pff.mobile = 
"";
                                pff.landline = 
"";
                                pff.email = 
"";
                                pff.qualification = 
"";
                                pff.employment = 
"";
                                pff.interest = 
"";
                                pff.Ccode = 
"";
                                
// pff.serv_year = "";
                                se.p.tmp = 
"force";
                                
return null;                                    
        
/def;
/defclass;

defclass addhans; inherit formbutton;
        
def process pff;
                se.p.hans = copy(pff);
                pff.date=
"";
                pff.title=
"";
                se.p.hanstmp = 
"force";
                
return null;                                    
        
/def;
/defclass;

defclass addmp; inherit formbutton;     
        
def process pff;                
                
dbupdate>
                        <dbquery d>
                                select max(m.mpid) rid from tblmp m
                                        <dbrow>
                                                INsERT INTO tblmp(mpid,mpno,parliamentno,constituencyno,
                                                partyno,mpstatusno,mpstartdate,mpenddate)values
                                                ( <? integer(d.rid) + 1 >,<? pff.mpn>,<? pff.parliamentcode "Q">,
                                                <? pff.Ccode "Q">,<? pff.partycode "Q">,<? pff.mpstatuscode "Q">,
                                                to_date(<? pff.mpstartdate "Q">,'dd/mm/yyyy'),
                                                to_date(<? pff.mpenddate "Q">,'dd/mm/yyyy'))
                                                <dbquery w>
                                                        select mp.surname,mp.othernames from tblmp M,tblmpname MP where mp.mpno=<? pff.mpn;
                                                        
dbrow;
                                                                se.p.addsuccess = 
"MP " + w.surname +'  -       ' + w.othernames  + " added successfully.";     
                                                
/dbquery;
                        
/dbquery;
                
/dbupdate;                      
                pff.mpenddate=null;
                pff.mpstartdate =null;
                pff.mpstatuscode=null;
                pff.partycode=null;
                pff.parliamentcode=null;
                pff.mp=null;
                pff.mpn=null;
                pff.constituencycode=null;
                pff.Ccode=null;
                pff.district=null;
                
                
return null;
                
        
/def;
/defclass;

defclass savemp; inherit formbutton;
        
def process pff;
                
if !isempty(pff.Ccode);
                        
 dbquery q>
                         select surname, othernames from tblmpname where mpno=<? pff.mpn;
                        
/*      SELECT mpno FROM tblmp WHERE mpid != <? pff.mpid> AND mpno=<? pff.mpid>*/
                        
//      <dbrow; return "MP " + pff.mpid + " already exists!!!";
                        
//      dbempty;
                                        
dbupdate>                                               
                                                update tblmp set mpno = <? pff.mpn >, parliamentno = <? pff.parliamentno >,
                                                constituencyno = <? pff.Ccode >, partyno= <? pff.partyno>,
                                                mpstatusno = <? pff.mpstatusno "Q"> ,mpstartdate= to_date(<? pff.mpstartdate "Q">,'dd/mm/yyyy'),
                                                mpenddate= to_date(<? pff.mpenddate "Q">,'dd/mm/yyyy') 
                                                WHERE mpid=<? pff.idhidden;
                                                
/* UPDATE tblmp SET mpstartdate= to_date(<? pff.mpstartdate "Q">,'dd/mm/yyyy') WHERE mpid=<? pff.mpid;*/                                                                        
                                        
                                        
/dbupdate;
                                        
dbrow;
                                        se.p.addsuccess = 
"MP (" + q. surname + '       -       '+ q.othernames+ ") saved successfully.";
                                        pff.districtno=null;
                                        pff.Ccode=null;
                                        pff.mpn=null;
                                        pff.partyno=null;
                                        pff.mpstatusno=null;
                                        pff.mpstartdate=null;
                                        pff.mpenddate=null;             
                                                
                                        
return null;
                         
/dbquery;
                
else
                
        dbquery q>
                        select surname, othernames from tblmpname where mpno=<? pff.mpno;
                        
/* SELECT mpno FROM tblmp WHERE mpid != <? pff.mpid> AND mpno=<? pff.mpno>*/
                        
// <dbrow; return "MP " + pff.mpno + " already exists!!!";
                        
// dbempty;
                                
dbupdate>
                                        update tblmp set mpno = <? pff.mpno >, parliamentno = <? pff.parliamentno >,
                                                constituencyno = <? pff.constituencyno >, partyno= <? pff.partyno>,
                                                mpstatusno = <? pff.mpstatusno "Q"> ,mpstartdate= to_date(<? pff.mpstartdate "Q">,'dd/mm/yyyy'),
                                                mpenddate= to_date(<? pff.mpenddate "Q">,'dd/mm/yyyy') 
                                                WHERE mpid=<? pff.idhidden;
                                
/dbupdate;
                                
dbrow;
                                se.p.addsuccess = 
"MP (" + q.surname + '        -       ' +  q.othernames+ ") saved successfully.";
                                pff.parliamentno=null;
                                pff.districtno=null;
                                pff.constituencyno=null;
                                pff.mpno=null;
                                pff.partyno=null;
                                pff.mpstatusno=null;
                                pff.mpstartdate=null;
                                pff.mpenddate=null;                                     
                                
return null;
                        
/dbquery;       
                
/if;
        
/def;
/defclass;



defclass addDist; inherit formbutton;
        
def process pff;
        
        dbquery q>
                        SELECT districtname FROM tbldistrict WHERE districtname=<? pff.districtname "Q";
                        
dbrow; return "District already exists";
                        
dbempty;
                                
dbupdate>
                                        <dbquery d>
                                                select max(districtno) rid from tbldistrict
                                                <dbrow>
                                                        INSERT INTO  tbldistrict (districtno,districtcode,districtname) VALUES (<? integer(d.rid) + 1 ><? pff.districtcode "Q">,<? pff.districtname "Q">)
                                        </dbquery>
                                </dbupdate;
                                se.p.addsuccess = 
"District (" + pff.districtname + ") added successfully.";
                                pff.districtcode = 
"";
                                pff.districtname = 
"";
                                
return null;
                
/dbquery;
        
/def;
/defclass;

defclass savedist; inherit formbutton;
        
def process pff;                
        
        dbquery q>
                        SELECT districtname FROM tbldistrict WHERE districtno != <? pff.districtno> AND districtname=<? pff.districtname "Q">
                        <dbrow; return "District " + pff.districtname + " already exists!!!";
                        
dbempty;
                                
dbupdate>
                                        UPDATE tbldistrict SET districtname=<? pff.districtname "Q">,districtcode=<? pff.districtcode "Q"> WHERE districtno=<? pff.districtno;
                                
/dbupdate;
                                se.p.addsuccess = 
"District (" + pff.districtname + ") saved successfully.";
                                pff.districtcode = 
"";
                                pff.districtname = 
"";
                                
return null;
                
/dbquery;               
        
/def;
/defclass;


defclass addconst1; inherit formbutton;
        
def process pff;
        
        dbquery q>
                        SELECT * FROM tblconstituency WHERE constituencyname=<? pff.constituencyname "Q"> AND districtno=<? pff.districtno;
                        
dbrow; return "Constituency already exists";
                        
dbempty;
                                
// dbupdate>
                                
//      <dbquery d>
                                
//              select max(constituencyno) rid from tblconstituency
                                
//              <dbrow>
                                
//                      INSERT INTO  tbldistrict (districtno,constituencycode,constituencyname) 
                                
//                      VALUES (<? integer(d.rid) + 1 >, <? pff.district "Q">,<? pff.constituencycode>,
                                
//                      <? pff.constituencyname "Q">)
                                
//      </dbquery>                              
                                
// </dbupdate;
                                
// se.p.addsuccess = "Constituency " + pff.constituencyname + " added successfully.";
                                
// pff.constituencycode = "";
                                
// pff.constituencyname = "";
                                
return null;
                   
/dbquery;            
        
/def;
/defclass;

defclass addcons; inherit formbutton;
        
def process pff;
                
    dbquery q>
                        SELECT constituencyname FROM tblconstituency  WHERE constituencyname=<? pff.constituencyname "Q"> 
                        AND districtno=<? pff.district; 
                    
dbrow; return "Constituency " + pff.constituencyname + " already exists!!!";
                            
dbrow;  return "Constituency " + pff.constituencyname + " already exists!!!";
                            
dbempty;
                                
dbupdate>
                                        <dbquery d>
                                                select max(constituencyno) rid from tblconstituency
                                                <dbrow>
                                                        INSERT INTO  tblconstituency (CONSTITUENCYNO,districtno,constituencycode,constituencyname) 
                                                        VALUES (<? integer(d.rid) + 1 ><? pff.district "Q">,<? pff.constituencycode>,
                                                        <? pff.constituencyname "Q">)
                                        </dbquery>                              
                                </dbupdate;
                                se.p.addsuccess = 
"Constituency (" + pff.constituencyname + ") added successfully.";
                                pff.district = 
"";
                                pff.constituencycode = 
"";
                                pff.constituencyname = 
"";
                                
return null;
                 
/dbquery;               
        
/def;
/defclass;


defclass saveconst; inherit formbutton;
        
def process pff;
        
        dbquery q>
                        SELECT * FROM tblconstituency WHERE constituencyno != <? pff.constituencyno> 
                        AND constituencyname=<? pff.constituencyname "Q"> AND districtno=<? pff.districtno;
                        
dbrow; return "Constituency " + pff.constituencyname + " already exists!!!";
                        
dbempty;
                                
dbupdate>
                                        UPDATE tblconstituency SET constituencycode=<? pff.constituencycode>,
                                        constituencyname=<? pff.constituencyname "Q">, districtno=<? pff.districtno> 
                                                WHERE constituencyno=<? pff.constituencyno;
                                
/dbupdate;
                                se.p.addsuccess = 
"Constituency (" + pff.constituencyname + ") saved successfully.";
                                pff.district = 
"";
                                pff.constituencycode = 
"";
                                pff.constituencyname = 
"";
                                
return null;
                
/dbquery;
                
// return null;
        
/def;
/defclass;

defclass addcomm; inherit formbutton;
        
def process pff;
        
        dbquery q>
                        SELECT committeename FROM tblcommittee WHERE committeename=<? pff.committeename "Q";
                        
dbrow; return "Committee already exists";
                        
dbempty;
                                
dbupdate>
                                        <dbquery d> select max(committeeno)rid from tblcommittee                                                
                                                <dbrow>
                                                INsERT INTO tblcommittee(committeeno,parliamentno,committeetypeno,committeename,
                                                description,committeestartdate,committeeenddate)values( <? integer(d.rid) + 1 >,
                                                <? pff.parliament "Q">,<? pff.committeetypecode "Q">,<? pff.committeename "Q">,
                                                <? pff.committeedescription "Q">,to_date(<? pff.comstartdte "Q">, 'dd/mm/yyyy'), 
                                                to_date(<? pff.comenddte "Q">, 'dd/mm/yyyy'))                                           
                                        </dbquery>
                                </dbupdate;
                                se.p.addsuccess = 
"Committee (" + pff.committeename + ") added successfully.";
                                pff.parliament = 
"";
                                pff.committeename = 
"";
                                pff.committeetypecode = 
"";
                                pff.committeedescription = 
"";
                                pff.comstartdte = 
"";
                                pff.comenddte = 
"";
                                
return null;
                
/dbquery;               
        
/def;
/defclass;

defclass savecomm; inherit formbutton;
        
def process pff;
        
        dbquery q>
                         SELECT committeename FROM tblcommittee WHERE committeeno = <? pff.committeeno>                 
                        // SELECT committeename FROM tblcommittee WHERE committeeno != <? pff.committeeno> AND committeename=<? pff.nme "Q">
                         <dbrow; 
// return "Committee " + pff.nme + " already exists!!!";
//                       dbempty;
                                
dbupdate>
                                        UPDATE tblcommittee
                                                SET parliamentno=<? pff.par>,committeetypeno= <? pff.committeetypeno>,
                                                committeename=<? pff.nme "Q">, description=<? pff.descr "Q">,
                                                committeestartdate = to_date(<? pff.startdate "Q">, 'dd/mm/yyyy'),
                                                committeeenddate = to_date(<? pff.enddate "Q">, 'dd/mm/yyyy')                                   
                                                WHERE committeeno=<? pff.committeeno;
                                
/dbupdate;
                                se.p.addsuccess = 
"Committee (" + pff.nme + ") saved successfully.";
                                pff.par = 
"";
                                pff.nme = 
"";
                                pff.committeetypeno = 
"";
                                pff.descr = 
"";
                                pff.startdate = 
"";
                                pff.enddate = 
"";
                                
return null;
                
/dbquery;               
        
/def;
/defclass;


defclass addprof; inherit formbutton;
        
def process pff;
        
        dbquery q>
                        SELECT constituencyno FROM tblconstituencyprofile WHERE constituencyno = <? pff.Ccode "Q";
                        
dbrow; return "Profile already exists";
                        
dbempty;
                                
dbupdate>
                                        <dbquery d> select max(constituencyprofileno)rid from tblconstituencyprofile                                            
                                                <dbrow>
                                                // INsERT INTO tblconstituencyprofile(constituencyprofileno,constituencyno,majortribes,population,voters)
                                                INSERT INTO tblconstituencyprofile(CONSTITUENCYPROFILENO, CONSTITUENCYNO, MAJORTRIBES, POPULATION, VOTERS, UPEPS, PRIVATEPS, USESC, PRIVATESC,
                                                HOSPITALS, HCIV, HCIII, AREA, ACTIVITIES, SUBCOUNTIES, LITERACYRATE, SRCDWATER, MAJORTOWNS)
                                                values( <? integer(d.rid) + 1 >,<? pff.Ccode "Q">,<? pff.majortribes "Q">,<? pff.population "Q">,<? pff.voters "Q">,<? pff.UPEPS "Q">,<? pff.privateps "Q">,<? pff.usesc "Q">,<? pff.privatesc "Q">,
                                                <? pff.hospitals "Q">,<? pff.HCIV "Q">,<? pff.HCIII "Q">,<? pff.AREA "Q">,<? pff.ACTIVITIES "Q">,<? pff.subcounties "Q">,<? pff.literacyrate "Q">,<? pff.srcdwater "Q">,<? pff.majortowns "Q">)                                                 
                                        </dbquery>
                                </dbupdate;
                                se.p.addsuccess = 
"Profile for " + pff.Ccode+ " added successfully.";
                                pff.districtcode = 
"";  
                                pff.constituencycode = 
"";
                                pff.MAJORTRIBES = 
"";   
                                pff.POPULATION = 
"";    
                                pff.VOTERS = 
"";        
                                pff.UPEPS = 
"";         
                                pff.PRIVATEPS = 
"";     
                                pff.USESC = 
"";         
                                pff.PRIVATESC = 
"";     
                                pff.HOSPITALS = 
"";     
                                pff.HCIV = 
"";          
                                pff.HCIII = 
"";         
                                pff.AREA = 
"";          
                                pff.ACTIVITIES = 
"";    
                                pff.SUBCOUNTIES = 
"";   
                                pff.LITERACYRATE = 
"";  
                                pff.SRCDWATER = 
"";     
                                pff.MAJORTOWNS = 
"";    
                        
                                
return null;
                
/dbquery;               
        
/def;
/defclass;



defclass saveprof; inherit formbutton;
        
def process pff;        
                
dbupdate>
                        UPDATE tblconstituencyprofile
                                SET constituencyno=
                                <if !isempty(pff.Ccode)>
                                        <? pff.Ccode>,
                                <else>
                                        <? pff.constituencyno>,
                                </if>
                                majortribes= <? pff.majortribes "Q">,
                                population=<? pff.population "Q">, voters=<? pff.voters "Q">,
                                UPEPS=<? pff.UPEPS "Q">,privateps=<? pff.privateps "Q">,usesc=<? pff.usesc "Q">,privatesc=<? pff.privatesc "Q">,
                                hospitals=<? pff.hospitals "Q">,HCIV=<? pff.HCIV "Q">,HCIII=<? pff.HCIII "Q">,area=<? pff.AREA "Q">,activities=<? pff.ACTIVITIES "Q">,
                                subcounties=<? pff.subcounties "Q">,literacyrate=<? pff.literacyrate "Q">,srcdwater=<? pff.srcdwater "Q">,Majortowns=<? pff.majortowns "Q">                                                     
                                WHERE constituencyprofileno=<? pff.constituencyprofileno;
                
/dbupdate;
                
//  se.p.addsuccess = "Profile for  " + pff.Ccode+ " added successfully.";
                se.p.addsuccess = 
"Profile for  " +  pff.constituencyprofileno + "   saved successfully.";
                pff.majortribe = 
"";
                pff.abc = 
"";
                pff.xyz = 
"";                           
                
return null;                    
                
// /dbquery;    
        
/def;
/defclass;


defclass addpaty; inherit formbutton;
        
def process pff;
        
        dbquery q>
                        SELECT partyname FROM tblparty WHERE partyname=<? pff.partyname "Q";
                        
dbrow; return "party already exists";
                        
dbempty;
                                
dbupdate>
                                        <dbquery d>
                                                select max(partyno) rid from tblparty
                                                <dbrow>
                                                        INSERT INTO  tblparty (partyno,partyname,description) 
                                                        VALUES (<? integer(d.rid) + 1 ><? pff.partyname "Q">,<? pff.partydesc "Q">)
                                        </dbquery>
                                </dbupdate;
                                se.p.addsuccess = 
"Party (" + pff.partyname + ") added successfully.";
                                pff.partyname = 
"";
                                pff.partydesc = 
"";
                                
return null;
                
/dbquery;
        
/def;
/defclass;

defclass savepaty; inherit formbutton;
        
def process pff;
        
        dbquery q>
                        SELECT partyname FROM tblparty WHERE partyno != <? pff.partyno> AND partyname=<? pff.partyname "Q">
                        <dbrow; return "Party " + pff.partyname + " already exists!!!";
                        
dbempty;
                                
dbupdate>
                                        UPDATE tblparty SET partyname=<? pff.partyname "Q">, DESCRIPTION = <? pff.description "Q"> WHERE partyno=<? pff.partyno;
                                
/dbupdate;
                                se.p.addsuccess = 
"Party (" + pff.partyname + ") saved successfully.";
                                pff.partyname = 
"";
                                pff.description = 
"";
                                
return null;
                
/dbquery;
        
/def;
/defclass;




defclass addorder; inherit formbutton;
        
def process pff;
                
if len(pff.ordertime) == 1;
                        
let ordertime = pff.ordertime +":00";
                
elsif len(pff.ordertime) == 2;  
                        
let ordertime = pff.ordertime +":00";
                
else;
                        
let ordertime = pff.ordertime;
                
/if;
                
                
                
dbupdate>                                       
                        <dbquery d>
                                select max(orderno) rid from tblorder
                                <dbrow>                                                 
                                        INSERT INTO  tblorder(orderno,parliamentno,parlsession,meeting,sitting,orderdate,ordertime) 
                                        VALUES (<? integer(d.rid) + 1 >,3,<? pff.session>,<? pff.meeting>,<? pff.sitting>,to_date(<?pff.orderdate "Q">,'dd/mm/yyyy'),<? ordertime "Q">)         
                        </dbquery>                                              
                </dbupdate;
                se.p.addsuccess = 
"order paper for (" + pff.orderdate + ") added successfully.";
                pff.session = 
"";
                pff.meeting = 
"";
                pff.sitting = 
"";       
                pff.orderdate = 
"";
                pff.ordertime = 
"";
                
return null;                    
        
/def;
/defclass;

defclass additem; inherit formbutton;
        
def process pff;
                
let tmpItem=0;
                
dbupdate>                                       
                        <dbquery d>
                                select max(itemno) rid from tblitem
                                <dbrow>                                                 
                                        INSERT INTO  tblitem(itemno,orderno,item,bfollow) 
                                        VALUES (<? integer(d.rid) + 1
        >
,<? se.p.orderno>,<? pff.item "Q">,
                        <if pff.bfollow=="t">
                            1
                        <else>
                            2
                        </if>)          
                        <dbfoot>
                        <let tmpItem=(d.rid) + 1>
                        </dbquery>                                              
                </dbupdate;
                
                
if !isempty(pff.sitem1);
                        
dbupdate>                                       
                                <dbquery d>
                                        select max(subitemno) rid from tblsubitem
                                        <dbrow>                                                 
                                                INSERT INTO  tblsubitem(subitemno,itemno,subitem) 
                                                VALUES (<? integer(d.rid) + 1 >,<? tmpItem>,<? pff.sitem1 "Q">)                         
                                </dbquery>                              
                        </dbupdate;
                
/if;
                
                
if !isempty(pff.sitem2);
                        
dbupdate>                                       
                                <dbquery d>
                                        select max(subitemno) rid from tblsubitem
                                        <dbrow>                                                 
                                                INSERT INTO  tblsubitem(subitemno,itemno,subitem) 
                                                VALUES (<? integer(d.rid) + 1 >,<? tmpItem>,<? pff.sitem2 "Q">)                         
                                </dbquery>                              
                        </dbupdate;
                
/if;
                
                
                
if !isempty(pff.sitem3);
                        
dbupdate>                                       
                                <dbquery d>
                                        select max(subitemno) rid from tblsubitem
                                        <dbrow>                                                 
                                                INSERT INTO  tblsubitem(subitemno,itemno,subitem) 
                                                VALUES (<? integer(d.rid) + 1 >,<? tmpItem>,<? pff.sitem3 "Q">)                         
                                </dbquery>                              
                        </dbupdate;
                
/if;
                
                
                
if !isempty(pff.sitem4);
                        
dbupdate>                                       
                                <dbquery d>
                                        select max(subitemno) rid from tblsubitem
                                        <dbrow>                                                 
                                                INSERT INTO  tblsubitem(subitemno,itemno,subitem) 
                                                VALUES (<? integer(d.rid) + 1 >,<? tmpItem>,<? pff.sitem4 "Q">)                         
                                </dbquery>                              
                        </dbupdate;
                
/if;
                
                
                
if !isempty(pff.sitem5);
                        
dbupdate>                                       
                                <dbquery d>
                                        select max(subitemno) rid from tblsubitem
                                        <dbrow>                                                 
                                                INSERT INTO  tblsubitem(subitemno,itemno,subitem) 
                                                VALUES (<? integer(d.rid) + 1 >,<? tmpItem>,<? pff.sitem5 "Q">)                         
                                </dbquery>                              
                        </dbupdate;
                
/if;
                
        
                se.p.addsuccess = 
"Item:  (" + pff.item + ") Added successfully.";
                pff.item = 
"";
                pff.sitem1 = 
"";
                pff.sitem2 = 
"";        
                pff.sitem3 = 
"";
                pff.sitem4 = 
"";
                pff.sitem5 = 
"";
                
return null;                    
        
/def;
/defclass;

defclass saveitem; inherit formbutton;
        
def process pff;                
                
                
if pff.bfollow=="t";
                   
let bf=1;
                
else;
                   
let bf=2;
                
/if;
                
dbupdate>                                       
                        update tblitem set item =<? pff.item
                   
"Q">,bfollow=<? bf> where itemno=<? pff.itemhidden>                                                          
                </dbupdate;
                
                
if !isempty(pff.sitem1);
                        
dbupdate>                       
                                update tblsubitem set subitem = <? pff.sitem1 "Q"> where subitemno=<? pff.sitem1hidden>
                        </dbupdate;                     
                
/if;
                
                
if !isempty(pff.sitem2);
                        
dbupdate>
                                update tblsubitem set subitem = <? pff.sitem2 "Q"> where subitemno=<? pff.sitem2hidden> 
                        </dbupdate;
                
/if;
                
                
                
if !isempty(pff.sitem3);
                        
dbupdate>
                                update tblsubitem set subitem = <? pff.sitem3 "Q"> where subitemno=<? pff.sitem3hidden> 
                        </dbupdate;
                
/if;
                
                
                
if !isempty(pff.sitem4);
                        
dbupdate>
                                update tblsubitem set subitem = <? pff.sitem4 "Q"> where subitemno=<? pff.sitem4hidden> 
                        </dbupdate;
                
/if;
                
                
                
if !isempty(pff.sitem5);
                        
dbupdate>
                                update tblsubitem set subitem = <? pff.sitem5 "Q"> where subitemno=<? pff.sitem5hidden> 
                        </dbupdate;
                
/if;
                
        
                se.p.addsuccess = 
"Item:  (" + pff.item + ") Saved successfully.";
                pff.item = 
"";
                pff.sitem1 = 
"";
                pff.sitem2 = 
"";        
                pff.sitem3 = 
"";
                pff.sitem4 = 
"";
                pff.sitem5 = 
"";
                
return null;                    
        
/def;
/defclass;


defclass saveorder; inherit formbutton;
        
def process pff;
                
dbupdate>
                        UPDATE tblorder SET parlsession = <?
                   pff.parlses>
,meeting=<? pff.meet>,sitting=<? pff.sit>,orderdate= to_date(<? pff.orderdate "Q">,'dd/mm/yyyy'), ordertime = <? pff.ordertime "Q"> WHERE orderno=<? pff.orderno;
                                
/dbupdate;
                                se.p.addsuccess = 
"Order Paper (" + pff.orderdate + ") saved successfully.";
                                pff.parlses = 
"";
                                pff.meet = 
"";
                                pff.sit=
"";
                                pff.orderdate=
"";
                                pff.ordertime=
"";
                                
return null;
                        
/def;
/defclass;






defclass endterm; inherit formbutton;
        
def process pff;
                
if !isinteger(integer(pff.end_year)) || pff.end_year &lt 0; // invalid year
                        
return "Invalid year";
                
elsif len(pff.end_year) == 2 || len(pff.end_year) == 4;
//                      dbquery q>
//                              SELECT start_date FROM p_termsofservices WHERE id=<? pff.id;
//                              dbrow;
//                                      if isgerater(fdate(pff.end_day, pff.end_month, pff.end_year), q.start_date);
                                                
dbupdate>
                                                        UPDATE p_termsofservices 
                                                        SET end_date = <? fdate(pff.end_day, pff.end_month, pff.end_year) "Q"> 
                                                        WHERE id=<? pff.id;
                                                
/dbupdate;
                                                se.p.addsuccess = 
"Term of service terminated successfully.";
                                                pff.end_year = 
"";
                                                
return null;
//                                      else;
//                                              return "End date is earlier that start date of " + q.start_date;
//                                      /if;
//                      /dbquery;
                
else;
                        
return "Invalid year";
                
/if;
        
/def;
/defclass;

defclass startterm; inherit formbutton;
        
def process pff;
                
if !isinteger(integer(pff.start_year)) || pff.start_year &lt 0; // invalid year
                        
return "Invalid year";
                
elsif len(pff.start_year) == 2 || len(pff.start_year) == 4; // Ok
                        
dbupdate>
                                INSERT INTO p_termsofservices 
                                        (id, member_id, const_id, start_date, p_id) 
                                VALUES
                                        (p_termsofservices_seq.nextval, <? pff.id><? pff.const><? fdate(pff.start_day, pff.start_month, pff.start_year) "Q"><? pff.pal>)
                        </dbupdate;
                        se.p.addsuccess = 
"Term of service started successfully.";
                        pff.start_year = 
"";
                        
return null;
                
else;
                        
return "Invalid year";
                
/if;
        
/def;
/defclass;

defclass add2comm; inherit formbutton;
        
def process pff;
                
dbupdate>
                        <dbquery d> select max(mpcommitteeno)rid from tblmpcommittee
                                <dbrow>
                                INSERT INTO tblmpcommittee (mpcommitteeno, committeeno, mpid, membershipno,startdate,comstatus)              
                                //  VALUES (<? integer(d.rid) + 1 >, <? pff.commid>, <? se.p.tmpid>, <? pff.mpmembershipcode >)
                                VALUES (<? integer(d.rid) + 1 ><? pff.committee><? se.p.tmpid><? pff.mpmembershipcode >,to_date(<? pff.joindate "Q">,'dd/mm/yyyy'),1) 
                        </dbquery>
                </dbupdate;
                pff.committeecode = 
"";
                pff.mpmembershipcode=
"";
                pff.parliamentcode=
"";
                pff.joindate=
"";
                
// pff.mem_id = "";
                se.p.addsuccess = 
"Member added to committee successfully";
                
return null;
        
/def;
/defclass;

defclass rem_comm; inherit formbutton;
        
def process pff;
                arr = splitstring(pff.comm, 
"|");
                
forin i arr;
                        
dbupdate>
                                DELETE FROM tblmpcommittee WHERE mpcommitteeno=<? arr[i];
                        
/dbupdate;
                
/forin;
                se.p.addsuccess = 
"Member removed from committee(s) successfully.";
                
return null;
        
/def
/defclass;


defclass statuscomm; inherit formbutton;
        
def process pff;
                arr1 = splitstring(pff.commstatus, 
"|");
                
forin i arr1;
                        
dbupdate>
                                update tblmpcommittee set comstatus= 2, enddate = to_date(<? pff.enddate "Q">,'dd/mm/yyyy') where mpcommitteeno = <? arr1[i];
                                
// DELETE FROM tblmpcommittee WHERE mpcommitteeno=<? arr1[i];
                        
/dbupdate;
                
/forin;
                se.p.addsuccess = 
"Committee membership deactivated successfully.";
                
return null;
        
/def
/defclass;


defclass login; inherit formbutton;
        
def process pff;
        
        dbquery q>
                        SELECT * FROM tbluser WHERE username = <? pff.name "Q";
                        
dbrow;
                                
if q.passwd == MD5(pff.passwd, pff.name);
                                
// if q.passwd == crypt(pff.passwd, substring(q.passwd, 0, 2));
                                
// if q.passwd == pff.passwd;
                                        pff.passwd=
"";
                                        
if !isdecl(se.p);
                                                se.p = emptytuple;
                                        
/if;
                                        
if q.username=="ouma";
                                                se.p.admin = 
"ouma";
                        
elsif q.username=="kob";
                        se.p.admin=
"kob";
                                        
else;
                                           se.p.admin = true;
                                        
/if;
                                        se.p.profile = copy(q);
                                        
// return null;
                                        
return null;
                                
else;
                                        
return "Invalid password!!!";
                                
/if;
                        
dbempty;
                                
return "Invalid login name";
                
/dbquery;
        
/def;
/defclass;

defclass changepasswd; inherit formbutton;
        
def process pff;
        
        dbquery q>                 
                        SELECT * FROM tbluser WHERE username = <? se.p.profile.username "Q";                    
                        
dbrow;
                                
// if q.passwd == pff.opasswd;
                                
if q.passwd == MD5(pff.opasswd, se.p.profile.username);
                                        
if pff.npasswd == pff.cpasswd;
                                                
dbupdate>                                                       
                                                        UPDATE tbluser SET passwd=<? MD5(pff.npasswd, se.p.profile.username) "Q"> WHERE username=<? se.p.profile.username "Q";
                                                
/dbupdate;
                                                se.p.addsuccess = 
"Password changed successfully";
                                                pff.opasswd = 
"";
                                                pff.npasswd = 
"";
                                                pff.cpasswd = 
"";
                                                
return null;
                                        
else;
                                                
return "New passwords don't tally!!!";
                                        
/if;
                                
else;
                                        
return "Invalid password!!!";
                                
/if;
                
/dbquery;
        
/def;
/defclass;

defclass hideScroller; inherit formbutton;
        
def process pff;
                se.p.scroller = 
"f";
                
return null;
        
/def;
/defclass;

defclass showScroller; inherit formbutton;
        
def process pff;
                se.p.scroller = 
"t";
                
return null;
        
/def;
/defclass;



defclass hideScrollerc; inherit formbutton;
        
def process pff;
                se.p.coscroller = 
"f";
                
return null;
        
/def;
/defclass;

defclass showScrollerc; inherit formbutton;
        
def process pff;
                se.p.coscroller = 
"t";
                
return null;
        
/def;
/defclass>