Skip to content
Commits on Source (17)
......@@ -286,6 +286,7 @@ src/openmolar/qt4gui/customwidgets/estimate_widget.py
src/openmolar/qt4gui/customwidgets/fiveminutetimeedit.py
src/openmolar/qt4gui/customwidgets/money_line_edit.py
src/openmolar/qt4gui/customwidgets/notification_widget.py
src/openmolar/qt4gui/customwidgets/om_webview.py
src/openmolar/qt4gui/customwidgets/schedule_control.py
src/openmolar/qt4gui/customwidgets/simple_chartwidget.py
src/openmolar/qt4gui/customwidgets/static_control_panel.py
......@@ -441,6 +442,8 @@ src/openmolar/resources/resources.qrc
src/openmolar/resources/schema.sql
src/openmolar/resources/style.css
src/openmolar/resources/triggers.sql
src/openmolar/resources/win_install_banner.bmp
src/openmolar/resources/win_install_dialog.bmp
src/openmolar/resources/feescales/example_feescale.xml
src/openmolar/resources/feescales/feescale_schema.xsd
src/openmolar/resources/gp17/back.jpg
......
......@@ -3,7 +3,7 @@ recursive-include bin openmolar.svg openmolar.desktop openmolar.1
recursive-include src/openmolar/resources *.qrc *.xsd *.xml *.css *.sql *.svg *.png
recursive-include src/openmolar/locale *.po *.pot
recursive-include src/openmolar/qt-designer *.ui
recursive-include src/openmolar/resources *.xml *.png *.svg *.sql *.css *.qrc
recursive-include src/openmolar/resources *.xml *.png *.svg *.sql *.css *.qrc *.bmp
recursive-include src/openmolar/resources/icons *.png *.svg *.ico
recursive-include src/openmolar/resources/teeth *.png
recursive-include src/openmolar/resources/gp17 *.jpg
......
Metadata-Version: 1.0
Name: openmolar
Version: 1.0.15-gd81f9e5
Version: 1.1.6-g81838c85
Summary: Open Source Dental Practice Management Software
Home-page: https://www.openmolar.com
Author: Neil Wallace
......
openmolar (1.1.6-g81838c85-1) unstable; urgency=medium
* Team upload.
* New upstream version
* debhelper 11
* Point Vcs fields to salsa.debian.org
* Standards-Version: 4.2.1
* Secure URI in copyright format
* Remove trailing whitespace in debian/changelog
* Do not parse d/changelog
* Drop unneeded compression="xz" option for source
* Drop ancient X-Python3-Version field
* Enhance description
* Build-Depends: s/python3-all/python3/
-- Andreas Tille <tille@debian.org> Mon, 29 Oct 2018 12:03:03 +0100
openmolar (1.0.15-gd81f9e5-1) unstable; urgency=medium
* Team upload.
......
10
\ No newline at end of file
11
\ No newline at end of file
......@@ -3,17 +3,16 @@ Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.
Uploaders: Dmitry Smirnov <onlyjob@debian.org>
Section: science
Priority: optional
Build-Depends: debhelper (>= 10),
Build-Depends: debhelper (>= 11~),
dh-python,
python3-all,
python3,
python3-setuptools,
python3-pyqt5,
pyqt5-dev-tools
Standards-Version: 3.9.8
Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/openmolar.git
Vcs-Git: https://anonscm.debian.org/git/debian-med/openmolar.git
Standards-Version: 4.2.1
Vcs-Browser: https://salsa.debian.org/med-team/openmolar
Vcs-Git: https://salsa.debian.org/med-team/openmolar.git
Homepage: http://openmolar.com/om1
X-Python3-Version: >= 3.3
Package: openmolar
Architecture: all
......@@ -29,3 +28,13 @@ Suggests: default-mysql-server | virtual-mysql-server
Description: dental practice management software
Openmolar is a dental practice management suite. Its functionality include
appointments, patient records, treatment planning, billing etc.
.
This is the application which was used daily in the Academy Dental Practice
(a busy NHS/private practice) until the 19th January 2017.
.
OpenMolar1 is pretty much hard wired to be of use to this or a VERY similar
practice. If you are looking for an open source solution for your dental
practice, or that of a friend or relative, this is probably not it!
.
Anyway, this is a full featured, reliable and thoroughly tested application
which is still undergoing development regularly.
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: openmolar
Source: https://github.com/rowinggolfer/openmolar1/releases
......
Author: Andreas Tille
Last-Update: 2016-12-17 20:08:52 +0100
Description: Force Python3
--- a/openmolar
+++ b/openmolar
@@ -1,4 +1,4 @@
......
......@@ -4,7 +4,7 @@
#export DH_VERBOSE=1
PKD = $(abspath $(dir $(MAKEFILE_LIST)))
PKG = $(word 2,$(shell dpkg-parsechangelog -l$(PKD)/changelog | grep ^Source))
include /usr/share/dpkg/default.mk
%:
dh $@ --with python3 --buildsystem=pybuild
......@@ -24,5 +24,5 @@ override_dh_auto_build:
override_dh_auto_install:
dh_auto_install -- \
--install-dir=usr/share/$(PKG)/
--install-dir=usr/share/$(DEB_SOURCE)/
# --install-scripts=usr/bin/
-----BEGIN PGP SIGNATURE-----
iQI0BAABCAAeBQJaVNj+Fxxyb3dpbmdnb2xmZXJAZ21haWwuY29tAAoJEGi4hOde
iQ1ZnSoP/0PVwlVqFFLCStzKJUFFdqnGFSTFPbVuIWI8hR72P5cembOjSZA+NsCm
PQYMkTlbPBOaoagUCVwvoPZaWlPYWF+lezHa8r1Yhpa+tLvHFXG7o28nssxY162M
UlZJhnLN3S78dNNvHji0XrtANlm9S0SEUEEdA5DadKlnTYC987XNwgjyI1Ffimnk
iOUlOnhP2X89iF4+8fVzm6RCqPxKy7Q+b2j0ePw42f8ZMIkZltb1aKrjUJ8X51SO
lxmJNOCgqx0JxNVm9f9jcyPwvlc25PDGYKMK+evFCKxH9Q1yrXLFks1SnzoAHbJg
ar4CQR9QQjyMLWozycn/NfY0Gk+BW69HydG7hoiD3cK5SCJqNnLGkJH1hbG6+UdS
q0zYCZyMJtNQOmu5fH/nHkEuzi9Fsldx35w3fMFdCavMBKGz2c2seLJX2c5emgR6
32yfbI6OR761txwNgedF5GS4l0AXF+Sq6EuR5XTNDjZm5jbFgwXnOfqLEJhQokfM
/BDmzZLi6HHy6BTyWcWSnTSqDXi+9R+6Vl9pgnu6HXKEq3FnRS3O0Ep4VHh0Wnkx
HwGP7KiaBCyqTq1uhgwC+L5vHHcE0ZgST8sb6hoXYDszNulV0/0VR+TfWSjXKuWN
UIyCze9lHBunwGWbWTYXpRsUxzERJUhBzFoyEY9WC/JZC9pJl1c2
=gs+5
-----END PGP SIGNATURE-----
......@@ -117,8 +117,34 @@ class MakeUis(Command):
user_options = []
REMOVALS = (" _translate = QtCore.QCoreApplication.translate\n",)
REPLACEMENTS = [("import resources_rc",
"from openmolar.qt4gui import resources_rc")]
REPLACEMENTS = [
("import resources_rc", "from openmolar.qt4gui import resources_rc"),
("QtWebKitWidgets.QWebView", "OMWebView"),
("from PyQt5 import QtWebKitWidgets",
"from openmolar.qt4gui.customwidgets.om_webview import OMWebView"),
("class Ui_MainWindow(object):",
"from openmolar.qt4gui.customwidgets.upper_case_line_edit \\\n"
" import UpperCaseLineEdit\n\n"
"class Ui_MainWindow(object):"),
("self.titleEdit = QtWidgets.QLineEdit",
"self.titleEdit = UpperCaseLineEdit"),
("self.fnameEdit = QtWidgets.QLineEdit",
"self.fnameEdit = UpperCaseLineEdit"),
("self.snameEdit = QtWidgets.QLineEdit",
"self.snameEdit = UpperCaseLineEdit"),
("self.addr1Edit = QtWidgets.QLineEdit",
"self.addr1Edit = UpperCaseLineEdit"),
("self.addr2Edit = QtWidgets.QLineEdit",
"self.addr2Edit = UpperCaseLineEdit"),
("self.addr3Edit = QtWidgets.QLineEdit",
"self.addr3Edit = UpperCaseLineEdit"),
("self.townEdit = QtWidgets.QLineEdit",
"self.townEdit = UpperCaseLineEdit"),
("self.countyEdit = QtWidgets.QLineEdit",
"self.countyEdit = UpperCaseLineEdit"),
("self.pcdeEdit = QtWidgets.QLineEdit",
"self.pcdeEdit = UpperCaseLineEdit"),
]
SRC_FOLDER = os.path.join(os.path.dirname(os.path.abspath(__file__)),
"src", "openmolar", "qt-designer")
......@@ -399,8 +425,12 @@ class Install(_install):
'''
re-implement distutils standard source code builder
'''
def __init__(self, *args, **kwargs):
self.make_uis = MakeUis(*args, **kwargs)
_install.__init__(self, *args, **kwargs)
def run(self, *args, **kwargs):
self.make_uis.run(*args, **kwargs)
alter_version = AlterVersion()
alter_version.change()
win_script = WindowsScript()
......@@ -450,6 +480,35 @@ class Test(Command):
print(result)
class Mock(Command):
description = "do nothing except printing out build environment variables"
user_options = []
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self, *args, **kwargs):
print("---- VERSION ----")
print(VERSION)
print("\n---- RESOURCE_FILE ----")
print(RESOURCE_FILE)
print("\n---- DATA_FILES ----")
for folder, files in DATA_FILES:
print(folder)
for file_ in files:
print("\t%s" % file_)
print("\n---- RESCOURCES_DIR ----")
print(RESOURCES_DIR)
print("\n---- il8n_DIR ----")
print(il8n_DIR)
print("\n---- SCRIPTS ----")
print(SCRIPTS)
if __name__ == "__main__":
# I need to import this module so the windows installer can access the
......@@ -491,6 +550,7 @@ if __name__ == "__main__":
'install': Install,
'install_data': InstallData,
'makeuis': MakeUis,
'test': Test},
'test': Test,
'mock': Mock},
scripts=SCRIPTS,
)
......@@ -209,7 +209,7 @@ def details(dent, startdate, enddate,
if len(headers) == 11:
if full_edit or row[6] == localsettings.currentDay():
retarg += '''<td align="center">
<a href="edit_%s">edit</a></td>''' % row[7]
<a href="om://edit_%s">edit</a></td>''' % row[7]
else:
retarg += '<td align="center">n/a</a>'
retarg += '</tr>\n'
......
......@@ -142,7 +142,7 @@ def details(sno, current_csno, include_estimates=False, include_daybook=False):
gap = cmpd - daybook_entry.date
if daybook.ALLOW_TX_EDITS:
id_col = '<a href="daybook_id_edit?%s">%s</a>' % (
id_col = '<a href="om://daybook_id_edit?%s">%s</a>' % (
daybook_entry.id, _("Edit Tx"))
else:
id_col = str(daybook_entry.id)
......@@ -190,14 +190,15 @@ def details(sno, current_csno, include_estimates=False, include_daybook=False):
course_checker_errors += 1
course_html += course_check.results
course_html += '''<br />
<a href="consistent_courseno?%s">%s</a>''' % (
<a href="om://consistent_courseno?%s">%s</a>''' % (
course.courseno, _("Examine these Issues."))
days_elapsed = ""
try:
prev_course = courses[i + 1]
if ALLOW_EDIT:
merge_link = '<br /><a href="merge_courses?%s+%s">%s?</a>' % (
merge_link = \
'<br /><a href="om://merge_courses?%s+%s">%s?</a>' % (
course.courseno, prev_course.courseno,
_("Merge with previous course")
)
......
......@@ -201,12 +201,12 @@ def details(regdent, trtdent, startdate, enddate, filters=""):
txs.append(row[15].decode("utf8").strip(" %s" % chr(0)))
if ALLOW_TX_EDITS:
extra_link = ' / <a href="daybook_id_edit?%s">%s</a>' % (
extra_link = ' / <a href="om://daybook_id_edit?%s">%s</a>' % (
row[19], _("Edit Tx"))
else:
extra_link = ""
retarg += '''<td>%s</td>
<td><a href="daybook_id?%sfeesa=%sfeesb=%s">%s</a>%s</td>
<td><a href="om://daybook_id?%sfeesa=%sfeesb=%s">%s</a>%s</td>
<td align="right">%s</td>
<td align="right">%s</td></tr>''' % (
" ".join(txs),
......
......@@ -66,7 +66,7 @@ def details(sno):
retarg += ' <tr>' if i % 2 else ' <tr bgcolor="#eeeeee">'
if ALLOW_TX_EDITS:
extra_link = ' / <a href="daybook_id_edit?%s">%s</a>' % (
extra_link = ' / <a href="om://daybook_id_edit?%s">%s</a>' % (
id_, _("Edit Tx"))
else:
extra_link = ""
......@@ -78,7 +78,7 @@ def details(sno):
<td>%s</td>
<td>%s</td>
<td align="center">
<a href="daybook_id?%sfeesa=%sfeesb=%s">%s</a>%s
<a href="om://daybook_id?%sfeesa=%sfeesb=%s">%s</a>%s
</td>
<td align="right">%s</td><td align="right">%s</td>\n</tr>\n''' % (
date_, cset,
......
......@@ -37,7 +37,8 @@ COURSE_QUERY = QUERY.replace(
ALLOW_EDIT = False
EDIT_STRING = '<a href="edit_estimate?%%s">%s</a>' % _("Edit this Estimate")
EDIT_STRING = '<a href="om://edit_estimate?%%s">%s</a>' % _(
"Edit this Estimate")
def getEsts(sno, courseno=None):
......
......@@ -442,8 +442,8 @@ class TreatmentCourse(object):
return " ".join(sorted([item for item in items if item != ""]))
if allow_edit:
edit_str = '''<a href="edit_courseno?%s">%s</a><br />
<a href="edit_tx_courseno?%s">%s</a>
edit_str = '''<a href="om://edit_courseno?%s">%s</a><br />
<a href="om://edit_tx_courseno?%s">%s</a>
<!--merge-->''' % (
self.courseno, _("Edit Course Dates"),
self.courseno, _("Edit Treatments"))
......
......@@ -240,7 +240,8 @@ def notes(notes_dict, full_notes=True):
if (date == localsettings.currentDay() and
op == localsettings.operator):
subline += '<br /><a href="edit_notes?__SNO__">%s</a>' % _("Edit")
subline += \
'<br /><a href="om://edit_notes?__SNO__">%s</a>' % _("Edit")
newline += '''
%s</td>
......@@ -261,7 +262,7 @@ def todays_notes(serialno):
html = notes(get_notes_dict(serialno, True))
if not _("Today") in html:
html = HEADER
html += "%s <a href='edit_notes?%s'>%s</a></body></html>" % (
html += "%s <a href='om://edit_notes?%s'>%s</a></body></html>" % (
_("No notes found"), serialno, _("Add a note"))
return html.replace("__SNO__", str(serialno))
......
This diff is collapsed.