def apply(self):
     changed = False
     if self.practice_name != localsettings.PRACTICE_NAME:
         changed = changed or db_settings.insert_practice_name(
             self.practice_name)
     if self.practice_address != localsettings.PRACTICE_ADDRESS:
         changed = changed or db_settings.insert_practice_address(
             self.practice_address)
     if changed:
         localsettings.initiate()
         return True
Beispiel #2
0
 def apply(self):
     changed = False
     if self.practice_name != localsettings.PRACTICE_NAME:
         changed = changed or db_settings.insert_practice_name(
             self.practice_name)
     if self.practice_address != localsettings.PRACTICE_ADDRESS:
         changed = changed or db_settings.insert_practice_address(
             self.practice_address)
     if changed:
         localsettings.initiate()
         return True
Beispiel #3
0
 def setUp(self):
     localsettings.initiate()
     super().setUp()
        treatment = row[6]
        retarg += '<td>%s</td>' % treatment.strip("\x00")

        fee = row[7]
        retarg += '<td align="right">%s</td>' % (
            localsettings.formatMoney(fee))

        ptfee = row[8]
        retarg += '<td align="right">%s</td>' % (
            localsettings.formatMoney(ptfee))

        fee_total += fee
        ptfee_total += ptfee
        retarg += '</tr>\n'

    retarg += '''<tr><td colspan="5"></td>
    <td><b>TOTALS</b></td><td align="right"><b>%s</b></td>
    <td align="right"><b>%s</b></td></tr>''' % (
        localsettings.formatMoney(fee_total),
        localsettings.formatMoney(ptfee_total))

    retarg += '</table>'

    return retarg

if __name__ == "__main__":
    localsettings.initiate()
    print'<html><body>'
    print details(17322)
    print "</body></html>"
Beispiel #5
0
    '''
    get daybook history for this tooth
    '''
    tooth = tooth.upper()
    hist = ""
    for tdate, apptix, items in pt.dayBookHistory:
        regex = "%s (.*)" % tooth
        for item in items.split("  "):
            for tx in re.findall(regex, item):
                hist += "<li>%s - %s - %s</li>" % (
                    localsettings.formatDate(tdate),
                    localsettings.ops.get(int(apptix)),
                    tx)
    if hist == "":
        hist = "None Found"
    else:
        hist = "<ul>%s</ul>" % hist
    return "History for %s<hr />%s" % (tooth, hist)

if __name__ == "__main__":
    import sys
    from openmolar.dbtools import patient_class
    localsettings.initiate()
    try:
        serialno = int(sys.argv[len(sys.argv) - 1])
    except:
        serialno = 11283
    pt = patient_class.patient(serialno)
    print pt.dayBookHistory
    print getHistory(pt, "lr5")
                        x += colwidths[col]
                        col += 1
                    y += rowHeight

                LeftMargin += columnWidth
                columnNo += 1
            rect = QtCore.QRectF(AbsoluteLeft, pageHeight - rowHeight, pageWidth, rowHeight)
            painter.drawText(rect, "Printed %s" % now, option)
            if page < len(self.dates) - 1:
                self.printer.newPage()
                page += 1
            painter.restore()


if __name__ == "__main__":
    import sys

    localsettings.initiate(False)
    app = QtGui.QApplication(sys.argv)
    from openmolar.dbtools import appointments
    import datetime

    app = QtGui.QApplication(sys.argv)
    d = datetime.date.today()
    apps = appointments.printableDaylistData(d, 4)

    p = printDaylist()
    for i in range(0, 3):
        p.addDaylist(QtCore.QDate.currentDate(), 4, apps[0], apps[1:])
    p.print_()
Beispiel #7
0
 def setUp(self):
     super().setUp()
     localsettings.initiateUsers()
     localsettings.initiate()
     self.mw = QtWidgets.QWidget()
     self.mw.pt = patient_class.patient(11956)
Beispiel #8
0
            adate = localsettings.longDate(appt.date)

            text = "%s - %s with %s" % (atime, adate, appt.dent_inits)

            rect = QtCore.QRectF(0, y, pageRect.width(), fontLineHeight * 1.5)

            painter.drawText(rect, text, option)

        y = pageRect.height() * 2 / 3

        painter.drawLine(0, int(y), int(pageRect.width()), int(y))
        font.setItalic(True)
        painter.setFont(font)

        rect = QtCore.QRectF(0, y, pageRect.width(), pageRect.height() * 1 / 3)
        painter.drawText(rect, localsettings.APPOINTMENT_CARD_FOOTER, option)


if __name__ == "__main__":
    import sys
    localsettings.initiate(False)
    app = QtWidgets.QApplication(sys.argv)
    mycard = Card()
    print(mycard.printer.getPageMargins(QtPrintSupport.QPrinter.Millimeter))
    from openmolar.dbtools import patient_class
    from openmolar.dbtools import appointments
    pt = patient_class.patient(11956)
    appts = appointments.get_pts_appts(pt, True)
    mycard.setProps(pt, appts)
    mycard.print_()
def _test():
    from openmolar.dbtools import appointments

    class DuckPt(object):
        '''
        a mock of the patient class
        '''
        def __init__(self):
            self.serialno = 1
            self.sname = "Neil"
            self.fname = "Wallace"
            self.cset = "P"

    def resize(arg=None):
        for col in range(model.columnCount(arg)):
            tv.resizeColumnToContents(col)

    def appt_clicked(index):
        LOGGER.debug("appointment clicked %s",
                     tv.model().data(index, QtCore.Qt.UserRole))

    def but_clicked():
        LOGGER.debug("Button clicked, will search for appointment %s",
                     mw.sender().text())
        appoint_number = int(mw.sender().text())
        result, index = model.findItem(appoint_number)
        if result:
            if index:
                tv.setCurrentIndex(index)
                return
        LOGGER.debug("NOT FOUND!")
        tv.clearSelection()

    localsettings.initiate()

    appts = appointments.get_pts_appts(DuckPt())

    model = PatientDiaryTreeModel()
    model.addAppointments(appts)
    mw = QtGui.QMainWindow()

    mw.setMinimumSize(800, 300)
    frame = QtGui.QFrame(mw)
    layout = QtGui.QVBoxLayout(frame)

    tv = QtGui.QTreeView()
    tv.setModel(model)
    tv.setAlternatingRowColors(True)
    tv.setSelectionMode(tv.ContiguousSelection)
    tv.setSelectionModel(model.selection_model)
    layout.addWidget(tv)
    tv.expandAll()

    buts = []
    but_frame = QtGui.QFrame()
    layout2 = QtGui.QHBoxLayout(but_frame)
    for appt in sorted(appts, key=lambda a: a.aprix)[-20:]:
        but = QtGui.QPushButton(str(appt.aprix), mw)
        buts.append(but)
        layout2.addWidget(but)
        but.clicked.connect(but_clicked)

    layout.addWidget(but_frame)

    index = model.parents.get(1, None)
    if index:
        tv.collapse(model.createIndex(0, 0, index))
    resize()

    tv.expanded.connect(resize)
    tv.clicked.connect(appt_clicked)

    but = QtGui.QPushButton("Clear Selection")
    layout.addWidget(but)
    but.clicked.connect(tv.clearSelection)

    mw.setCentralWidget(frame)
    mw.show()
Beispiel #10
0
 def setUp(self):
     localsettings.initiateUsers()
     localsettings.initiate()
     localsettings.loadFeeTables()
     super().setUp()
     self.mw = QtWidgets.QWidget()
def _test():
    from openmolar.dbtools import appointments

    class DuckPt(object):
        '''
        a mock of the patient class
        '''
        def __init__(self):
            self.serialno = 1
            self.sname = "Neil"
            self.fname = "Wallace"
            self.cset = "P"

    def resize(arg=None):
        for col in range(model.columnCount(arg)):
            tv.resizeColumnToContents(col)

    def appt_clicked(index):
        LOGGER.debug("appointment clicked %s",
                     tv.model().data(index, QtCore.Qt.UserRole))

    def but_clicked():
        LOGGER.debug("Button clicked, will search for appointment %s",
                     mw.sender().text())
        appoint_number = int(mw.sender().text())
        result, index = model.findItem(appoint_number)
        if result:
            if index:
                tv.setCurrentIndex(index)
                return
        LOGGER.debug("NOT FOUND!")
        tv.clearSelection()

    localsettings.initiate()

    appts = appointments.get_pts_appts(DuckPt())

    model = PatientDiaryTreeModel()
    model.addAppointments(appts)
    mw = QtGui.QMainWindow()

    mw.setMinimumSize(800, 300)
    frame = QtGui.QFrame(mw)
    layout = QtGui.QVBoxLayout(frame)

    tv = QtGui.QTreeView()
    tv.setModel(model)
    tv.setAlternatingRowColors(True)
    tv.setSelectionMode(tv.ContiguousSelection)
    tv.setSelectionModel(model.selection_model)
    layout.addWidget(tv)
    tv.expandAll()

    buts = []
    but_frame = QtGui.QFrame()
    layout2 = QtGui.QHBoxLayout(but_frame)
    for appt in sorted(appts, key=lambda a: a.aprix)[-20:]:
        but = QtGui.QPushButton(str(appt.aprix), mw)
        buts.append(but)
        layout2.addWidget(but)
        but.clicked.connect(but_clicked)

    layout.addWidget(but_frame)

    index = model.parents.get(1, None)
    if index:
        tv.collapse(model.createIndex(0, 0, index))
    resize()

    tv.expanded.connect(resize)
    tv.clicked.connect(appt_clicked)

    but = QtGui.QPushButton("Clear Selection")
    layout.addWidget(but)
    but.clicked.connect(tv.clearSelection)

    mw.setCentralWidget(frame)
    mw.show()
 def setUp(self):
     localsettings.initiate()
     localsettings.LAST_ADDRESS = ("test", ) * 8
     super().setUp()
 def setUp(self):
     localsettings.initiate()
     localsettings.LAST_ADDRESS = ("test",) * 8
     super().setUp()
Beispiel #14
0
 def setUp(self):
     localsettings.initiate()
     localsettings.operator = "NW"
     super().setUp()
Beispiel #15
0
 def setUp(self):
     localsettings.initiate()
     localsettings.loadFeeTables()
     super().setUp()