Exemplo n.º 1
0
    def test92(self):
        ''' Select first name and surname '''
        pa = CPDTable()

        rows = pa.selectcols(cpd_id=True, date_started=True, days_taken=True)
        for row in rows:
            print row
Exemplo n.º 2
0
    def __init__(self, parent, rowIdx):
        super(CPDViewCtrl, self).__init__(parent,
                                          size=(500, 300),
                                          style=wx.LB_BOTTOM)

        from access.cpd import CPDTable
        cpdTable = CPDTable()

        rows = cpdTable.showAll()

        row = rows[rowIdx]
        print row

        from cpdtableitem import CPDTableDef
        from access.database import DBTable

        cpdTableBind = DBTable(CPDTableDef())

        self.dbRow = cpdTableBind.GetRow(row)
        self.generalCtrl = GeneralCtrl(self)
        self.AddPage(self.generalCtrl, "General")
        self.otherCtrl = OtherCtrl(self)
        self.AddPage(self.otherCtrl, "Details")
        self.historyCtrl = HistoryCtrl(self)
        self.AddPage(self.historyCtrl, "Documentation")
Exemplo n.º 3
0
    def __init__(self, parent, style=wx.TAB_TRAVERSAL):
        super(CPDCtrl, self).__init__(parent, style=style)

        self.selected_row = 0;



        self.cpdTable = CPDTable()
        self.rows = self.cpdTable.showAll()
        self.cpdListCtrl = CPDListCtrl(self)
        self.cpdListCtrl.populateList(self.rows)

        from cpdtableitem import CPDTableDef
        from access.database import DBTable
Exemplo n.º 4
0
    def __init__(self, parent, rowIdx):
        super(CPDViewPanel, self).__init__(parent, style=wx.LB_BOTTOM)

        from access.cpd import CPDTable
        cpdTable = CPDTable()

        rows = cpdTable.showAll()

        row = rows[rowIdx]
        print row

        from cpdtableitem import CPDTableDef
        from access.database import DBTable

        cpdTableBind = DBTable(CPDTableDef())
        '''
Exemplo n.º 5
0
    def NewCPD(self):
        cpdTable = CPDTable()

        cpdTable.add(
            title=self.cpdGeneralPage.title.GetValue(),
            date_started=self.cpdGeneralPage.date_started.GetValue(),
            days_taken=self.cpdGeneralPage.days_taken.GetValue(),
            activity_type=self.cpdGeneralPage.activity_type.GetValue(),
            category=self.cpdGeneralPage.category.GetValue(),
            core_cpd_module=self.cpdGeneralPage.core_cpd_module.GetValue(),
            description=self.cpdGeneralPage.description.GetValue(),
            learning_objectives=self.cpdGeneralPage.learning_objectives.
            GetValue(),
            reflective_comments=self.cpdOtherPage.reflective_comments.GetValue(
            ),
            attached_files=None,
            web_links=None,
        )
Exemplo n.º 6
0
    def test94(self):
        pa = CPDTable()

        for i in range(5,13):
            pa.update(i, appointment_id=str(i+200))

        where = pa.singlewhere(appointment_id='200')
        rows = pa.selectall(whereStr=where)
        for row in rows:
            print row
Exemplo n.º 7
0
 def test93(self):
     pa = CPDTable()
     idx = pa.get_id(34)
     assert idx != None, "Item not found"
     row = pa.showItem(idx)
     print row
Exemplo n.º 8
0
 def test91(self):
     ''' Selete all data '''
     pa = CPDTable()
     rows = pa.selectall()
     n = len(rows)
     assert n == 8, "Need to have 8 rows "
Exemplo n.º 9
0
 def test80(self):
     ''' Initalise Table with date '''
     '''
     cpd_id                   integer primary key,
 date_started                    datetime        not null,
 days_taken                    int        ,
 activity_type               varchar(100),
 category                    varchar(100),
 core_cpd_module             varchar(256),
 discripttion                varchar(512),
 learning_objectives         varchar(512),
 reflective_comments         varchar(512),
 attached_files         varchar(512),
 web_links         varchar(512)
     '''
     a = CPDTable()
     a.add(10,'25-01-2013',3,"Coure")
     a.add(11,'05-02-2013',12,"On Job training")
     a.add(12,'25-02-2013',4,"Coure")
     a.add(13,'04-04-2013',8,"Coure")
     a.add(14,'20-04-2013',5,"Coure")
     a.add(15,'01-06-2013',8,"Coure")
     a.add(16,'11-06-2013',12,"Coure")
     a.add(17,'14-11-2013',38,"Coure")
Exemplo n.º 10
0
class CPDCtrl(scrolledpanel.ScrolledPanel):
    pageName = "CPDPage"
    def __init__(self, parent, style=wx.TAB_TRAVERSAL):
        super(CPDCtrl, self).__init__(parent, style=style)

        self.selected_row = 0;



        self.cpdTable = CPDTable()
        self.rows = self.cpdTable.showAll()
        self.cpdListCtrl = CPDListCtrl(self)
        self.cpdListCtrl.populateList(self.rows)

        from cpdtableitem import CPDTableDef
        from access.database import DBTable
        #row = self.rows[self.selected_row]
        #self.cpdTableBind = DBTable(CPDTableDef())
        #self.dbRow = self.cpdTableBind.GetRow(row)

        #self.__DoLayout(self.dbRow)
        #self.SetInitialSize()


    def ___DoLayout(self, dbRow):

        title_lbl= wx.StaticText(self, label="Continuous Professional Development")
        font = wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL)
        title_lbl.SetFont(font)

        mainSizer = wx.BoxSizer(wx.VERTICAL)
        mainSizer.Add(title_lbl, 0, wx.ALL, 5)
        mainSizer.Add(wx.StaticLine(self), 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)


        #title = dbRow.GetAttr('title')
        title = "Iain"
        titleLbl = wx.StaticText(self, -1, "Title:")
        self.title = wx.StaticText(self, -1, title.GetText(), size=(200, 23))


        grpSizer = wx.GridBagSizer(vgap=8, hgap=8)

        grpSizer.Add(titleLbl, (1, 1))
        grpSizer.Add(self.title, (1, 2))

        from cpdviewctrl import CPDViewCtrl
        self.cpdViewCtrl = CPDViewCtrl(self)

        btnszr = wx.StdDialogButtonSizer()
        self.editbtn = wx.Button(self, wx.ID_EDIT)
        self.openbtn = wx.Button(self, wx.ID_OPEN)
        self.editbtn.SetDefault()
        btnszr.Add(self.editbtn)
        btnszr.Add(self.openbtn)

        btnszr.Realize()

        listSizer = wx.GridBagSizer(vgap=2, hgap=2)
        listSizer.Add(self.cpdListCtrl, (1, 1))

        mainSizer.Add(grpSizer, 0, wx.EXPAND | wx.ALL, 10)
        #mainSizer.Add(self.cpdViewCtrl, 0, wx.EXPAND | wx.ALL, 10)
        mainSizer.Add(self.cpdViewCtrl, 0, wx.ALL, 10)
        mainSizer.Add(listSizer, 0, wx.EXPAND | wx.ALL, 10)
        mainSizer.Add(btnszr, 0, wx.EXPAND | wx.ALL, 10)
        self.SetSizer(mainSizer)

        self.editbtn.Bind(wx.EVT_BUTTON, self.OnEdit)
        self.openbtn.Bind(wx.EVT_BUTTON, self.OnClicked)
        self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected)
        self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnClicked)


    def __DoLayout(self, dbRow):

        title_lbl= wx.StaticText(self, label="Continuous Professional Development")
        font = wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL)
        title_lbl.SetFont(font)

        mainSizer = wx.BoxSizer(wx.VERTICAL)
        mainSizer.Add(title_lbl, 0, wx.ALL, 5)
        mainSizer.Add(wx.StaticLine(self), 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 5)


        title = dbRow.GetAttr('title')
        titleLbl = wx.StaticText(self, -1, "Title:")
        self.title = wx.StaticText(self, -1, title.GetText(), size=(200, 23))

        date_started = self.dbRow.GetAttr('date_started')
        dateLbl = wx.StaticText(self, -1, "Date Started:")
        self.date_started = wx.StaticText(self, -1, date_started.GetText(), size=(200, 23))

        days_taken = dbRow.GetAttr('days_taken')
        noOfDaysLbl = wx.StaticText(self, -1, "Number of days taken:")
        days = days_taken.GetText()
        self.days_taken = wx.StaticText(self, -1, days, size=(40,25))

        activity_type = dbRow.GetAttr('activity_type')
        activityTypeLbl = wx.StaticText(self, -1, "Activity Type:")
        self.activityType = wx.StaticText(self, -1, activity_type.GetText(), size=(200, 23))


        category = dbRow.GetAttr('category')
        categoryLbl = wx.StaticText(self, -1, "Category:")
        self.category = wx.StaticText(self, -1, category.GetText(), size=(200, 23))

        core_cpd_module = dbRow.GetAttr('core_cpd_module')
        coreCPDModuleLbl = wx.StaticText(self, -1, "Core CPD Module:")
        self.coreCPDModule = wx.StaticText(self, -1, core_cpd_module.GetText(), size=(200, 23))


        description = dbRow.GetAttr('description')
        descriptionLbl = wx.StaticText(self, -1, "Description:")
        self.description = wx.TextCtrl(self, -1, description.GetText(), size=(300, 80), style=wx.TE_MULTILINE | wx.TE_READONLY)
        self.moreButton = wx.Button(self, -1, "More", size=(50, 23))


        grpSizer = wx.GridBagSizer(vgap=8, hgap=8)

        grpSizer.Add(titleLbl, (1, 1))
        grpSizer.Add(self.title, (1, 2))

        grpSizer.Add(dateLbl, (2, 1))
        grpSizer.Add(self.date_started, (2, 2))

        grpSizer.Add(noOfDaysLbl, (3, 1))
        grpSizer.Add(self.days_taken, (3, 2))

        grpSizer.Add(activityTypeLbl, (4, 1))
        grpSizer.Add(self.activityType, (4, 2))

        grpSizer.Add(categoryLbl, (5, 1))
        grpSizer.Add(self.category, (5, 2))


        grpSizer.Add(coreCPDModuleLbl, (6, 1))
        grpSizer.Add(self.coreCPDModule, (6, 2))

        grpSizer.Add(descriptionLbl, (7, 1))
        grpSizer.Add(self.description, (7, 2)) #wx.FIXED_MINSIZE
        grpSizer.Add(self.moreButton, (7, 3))

        btnszr = wx.StdDialogButtonSizer()
        self.editbtn = wx.Button(self, wx.ID_EDIT)
        self.openbtn = wx.Button(self, wx.ID_OPEN)
        self.editbtn.SetDefault()
        btnszr.Add(self.editbtn)
        btnszr.Add(self.openbtn)

        btnszr.Realize()

        listSizer = wx.GridBagSizer(vgap=2, hgap=2)
        #listSizer.Add(self.backupsListCtrl, (1, 1))
        listSizer.Add(self.cpdListCtrl, (1, 1))
        mainSizer.Add(grpSizer, 0, wx.EXPAND | wx.ALL, 10)
        #mainSizer.Add(btnszr, 0, wx.ALIGN_LEFT, 12)
        mainSizer.Add(listSizer, 0, wx.EXPAND | wx.ALL, 10)
        mainSizer.Add(btnszr, 0, wx.EXPAND | wx.ALL, 10)
        self.SetSizer(mainSizer)

        self.editbtn.Bind(wx.EVT_BUTTON, self.OnEdit)
        self.openbtn.Bind(wx.EVT_BUTTON, self.OnClicked)
        self.moreButton.Bind(wx.EVT_BUTTON, self.OnMoreClicked)
        self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected)
        self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnClicked)


    def OnClicked(self, event):
        self.selected_row = event.GetIndex()
        self.OnEdit(event)


    def OnItemSelected(self, event):
        self.selected_row = event.GetIndex()

        from cpdtableitem import CPDTableDef
        from access.database import DBTable
        row = self.rows[self.selected_row]
        cpdTableBind = DBTable(CPDTableDef())
        self.dbRow = cpdTableBind.GetRow(row)
        self.Update(self.dbRow)


    def OnMoreClicked(self, event):
        from cpdviewctrl import CPDViewDialog
        self.cpdViewDialog = CPDViewDialog(self.selected_row)
        self.cpdViewDialog.ShowModal()

    def OnEdit(self, event):
        #self.selected_row = event.GetIndex()

        print "Opening PatentEditDialog"
        cpdEditDialog = CPDEditDialog(self.selected_row)
        if cpdEditDialog.ShowModal() == wx.ID_OK:
            cpdEditDialog.Update()
            self.rows = self.cpdTable.showAll()
            row = self.rows[self.selected_row]
            self.dbRow = self.cpdTableBind.GetRow(row)
            self.Update(self.dbRow)
            self.cpdListCtrl.populateList(self.rows)

        print "Closing PatentEditDialog"

    def DBStr(self,data):
        if data == None:
            return ""
        return data

    def Update(self, dbRow):


        title = dbRow.GetAttr('title')
        self.title.SetLabel(title.GetText())

        date_started = dbRow.GetAttr('date_started')
        self.date_started.SetLabel(date_started.GetText())



        activity_type = dbRow.GetAttr('activity_type')
        self.activityType.SetLabel(activity_type.GetText())

        category = dbRow.GetAttr('category')
        self.category.SetLabel(category.GetText())

        core_cpd_module = dbRow.GetAttr('core_cpd_module')
        self.coreCPDModule.SetLabel(core_cpd_module.GetText())

        description = dbRow.GetAttr('description')
        self.description.SetLabel(description.GetText())