├── .gitignore ├── COPYING.txt ├── INSTALL.txt ├── README.txt ├── TODO.txt ├── build_scripts ├── Makefile ├── admin │ ├── debian_packaging │ │ ├── dh_python2 │ │ │ └── debian │ │ │ │ ├── changelog │ │ │ │ ├── compat │ │ │ │ ├── control │ │ │ │ ├── copyright │ │ │ │ ├── docs │ │ │ │ ├── openmolar-admin.manpages │ │ │ │ ├── postinst │ │ │ │ ├── rules │ │ │ │ └── source │ │ │ │ └── format │ │ └── py_support │ │ │ └── debian │ │ │ ├── changelog │ │ │ ├── compat │ │ │ ├── control │ │ │ ├── copyright │ │ │ ├── docs │ │ │ ├── openmolar-admin.manpages │ │ │ ├── postinst │ │ │ ├── pyversions │ │ │ └── rules │ └── rpm_packaging │ │ └── openmolar-admin.spec ├── client │ ├── debian_packaging │ │ ├── dh_python2 │ │ │ └── debian │ │ │ │ ├── changelog │ │ │ │ ├── compat │ │ │ │ ├── control │ │ │ │ ├── copyright │ │ │ │ ├── docs │ │ │ │ ├── postinst │ │ │ │ ├── rules │ │ │ │ └── source │ │ │ │ └── format │ │ └── py_support │ │ │ └── debian │ │ │ ├── changelog │ │ │ ├── compat │ │ │ ├── control │ │ │ ├── copyright │ │ │ ├── docs │ │ │ ├── postinst │ │ │ ├── pyversions │ │ │ └── rules │ └── rpm_packaging │ │ └── openmolar-client.spec ├── common │ ├── debian_packaging │ │ ├── dh_python2 │ │ │ └── debian │ │ │ │ ├── changelog │ │ │ │ ├── compat │ │ │ │ ├── control │ │ │ │ ├── copyright │ │ │ │ ├── docs │ │ │ │ ├── manpage.1 │ │ │ │ ├── rules │ │ │ │ └── source │ │ │ │ └── format │ │ └── py_support │ │ │ └── debian │ │ │ ├── changelog │ │ │ ├── compat │ │ │ ├── control │ │ │ ├── copyright │ │ │ ├── docs │ │ │ ├── manpage.1 │ │ │ ├── pyversions │ │ │ └── rules │ └── rpm_packaging │ │ └── openmolar-common.spec ├── deb_maker.py ├── get_version.py ├── namespace │ ├── debian_packaging │ │ ├── dh_python2 │ │ │ └── debian │ │ │ │ ├── changelog │ │ │ │ ├── compat │ │ │ │ ├── control │ │ │ │ ├── copyright │ │ │ │ ├── docs │ │ │ │ ├── rules │ │ │ │ └── source │ │ │ │ └── format │ │ └── py_support │ │ │ └── debian │ │ │ ├── changelog │ │ │ ├── compat │ │ │ ├── control │ │ │ ├── copyright │ │ │ ├── docs │ │ │ ├── pyversions │ │ │ └── rules │ └── rpm_packaging │ │ └── openmolar-namespace.spec ├── server │ ├── debian_packaging │ │ ├── dh_python2 │ │ │ └── debian │ │ │ │ ├── changelog │ │ │ │ ├── compat │ │ │ │ ├── control │ │ │ │ ├── copyright │ │ │ │ ├── docs │ │ │ │ ├── openmolar-server.manpages │ │ │ │ ├── postinst │ │ │ │ ├── postrm │ │ │ │ ├── prerm │ │ │ │ ├── rules │ │ │ │ └── source │ │ │ │ └── format │ │ └── py_support │ │ │ └── debian │ │ │ ├── changelog │ │ │ ├── compat │ │ │ ├── control │ │ │ ├── copyright │ │ │ ├── docs │ │ │ ├── openmolar-server.manpages │ │ │ ├── postinst │ │ │ ├── postrm │ │ │ ├── prerm │ │ │ ├── pyversions │ │ │ └── rules │ └── rpm_packaging │ │ └── openmolar-server.spec └── version_name.py ├── builds └── README.txt ├── configure.py ├── dist └── README.txt ├── documentation ├── docbook │ ├── Makefile │ ├── images │ └── openmolar2.docbook ├── epydoc │ └── Makefile ├── image_tag_maker.py ├── images │ ├── favicon.ico │ ├── openmolar.png │ ├── openmolar_logo.png │ ├── openmolar_logo_small.png │ ├── openmolar_with_title.png │ └── screenshots │ │ ├── AddNotesWidget.png │ │ ├── AddressDialog.png │ │ ├── Advisor.png │ │ ├── BPEWidget.png │ │ ├── ChartRoot.png │ │ ├── ChartTooth1.png │ │ ├── ChartTooth2.png │ │ ├── CompletionTextEdit.png │ │ ├── admin.png │ │ ├── admin_install_schema.png │ │ ├── admin_populate_demo.png │ │ ├── admin_populate_demo_progress.png │ │ ├── admin_query_tool.png │ │ ├── admin_query_tool_long_query.png │ │ ├── admin_table_viewer.png │ │ ├── client.png │ │ ├── client_address_dialog.png │ │ ├── client_address_dialog_advanced.png │ │ ├── client_address_family_members.png │ │ ├── client_chart_adult_complex.png │ │ ├── client_chart_adult_simple.png │ │ ├── client_chart_deciduous.png │ │ ├── client_chart_mixed.png │ │ ├── client_chart_roots_only.png │ │ ├── client_charts.png │ │ ├── client_charts_procedure_panel.png │ │ ├── client_control_panel.png │ │ ├── client_empty.png │ │ ├── client_estimates.png │ │ ├── client_estimates_procedure_panel.png │ │ ├── client_final_choice.png │ │ ├── client_new_patient_advanced.png │ │ ├── client_new_patient_dialog.png │ │ ├── client_patient_finder.png │ │ ├── client_reception.png │ │ ├── common_connect_advanced.png │ │ ├── common_connect_message.png │ │ └── common_preferences.png ├── postgres_autodoc │ ├── Makefile │ └── openmolar_demo.html └── sphinx │ ├── Makefile │ ├── _static │ └── schema.html │ ├── _templates │ └── layout.html │ ├── conf.py │ ├── contents.rst │ ├── environment.pickle │ ├── images │ ├── installation │ ├── debian.rst │ ├── index.rst │ └── ubuntu.rst │ ├── introduction │ ├── admin │ │ └── index.rst │ ├── client │ │ └── index.rst │ ├── index.rst │ └── server │ │ └── index.rst │ ├── overview.rst │ ├── technical │ ├── autogen_scripts │ │ └── get_all_classes.py │ ├── class_headings │ │ ├── AddNotesWidget.rst │ │ ├── AddressDialog.rst │ │ ├── AddressHistoryDialog.rst │ │ ├── AddressHistoryWidget.rst │ │ ├── AddressObjects.rst │ │ ├── AddressRecord.rst │ │ ├── AddressSelectionDialog.rst │ │ ├── AdminConnection.rst │ │ ├── AdminMain.rst │ │ ├── AdminMainWindow.rst │ │ ├── AdminSessionWidget.rst │ │ ├── AdminTabWidget.rst │ │ ├── AdvancedAddressOptionsWidget.rst │ │ ├── Advisor.rst │ │ ├── AppointmentTreeItem.rst │ │ ├── ApptModeDialog.rst │ │ ├── ApptPrefsDialog.rst │ │ ├── AvatarWidget.rst │ │ ├── BPEWidget.rst │ │ ├── BPE_ComboBox.rst │ │ ├── BackupConfig.rst │ │ ├── BaseDialog.rst │ │ ├── BaseMainWindow.rst │ │ ├── Browser.rst │ │ ├── CSV_Writer.rst │ │ ├── ChartDataModel.rst │ │ ├── ChartLineEdit.rst │ │ ├── ChartOptionsWidget.rst │ │ ├── ChartRoot.rst │ │ ├── ChartTooth.rst │ │ ├── ChartWidgetBase.rst │ │ ├── ChartWidgetCompleted.rst │ │ ├── ChartWidgetStatic.rst │ │ ├── ChartWidgetSummary.rst │ │ ├── ChartWidgetTreatment.rst │ │ ├── ChartsPage.rst │ │ ├── ChooseClinicianFrame.rst │ │ ├── ClientConnection.rst │ │ ├── ClientMainWindow.rst │ │ ├── ClientSessionWidget.rst │ │ ├── ClosableTabWidget.rst │ │ ├── Colours.rst │ │ ├── CommentRecord.rst │ │ ├── CommonSettings.rst │ │ ├── CompletionTextEdit.rst │ │ ├── ConfigureDatabaseDialog.rst │ │ ├── ConnectDialog.rst │ │ ├── Connection230Data.rst │ │ ├── ConnectionData.rst │ │ ├── ConnectionError.rst │ │ ├── ContractedPractitionerDB.rst │ │ ├── ControlPanel.rst │ │ ├── CrownCodesModel.rst │ │ ├── CrownRecord.rst │ │ ├── DBFunctions.rst │ │ ├── DatabaseTableViewer.rst │ │ ├── DayCell.rst │ │ ├── DefaultLineEdit.rst │ │ ├── DemoAdminConnection.rst │ │ ├── DemoClientConnection.rst │ │ ├── DemoGenerator.rst │ │ ├── DemoProgressDialog.rst │ │ ├── DetailsBrowser.rst │ │ ├── Dialog.rst │ │ ├── DiaryAppointment.rst │ │ ├── DiaryControl.rst │ │ ├── DiaryDataModel.rst │ │ ├── DiaryDayData.rst │ │ ├── DiaryInterface.rst │ │ ├── DiaryPeriodControl.rst │ │ ├── DiaryScheduleController.rst │ │ ├── DiaryViewController.rst │ │ ├── DiaryWidget.rst │ │ ├── DictionaryCompleter.rst │ │ ├── DockWidgetTitleWidget.rst │ │ ├── DockableMenuBar.rst │ │ ├── DropPGUserDialog.rst │ │ ├── DuckPatient.rst │ │ ├── DuckPayload.rst │ │ ├── EditPatientDialog.rst │ │ ├── EditableField.rst │ │ ├── EstimatesPage.rst │ │ ├── ExistingAddressWidget.rst │ │ ├── ExtendableDialog.rst │ │ ├── FillRecord.rst │ │ ├── FinalSelectionDialog.rst │ │ ├── FinalSelectionModel.rst │ │ ├── FindAddressDialog.rst │ │ ├── FindPatientDialog.rst │ │ ├── FontOptionsWidget.rst │ │ ├── FunctionStore.rst │ │ ├── GeneratedSvg.rst │ │ ├── GetLengthDialog.rst │ │ ├── HistoryPage.rst │ │ ├── HygTreatmentDialog.rst │ │ ├── ImportDialog.rst │ │ ├── ImportProgressDialog.rst │ │ ├── Importer.rst │ │ ├── InsertableRecord.rst │ │ ├── Installer.rst │ │ ├── KnownAddressNewLinkDialog.rst │ │ ├── KnownServerWidget.rst │ │ ├── ListBpeDialog.rst │ │ ├── LogWidget.rst │ │ ├── ManageDatabaseDialog.rst │ │ ├── ManageDatabasesWidget.rst │ │ ├── ManageHistoryDialog.rst │ │ ├── ManagePGUsersDialog.rst │ │ ├── MaterialButBox.rst │ │ ├── MemoClericalDB.rst │ │ ├── MemoClinicalDB.rst │ │ ├── MessageFunctions.rst │ │ ├── MessagePopup.rst │ │ ├── Messages.rst │ │ ├── MultipleDatabaseWidget.rst │ │ ├── MyModel.rst │ │ ├── MyRelationalModel.rst │ │ ├── NavigateFrame.rst │ │ ├── NewAddressDialog.rst │ │ ├── NewAddressWidget.rst │ │ ├── NewApptDialog.rst │ │ ├── NewBpeDialog.rst │ │ ├── NewContractedPractitionerRecord.rst │ │ ├── NewDatabaseDialog.rst │ │ ├── NewExamDialog.rst │ │ ├── NewPatientDB.rst │ │ ├── NewPatientDialog.rst │ │ ├── NewPerioBPERecord.rst │ │ ├── NewPerioPocketingRecord.rst │ │ ├── NewRowDialog.rst │ │ ├── NewUserPasswordDialog.rst │ │ ├── NotesClericalDB.rst │ │ ├── NotesClinicalDB.rst │ │ ├── NotesModel.rst │ │ ├── NotesWidget.rst │ │ ├── NullDateEdit.rst │ │ ├── OMServer.rst │ │ ├── OMServerConfig.rst │ │ ├── OMType.rst │ │ ├── OMTypes.rst │ │ ├── OnlinePluginsWidget.rst │ │ ├── OpenmolarDatabase.rst │ │ ├── PasswordLineEdit.rst │ │ ├── PatientDB.rst │ │ ├── PatientDiaryModel.rst │ │ ├── PatientInterface.rst │ │ ├── PatientInterfaceOptionsWidget.rst │ │ ├── PatientModel.rst │ │ ├── PatientNotFoundError.rst │ │ ├── PayLoad.rst │ │ ├── PerioBpeDB.rst │ │ ├── PerioData.rst │ │ ├── PerioDataError.rst │ │ ├── PerioPocketingDB.rst │ │ ├── PermissionDispatcher.rst │ │ ├── PlainTextDialog.rst │ │ ├── PlugableMainWindow.rst │ │ ├── Plugin.rst │ │ ├── PluginDownloadWindow.rst │ │ ├── PluginHandler.rst │ │ ├── PluginOptionsWidget.rst │ │ ├── PluginsDirectoryDialog.rst │ │ ├── PopulateDemoDialog.rst │ │ ├── PostgresMainWindow.rst │ │ ├── PostgresSessionWidget.rst │ │ ├── PractitionerListModel.rst │ │ ├── PractitionerObject.rst │ │ ├── Practitioners.rst │ │ ├── Preference.rst │ │ ├── PreferencesDialog.rst │ │ ├── PrintedForm.rst │ │ ├── ProcCode.rst │ │ ├── ProcCodeDockWidget.rst │ │ ├── ProcCodeTreeModel.rst │ │ ├── ProcCodeWidget.rst │ │ ├── ProcedureCodes.rst │ │ ├── ProgressWidget.rst │ │ ├── ProxyClient.rst │ │ ├── ProxyManager.rst │ │ ├── ProxyUser.rst │ │ ├── PtDiaryControlPanel.rst │ │ ├── PtDiaryWidget.rst │ │ ├── ReceptionPage.rst │ │ ├── RelationalDatabaseTableViewer.rst │ │ ├── RestorableApplication.rst │ │ ├── RootRecord.rst │ │ ├── SaveDiscardCancelDialog.rst │ │ ├── ServerFunctionDialog.rst │ │ ├── Service.rst │ │ ├── SettingsError.rst │ │ ├── ShellFunctions.rst │ │ ├── ShowAddyMatchDialog.rst │ │ ├── ShowMatchDialog.rst │ │ ├── Signaller.rst │ │ ├── SignallingApplication.rst │ │ ├── SoundexLineEdit.rst │ │ ├── SqlQueryTable.rst │ │ ├── StaffAvatarWidget.rst │ │ ├── StaffMembers.rst │ │ ├── StaffObject.rst │ │ ├── StaticCommentsDB.rst │ │ ├── StaticCrownsDB.rst │ │ ├── StaticFillsDB.rst │ │ ├── StaticRootsDB.rst │ │ ├── StaticShortcutsFrame.rst │ │ ├── StatusBarWidget.rst │ │ ├── SummaryLineEdit.rst │ │ ├── SummaryPage.rst │ │ ├── TeethPresentDB.rst │ │ ├── TeethPresentDecoder.rst │ │ ├── TelephoneDB.rst │ │ ├── TestWindow.rst │ │ ├── TextFieldsDB.rst │ │ ├── Tooth.rst │ │ ├── ToothData.rst │ │ ├── ToothDataEditor.rst │ │ ├── ToothDataError.rst │ │ ├── ToothDataListModel.rst │ │ ├── ToothDataListWidget.rst │ │ ├── ToothEditor.rst │ │ ├── ToothWidget.rst │ │ ├── TreatmentItem.rst │ │ ├── TreatmentItemException.rst │ │ ├── TreatmentItemFinaliseDialog.rst │ │ ├── TreatmentItemMetadata.rst │ │ ├── TreatmentModel.rst │ │ ├── TreatmentPage.rst │ │ ├── TreatmentTreeModel.rst │ │ ├── TreeItem.rst │ │ ├── UpperCaseLineEdit.rst │ │ ├── UserObject.rst │ │ ├── UserPasswordDialog.rst │ │ ├── Users.rst │ │ ├── VerifyingRequestHandler.rst │ │ ├── VerifyingServer.rst │ │ ├── VerifyingServerSSL.rst │ │ ├── WhoLivesHereDialog.rst │ │ ├── XLS_Writer.rst │ │ └── XrayTreatmentDialog.rst │ ├── design │ │ └── index.rst │ ├── implementation │ │ └── index.rst │ ├── index.rst │ └── misc │ │ ├── database_interaction.rst │ │ ├── postgres.rst │ │ └── tooth_notation.rst │ └── tutorials │ ├── index.rst │ └── new_record.rst ├── man ├── admin │ └── openmolar_admin.1 └── server │ └── openmolar_server.1 ├── misc ├── admin │ ├── openmolar-admin │ ├── openmolar-admin.svg │ └── openmolar2-admin.desktop ├── client │ ├── openmolar-client │ ├── openmolar2.desktop │ └── openmolar2.svg ├── newlogo.png ├── openmolar2 └── server │ ├── cert.pem │ ├── master_schema.sql │ ├── openmolar │ ├── openmolar-alter-master-user │ ├── openmolar-fuzzymatch │ ├── openmolar-init-master-db │ ├── openmolar-init-master-user │ ├── openmolar-server │ ├── privatekey.pem │ └── schemas │ ├── latest_permissions.sql │ ├── latest_schema.sql │ ├── permissions_001.sql │ └── schema_001.sql ├── setup.py ├── src ├── admin.py ├── client.py ├── config_files │ ├── conf.sample │ ├── demo.conf │ ├── localhost.conf │ └── openmolar_server.conf ├── lib_openmolar │ ├── __init__.py │ ├── admin │ │ ├── .hgignore │ │ ├── __init__.py │ │ ├── admin_logger.py │ │ ├── connect.py │ │ ├── data_import │ │ │ ├── __init__.py │ │ │ ├── import_dialog.py │ │ │ └── importer.py │ │ ├── db_orm │ │ │ ├── __init__.py │ │ │ ├── admin_address.py │ │ │ ├── admin_address_link.py │ │ │ ├── admin_appointments.py │ │ │ ├── admin_avatars.py │ │ │ ├── admin_calendar.py │ │ │ ├── admin_contracted_practitioner.py │ │ │ ├── admin_dbusers.py │ │ │ ├── admin_diaries.py │ │ │ ├── admin_diary_entries.py │ │ │ ├── admin_diary_in_office.py │ │ │ ├── admin_fees.py │ │ │ ├── admin_invoice_status.py │ │ │ ├── admin_invoices.py │ │ │ ├── admin_memo_clerical.py │ │ │ ├── admin_memo_clinical.py │ │ │ ├── admin_notes_clerical.py │ │ │ ├── admin_notes_clinical.py │ │ │ ├── admin_patient.py │ │ │ ├── admin_perio_bleeding.py │ │ │ ├── admin_perio_bpe.py │ │ │ ├── admin_perio_plaque.py │ │ │ ├── admin_perio_pocketing.py │ │ │ ├── admin_perio_recession.py │ │ │ ├── admin_practices.py │ │ │ ├── admin_practitioners.py │ │ │ ├── admin_static_comments.py │ │ │ ├── admin_static_crowns.py │ │ │ ├── admin_static_fills.py │ │ │ ├── admin_static_roots.py │ │ │ ├── admin_static_supernumerary.py │ │ │ ├── admin_teeth_present.py │ │ │ ├── admin_telephone.py │ │ │ ├── admin_telephone_link.py │ │ │ ├── admin_treatment_chart.py │ │ │ ├── admin_treatment_crowns.py │ │ │ ├── admin_treatment_fills.py │ │ │ ├── admin_treatment_teeth.py │ │ │ ├── admin_treatments.py │ │ │ └── admin_users.py │ │ ├── db_tools │ │ │ ├── __init__.py │ │ │ └── proxy_manager.py │ │ ├── main_cli.py │ │ ├── qrc_resources.py │ │ ├── qt4 │ │ │ ├── __init__.py │ │ │ ├── admin_gui.py │ │ │ ├── classes │ │ │ │ ├── __init__.py │ │ │ │ ├── admin_session_widget.py │ │ │ │ ├── browser.py │ │ │ │ ├── database_models.py │ │ │ │ ├── database_table.py │ │ │ │ ├── known_server_widget.py │ │ │ │ ├── log_widget.py │ │ │ │ ├── query_table.py │ │ │ │ └── tab_widget.py │ │ │ └── dialogs │ │ │ │ ├── __init__.py │ │ │ │ ├── configure_db_dialog.py │ │ │ │ ├── demo_progress_dialog.py │ │ │ │ ├── drop_pg_user_dialog.py │ │ │ │ ├── import_progress_dialog.py │ │ │ │ ├── manage_db_dialog.py │ │ │ │ ├── manage_pg_users_dialog.py │ │ │ │ ├── new_db_dialog.py │ │ │ │ ├── new_db_row_dialog.py │ │ │ │ ├── plain_text_dialog.py │ │ │ │ ├── populate_demo_dialog.py │ │ │ │ └── server_function_dialog.py │ │ ├── resources │ │ │ ├── Makefile │ │ │ ├── avatars │ │ │ │ ├── demo_andi.svg │ │ │ │ ├── demo_blondie.svg │ │ │ │ ├── demo_frog.svg │ │ │ │ ├── demo_helen.svg │ │ │ │ ├── demo_iceman.svg │ │ │ │ ├── demo_ja.svg │ │ │ │ ├── demo_jellyman.svg │ │ │ │ ├── demo_lucy.svg │ │ │ │ ├── demo_me.svg │ │ │ │ ├── demo_nattress.svg │ │ │ │ ├── demo_negro.svg │ │ │ │ ├── demo_neil.svg │ │ │ │ └── demo_sally.svg │ │ │ ├── icons │ │ │ │ ├── database.png │ │ │ │ └── openmolar-server.png │ │ │ ├── proc_codes │ │ │ │ ├── om2_codes.txt │ │ │ │ └── om2_descriptions.txt │ │ │ └── resources.qrc │ │ └── settings.py │ ├── client │ │ ├── .hgignore │ │ ├── __init__.py │ │ ├── classes │ │ │ ├── __init__.py │ │ │ └── tooth.py │ │ ├── connect.py │ │ ├── db_orm │ │ │ ├── __init__.py │ │ │ ├── client_address.py │ │ │ ├── client_contracted_practitioner.py │ │ │ ├── client_memo_clerical.py │ │ │ ├── client_memo_clinical.py │ │ │ ├── client_notes_clerical.py │ │ │ ├── client_notes_clinical.py │ │ │ ├── client_patient.py │ │ │ ├── client_perio_bpe.py │ │ │ ├── client_perio_pocketing.py │ │ │ ├── client_practitioner.py │ │ │ ├── client_staff_members.py │ │ │ ├── client_static_comments.py │ │ │ ├── client_static_crowns.py │ │ │ ├── client_static_fills.py │ │ │ ├── client_static_roots.py │ │ │ ├── client_teeth_present.py │ │ │ ├── client_telephone.py │ │ │ ├── client_text_fields.py │ │ │ ├── client_users.py │ │ │ ├── diary │ │ │ │ ├── __init__.py │ │ │ │ ├── diary_appointment.py │ │ │ │ ├── diary_day_data.py │ │ │ │ ├── diary_model.py │ │ │ │ └── diary_settings.py │ │ │ ├── notes_model.py │ │ │ ├── patient_model.py │ │ │ ├── table_models │ │ │ │ ├── __init__.py │ │ │ │ └── patient_diary_model.py │ │ │ └── treatment_model.py │ │ ├── messages.py │ │ ├── qrc_resources.py │ │ ├── qt4 │ │ │ ├── __init__.py │ │ │ ├── client_gui.py │ │ │ ├── client_session_widget.py │ │ │ ├── colours.py │ │ │ ├── dialogs │ │ │ │ ├── __init__.py │ │ │ │ ├── address_dialogs │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── address_change_logic_dialog.py │ │ │ │ │ ├── address_dialog.py │ │ │ │ │ ├── address_history_dialog.py │ │ │ │ │ ├── components │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── existing_address_widget.py │ │ │ │ │ │ └── new_address_widget.py │ │ │ │ │ ├── find_address_dialog.py │ │ │ │ │ ├── known_address_new_link.py │ │ │ │ │ ├── new_address_dialog.py │ │ │ │ │ ├── select_address.py │ │ │ │ │ └── who_lives_here_dialog.py │ │ │ │ ├── bpe_dialogs.py │ │ │ │ ├── edit_patient_dialog.py │ │ │ │ ├── find_patient_dialog.py │ │ │ │ ├── hyg_treatment_dialog.py │ │ │ │ ├── new_exam_dialog.py │ │ │ │ ├── new_patient_dialog.py │ │ │ │ ├── save_discard_cancel_dialog.py │ │ │ │ ├── treatment_item_finalise_dialog.py │ │ │ │ └── xray_treatment_dialog.py │ │ │ ├── diary │ │ │ │ ├── __init__.py │ │ │ │ ├── components │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── diary_control.py │ │ │ │ │ ├── diary_period_control.py │ │ │ │ │ ├── diary_schedule_controller.py │ │ │ │ │ ├── diary_view_controller.py │ │ │ │ │ └── diary_widget.py │ │ │ │ ├── dialogs │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── appt_mode_dialog.py │ │ │ │ └── diary_interface.py │ │ │ ├── patient_records │ │ │ │ ├── __init__.py │ │ │ │ ├── pages │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── page_charts.py │ │ │ │ │ ├── page_estimates.py │ │ │ │ │ ├── page_history.py │ │ │ │ │ ├── page_reception.py │ │ │ │ │ ├── page_summary.py │ │ │ │ │ └── page_treatment.py │ │ │ │ └── patient_interface.py │ │ │ ├── pt_diary_widget │ │ │ │ ├── __init__.py │ │ │ │ ├── appt_prefs_dialog.py │ │ │ │ ├── new_appt_dialog.py │ │ │ │ ├── pt_diary_control_panel.py │ │ │ │ └── pt_diary_widget.py │ │ │ └── widgets │ │ │ │ ├── __init__.py │ │ │ │ ├── add_notes_widget.py │ │ │ │ ├── bpe_widget.py │ │ │ │ ├── chart_editor │ │ │ │ ├── __init__.py │ │ │ │ ├── chart_editor_tooth.py │ │ │ │ ├── chart_line_edit.py │ │ │ │ ├── navigate_frame.py │ │ │ │ ├── static_shortcuts_frame.py │ │ │ │ ├── tooth_data_editor.py │ │ │ │ └── tooth_data_list_widget.py │ │ │ │ ├── chart_widgets │ │ │ │ ├── __init__.py │ │ │ │ ├── chart_data_model.py │ │ │ │ ├── chart_widget_base.py │ │ │ │ ├── chart_widget_completed.py │ │ │ │ ├── chart_widget_static.py │ │ │ │ ├── chart_widget_summary.py │ │ │ │ ├── chart_widget_treatment.py │ │ │ │ ├── perio_data.py │ │ │ │ ├── roots.py │ │ │ │ ├── teeth.py │ │ │ │ └── tooth_data.py │ │ │ │ ├── control_panel.py │ │ │ │ ├── details_browser.py │ │ │ │ ├── notes_widget.py │ │ │ │ ├── patient_interface_options_widget.py │ │ │ │ ├── procedures │ │ │ │ ├── __init__.py │ │ │ │ ├── codes_tree_model.py │ │ │ │ ├── crown_codes_model.py │ │ │ │ └── proc_code_widget.py │ │ │ │ ├── soundex_line_edit.py │ │ │ │ ├── statusbar_widget.py │ │ │ │ ├── summary_line_edit.py │ │ │ │ └── treatment_tree_model.py │ │ ├── resources │ │ │ ├── Makefile │ │ │ ├── css │ │ │ │ ├── details.css │ │ │ │ └── notes.css │ │ │ ├── icons │ │ │ │ ├── add_user.png │ │ │ │ ├── agt_back.png │ │ │ │ ├── agt_family.png │ │ │ │ ├── agt_forward.png │ │ │ │ ├── agt_home.png │ │ │ │ ├── agt_reload.png │ │ │ │ ├── applications-internet.png │ │ │ │ ├── bpe_list.png │ │ │ │ ├── bpe_new.png │ │ │ │ ├── chain-broken.png │ │ │ │ ├── chain.png │ │ │ │ ├── crown.png │ │ │ │ ├── database.png │ │ │ │ ├── filling.png │ │ │ │ ├── fissure_sealant.png │ │ │ │ ├── openmolar-server.png │ │ │ │ ├── openmolar.png │ │ │ │ ├── pencil.png │ │ │ │ ├── phone.png │ │ │ │ ├── root.png │ │ │ │ ├── search.png │ │ │ │ ├── soundex.svg │ │ │ │ └── vcalendar.png │ │ │ ├── implants │ │ │ │ ├── lower_implant.svg │ │ │ │ └── upper_implant.svg │ │ │ ├── resources.qrc │ │ │ └── teeth │ │ │ │ ├── lr1.svg │ │ │ │ ├── lr2.svg │ │ │ │ ├── lr3.svg │ │ │ │ ├── lr4.svg │ │ │ │ ├── lr5.svg │ │ │ │ ├── lr6.svg │ │ │ │ ├── lr7.svg │ │ │ │ ├── lr8.svg │ │ │ │ ├── teeth.svg │ │ │ │ ├── ur1.svg │ │ │ │ ├── ur2.svg │ │ │ │ ├── ur3.svg │ │ │ │ ├── ur4.svg │ │ │ │ ├── ur5.svg │ │ │ │ ├── ur6.svg │ │ │ │ ├── ur7.svg │ │ │ │ └── ur8.svg │ │ └── settings.py │ ├── common │ │ ├── .hgignore │ │ ├── __init__.py │ │ ├── connect │ │ │ ├── __init__.py │ │ │ ├── proxy_client.py │ │ │ └── proxy_user.py │ │ ├── datatypes │ │ │ ├── __init__.py │ │ │ ├── connection230_data.py │ │ │ ├── connection_data.py │ │ │ ├── editable_field.py │ │ │ ├── om_types.py │ │ │ ├── proc_code.py │ │ │ └── proc_codes.py │ │ ├── db_orm │ │ │ ├── __init__.py │ │ │ ├── insertable_record.py │ │ │ ├── om_views.py │ │ │ ├── teeth_present_decoder.py │ │ │ └── treatment_item.py │ │ ├── import_export │ │ │ ├── __init__.py │ │ │ ├── export_csv.py │ │ │ └── export_xls.py │ │ ├── qt4 │ │ │ ├── __init__.py │ │ │ ├── dialogs │ │ │ │ ├── __init__.py │ │ │ │ ├── base_dialog.py │ │ │ │ ├── extendable_dialog.py │ │ │ │ ├── new_user_dialog.py │ │ │ │ ├── preferences_dialog.py │ │ │ │ └── user_dialog.py │ │ │ ├── plugin_tools │ │ │ │ ├── __init__.py │ │ │ │ ├── online_plugins_widget.py │ │ │ │ ├── plugable_main_window.py │ │ │ │ ├── plugin.py │ │ │ │ ├── plugin_download_window.py │ │ │ │ ├── plugin_handler.py │ │ │ │ ├── plugin_options_widget.py │ │ │ │ └── plugins_directory_dialog.py │ │ │ ├── postgres │ │ │ │ ├── __init__.py │ │ │ │ ├── connect_dialog.py │ │ │ │ ├── manage_databases_widget.py │ │ │ │ ├── multiple_database_widget.py │ │ │ │ ├── openmolar_database.py │ │ │ │ ├── postgres_mainwindow.py │ │ │ │ └── postgres_session_widget.py │ │ │ ├── printing │ │ │ │ ├── __init__.py │ │ │ │ └── printed_form.py │ │ │ ├── qrc_resources.py │ │ │ └── widgets │ │ │ │ ├── __init__.py │ │ │ │ ├── advisor_notification.py │ │ │ │ ├── closeable_tab_widget.py │ │ │ │ ├── completer_textedit.py │ │ │ │ ├── dockable_menubar.py │ │ │ │ ├── font_options_widget.py │ │ │ │ ├── main_window.py │ │ │ │ ├── null_date_edit.py │ │ │ │ ├── password_lineedit.py │ │ │ │ ├── preference.py │ │ │ │ ├── progress_widget.py │ │ │ │ ├── restorable_app.py │ │ │ │ └── upper_case_lineedit.py │ │ ├── resources │ │ │ ├── Makefile │ │ │ ├── css │ │ │ │ └── proxy.css │ │ │ ├── icons │ │ │ │ ├── eraser.png │ │ │ │ ├── no_postgresql_elephant.svg │ │ │ │ ├── plugins.png │ │ │ │ └── postgresql_elephant.svg │ │ │ ├── images │ │ │ │ ├── footer_fade.png │ │ │ │ ├── header_fade.png │ │ │ │ ├── log.png │ │ │ │ └── om_db.png │ │ │ ├── proc_codes │ │ │ │ └── om2_codes.xml │ │ │ └── resources.qrc │ │ └── settings.py │ └── server │ │ ├── .hgignore │ │ ├── __init__.py │ │ ├── daemon │ │ ├── __init__.py │ │ └── service.py │ │ ├── functions │ │ ├── __init__.py │ │ ├── db_functions.py │ │ ├── function_store.py │ │ ├── message_functions.py │ │ ├── password_generator.py │ │ └── shell_functions.py │ │ ├── misc │ │ ├── __init__.py │ │ ├── backup_config.py │ │ ├── installer.py │ │ ├── logger.py │ │ ├── om_server_config.py │ │ ├── password_generator.py │ │ └── payload.py │ │ ├── permission_dispatcher.py │ │ ├── server.py │ │ └── servers │ │ ├── __init__.py │ │ └── verifying_servers.py ├── main.py ├── server.py ├── shell_scripts │ ├── alter_master_user.sh │ ├── init.d_script.sh │ ├── init_master_db.sh │ ├── init_master_user.sh │ └── install_fuzzymatch.sh ├── tests.py └── tests │ ├── class_tests │ ├── testCommonSettings.py │ ├── testMainWindow.py │ └── testTreatmentItem.py │ ├── run_all_modules.py │ └── test_demo_installer.py ├── version_manager.py └── version_number.py /.gitignore: -------------------------------------------------------------------------------- 1 | documentation/docbook/html 2 | documentation/docbook/pdf 3 | documentation/epydoc/html 4 | documentation/sphinx/technical/classes 5 | documentation/sphinx/technical/classes/* 6 | documentation/sphinx/_build/* 7 | documentation/videos/* 8 | documentation/WEBSITE 9 | documentation/sphinx/images 10 | .*\.pyc$ 11 | .*~$ 12 | experimental/ 13 | experimental/* 14 | dist/ 15 | build/ 16 | MANIFEST.in 17 | setup.cnf 18 | setup_part.cnf 19 | src/version.py 20 | releases/* 21 | tmp/* 22 | setup.cfg 23 | plugins/ 24 | plugins/* 25 | deb_srcs/ 26 | tarballs/ 27 | debs/ 28 | 29 | -------------------------------------------------------------------------------- /README.txt: -------------------------------------------------------------------------------- 1 | This version of openmolar is a complete rewrite of the the application used by the author in his own practice. 2 | It is experimental in nature, and not yet ready for even trial use. 3 | 4 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/dh_python2/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/dh_python2/debian/control: -------------------------------------------------------------------------------- 1 | Source: openmolar-admin 2 | Section: misc 3 | Priority: extra 4 | Maintainer: Neil Wallace 5 | Build-Depends: python, debhelper (>= 7) 6 | Homepage: http://www.openmolar.com 7 | Vcs-browser: http://code.google.com/p/openmolar/ 8 | Standards-Version: 3.9.3 9 | 10 | Package: openmolar-admin 11 | Architecture: all 12 | Section: misc 13 | Priority: extra 14 | Depends: ${python:Depends}, ${misc:Depends}, openmolar-common, python-qscintilla2 15 | Description: Dental Practice Management Software - Admin Component 16 | . 17 | provides an assortment of command line and graphical tools for 18 | initialising a practice database, and managing many of the occasional 19 | maintenance tasks. Usually only one install per network 20 | (as opposed to openmolar-client which may have multiple installations). 21 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/dh_python2/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianized by: 2 | 3 | Neil Wallace on Tues, 5 Dec 2011 13:20:09 +0000 4 | 5 | It was downloaded from: 6 | 7 | http://www.openmolar.com 8 | 9 | Upstream Author(s): 10 | 11 | Neil Wallace (rowinggolfer) 12 | 13 | Copyright: 14 | 15 | Copyright (C) 2009-2011 Neil Wallace 16 | 17 | License: 18 | 19 | This package is free software; you can redistribute it and/or modify 20 | it under the terms of the GNU General Public License as published by 21 | the Free Software Foundation; either version 3 of the License, or 22 | (at your option) any later version. 23 | 24 | This package is distributed in the hope that it will be useful, 25 | but WITHOUT ANY WARRANTY; without even the implied warranty of 26 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 27 | GNU General Public License for more details. 28 | 29 | You should have received a copy of the GNU General Public License 30 | along with this package; if not, write to the Free Software 31 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 32 | 33 | On Debian systems, the complete text of the GNU General 34 | Public License can be found in `/usr/share/common-licenses/GPL-3'. 35 | 36 | The Debian packaging is: 37 | 38 | Copyright C) 2009-2011, Neil Wallace 39 | 40 | and is licensed under the GPL, see above. 41 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/dh_python2/debian/docs: -------------------------------------------------------------------------------- 1 | README.txt 2 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/dh_python2/debian/openmolar-admin.manpages: -------------------------------------------------------------------------------- 1 | man/admin/openmolar_admin.1 2 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/dh_python2/debian/postinst: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | #DEBHELPER# 4 | 5 | ln -sf "/etc/openmolar/connections230-available/localhost.conf" "/etc/openmolar/admin/connections230/localhost" 6 | ln -sf "/etc/openmolar/connections-available/demo.conf" "/etc/openmolar/admin/connections/demo" 7 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/dh_python2/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | %: 3 | dh $@ --buildsystem=python_distutils --with=python2 4 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/dh_python2/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/py_support/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/py_support/debian/control: -------------------------------------------------------------------------------- 1 | Source: openmolar-admin 2 | Section: misc 3 | Priority: extra 4 | Maintainer: Neil Wallace 5 | Build-Depends: debhelper (>= 7), python-support, python (>=2.6) 6 | Homepage: http://www.openmolar.com 7 | Vcs-browser: http://code.google.com/p/openmolar/ 8 | Standards-Version: 3.9.3 9 | 10 | Package: openmolar-admin 11 | Architecture: all 12 | Section: misc 13 | Priority: extra 14 | Depends: ${python:Depends}, ${misc:Depends}, openmolar-common, python-qscintilla2 15 | Description: Dental Practice Management Software - Admin Component 16 | . 17 | provides an assortment of command line and graphical tools for 18 | initialising a practice database, and managing many of the occasional 19 | maintenance tasks. Usually only one install per network 20 | (as opposed to openmolar-client which may have multiple installations). 21 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/py_support/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianized by: 2 | 3 | Neil Wallace on Tues, 5 Dec 2011 13:20:09 +0000 4 | 5 | It was downloaded from: 6 | 7 | http://www.openmolar.com 8 | 9 | Upstream Author(s): 10 | 11 | Neil Wallace (rowinggolfer) 12 | 13 | Copyright: 14 | 15 | Copyright (C) 2009-2011 Neil Wallace 16 | 17 | License: 18 | 19 | This package is free software; you can redistribute it and/or modify 20 | it under the terms of the GNU General Public License as published by 21 | the Free Software Foundation; either version 3 of the License, or 22 | (at your option) any later version. 23 | 24 | This package is distributed in the hope that it will be useful, 25 | but WITHOUT ANY WARRANTY; without even the implied warranty of 26 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 27 | GNU General Public License for more details. 28 | 29 | You should have received a copy of the GNU General Public License 30 | along with this package; if not, write to the Free Software 31 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 32 | 33 | On Debian systems, the complete text of the GNU General 34 | Public License can be found in `/usr/share/common-licenses/GPL-3'. 35 | 36 | The Debian packaging is: 37 | 38 | Copyright C) 2009-2011, Neil Wallace 39 | 40 | and is licensed under the GPL, see above. 41 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/py_support/debian/docs: -------------------------------------------------------------------------------- 1 | README.txt 2 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/py_support/debian/openmolar-admin.manpages: -------------------------------------------------------------------------------- 1 | man/admin/openmolar_admin.1 2 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/py_support/debian/postinst: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | #DEBHELPER# 4 | 5 | ln -sf "/etc/openmolar/connections230-available/localhost.conf" "/etc/openmolar/admin/connections230/localhost" 6 | ln -sf "/etc/openmolar/connections-available/demo.conf" "/etc/openmolar/admin/connections/demo" 7 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/py_support/debian/pyversions: -------------------------------------------------------------------------------- 1 | 2.6- 2 | -------------------------------------------------------------------------------- /build_scripts/admin/debian_packaging/py_support/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | %: 3 | dh $@ 4 | -------------------------------------------------------------------------------- /build_scripts/admin/rpm_packaging/openmolar-admin.spec: -------------------------------------------------------------------------------- 1 | %define name openmolar-admin 2 | %define version 2.0.63 3 | %define unmangled_version 2.0.63 4 | %define release 1 5 | 6 | Summary: Dental Practice Management Software - admin 7 | Name: %{name} 8 | Version: %{version} 9 | Release: %{release} 10 | Source0: %{name}-%{unmangled_version}.tar.gz 11 | License: GPL v3 12 | Group: Office 13 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot 14 | Prefix: %{_prefix} 15 | BuildArch: noarch 16 | Vendor: Neil Wallace 17 | Url: http://www.openmolar.com 18 | 19 | BuildRequires: python 20 | 21 | %description 22 | Dental Practice Management Software - Admin Component 23 | provides an assortment of command line and graphical tools for 24 | initialising a practice database, and managing many of the occasional 25 | maintenance tasks. Usually only one install per network 26 | 27 | %prep 28 | %setup -n %{name}-%{unmangled_version} 29 | 30 | %build 31 | python setup.py build 32 | 33 | %install 34 | python setup.py install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES 35 | 36 | %clean 37 | rm -rf $RPM_BUILD_ROOT 38 | 39 | %files -f INSTALLED_FILES 40 | %defattr(-,root,root) 41 | -------------------------------------------------------------------------------- /build_scripts/client/debian_packaging/dh_python2/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /build_scripts/client/debian_packaging/dh_python2/debian/control: -------------------------------------------------------------------------------- 1 | Source: openmolar-client 2 | Section: misc 3 | Priority: extra 4 | Maintainer: Neil Wallace 5 | Build-Depends: python, debhelper (>= 7) 6 | Homepage: http://www.openmolar.com 7 | Vcs-browser: http://code.google.com/p/openmolar/ 8 | Standards-Version: 3.9.3 9 | 10 | Package: openmolar-client 11 | Architecture: all 12 | Section: misc 13 | Priority: extra 14 | Depends: ${python:Depends}, ${misc:Depends}, openmolar-common 15 | Description: Dental Practice Management Software - Client Application 16 | . 17 | provides the application designed to be run in dental surgeries 18 | and receptionist desks. 19 | -------------------------------------------------------------------------------- /build_scripts/client/debian_packaging/dh_python2/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianized by: 2 | 3 | Neil Wallace on Tues, 5 Dec 2011 13:20:09 +0000 4 | 5 | It was downloaded from: 6 | 7 | http://www.openmolar.com 8 | 9 | Upstream Author(s): 10 | 11 | Neil Wallace (rowinggolfer) 12 | 13 | Copyright: 14 | 15 | Copyright (C) 2009-2011 Neil Wallace 16 | 17 | License: 18 | 19 | This package is free software; you can redistribute it and/or modify 20 | it under the terms of the GNU General Public License as published by 21 | the Free Software Foundation; either version 3 of the License, or 22 | (at your option) any later version. 23 | 24 | This package is distributed in the hope that it will be useful, 25 | but WITHOUT ANY WARRANTY; without even the implied warranty of 26 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 27 | GNU General Public License for more details. 28 | 29 | You should have received a copy of the GNU General Public License 30 | along with this package; if not, write to the Free Software 31 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 32 | 33 | On Debian systems, the complete text of the GNU General 34 | Public License can be found in `/usr/share/common-licenses/GPL-3'. 35 | 36 | The Debian packaging is: 37 | 38 | Copyright C) 2009-2011, Neil Wallace 39 | 40 | and is licensed under the GPL, see above. 41 | -------------------------------------------------------------------------------- /build_scripts/client/debian_packaging/dh_python2/debian/docs: -------------------------------------------------------------------------------- 1 | README.txt 2 | -------------------------------------------------------------------------------- /build_scripts/client/debian_packaging/dh_python2/debian/postinst: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | #DEBHELPER# 4 | 5 | ln -sf "/etc/openmolar/connections230-available/localhost.conf" "/etc/openmolar/client/connections230/localhost" 6 | ln -sf "/etc/openmolar/connections-available/demo.conf" "/etc/openmolar/client/connections/demo" 7 | -------------------------------------------------------------------------------- /build_scripts/client/debian_packaging/dh_python2/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | %: 3 | dh $@ --buildsystem=python_distutils --with=python2 4 | -------------------------------------------------------------------------------- /build_scripts/client/debian_packaging/dh_python2/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /build_scripts/client/debian_packaging/py_support/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /build_scripts/client/debian_packaging/py_support/debian/control: -------------------------------------------------------------------------------- 1 | Source: openmolar-client 2 | Section: misc 3 | Priority: extra 4 | Maintainer: Neil Wallace 5 | Build-Depends: debhelper (>= 7), python-support, python (>=2.6) 6 | Homepage: http://www.openmolar.com 7 | Vcs-browser: http://code.google.com/p/openmolar/ 8 | Standards-Version: 3.9.3 9 | 10 | Package: openmolar-client 11 | Architecture: all 12 | Section: misc 13 | Priority: extra 14 | Depends: ${python:Depends}, ${misc:Depends}, openmolar-common 15 | Description: Dental Practice Management Software - Client Application 16 | . 17 | provides the application designed to be run in dental surgeries 18 | and receptionist desks. 19 | -------------------------------------------------------------------------------- /build_scripts/client/debian_packaging/py_support/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianized by: 2 | 3 | Neil Wallace on Tues, 5 Dec 2011 13:20:09 +0000 4 | 5 | It was downloaded from: 6 | 7 | http://www.openmolar.com 8 | 9 | Upstream Author(s): 10 | 11 | Neil Wallace (rowinggolfer) 12 | 13 | Copyright: 14 | 15 | Copyright (C) 2009-2011 Neil Wallace 16 | 17 | License: 18 | 19 | This package is free software; you can redistribute it and/or modify 20 | it under the terms of the GNU General Public License as published by 21 | the Free Software Foundation; either version 3 of the License, or 22 | (at your option) any later version. 23 | 24 | This package is distributed in the hope that it will be useful, 25 | but WITHOUT ANY WARRANTY; without even the implied warranty of 26 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 27 | GNU General Public License for more details. 28 | 29 | You should have received a copy of the GNU General Public License 30 | along with this package; if not, write to the Free Software 31 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 32 | 33 | On Debian systems, the complete text of the GNU General 34 | Public License can be found in `/usr/share/common-licenses/GPL-3'. 35 | 36 | The Debian packaging is: 37 | 38 | Copyright C) 2009-2011, Neil Wallace 39 | 40 | and is licensed under the GPL, see above. 41 | -------------------------------------------------------------------------------- /build_scripts/client/debian_packaging/py_support/debian/docs: -------------------------------------------------------------------------------- 1 | README.txt 2 | -------------------------------------------------------------------------------- /build_scripts/client/debian_packaging/py_support/debian/postinst: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | #DEBHELPER# 4 | 5 | ln -sf "/etc/openmolar/connections230-available/localhost.conf" "/etc/openmolar/client/connections230/localhost" 6 | ln -sf "/etc/openmolar/connections-available/demo.conf" "/etc/openmolar/client/connections/demo" 7 | -------------------------------------------------------------------------------- /build_scripts/client/debian_packaging/py_support/debian/pyversions: -------------------------------------------------------------------------------- 1 | 2.6- 2 | -------------------------------------------------------------------------------- /build_scripts/client/debian_packaging/py_support/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | %: 3 | dh $@ 4 | -------------------------------------------------------------------------------- /build_scripts/client/rpm_packaging/openmolar-client.spec: -------------------------------------------------------------------------------- 1 | %define name openmolar-client 2 | %define version 2.0.63 3 | %define unmangled_version 2.0.63 4 | %define release 1 5 | 6 | Summary: Dental Practice Management Software - client 7 | Name: %{name} 8 | Version: %{version} 9 | Release: %{release} 10 | Source0: %{name}-%{unmangled_version}.tar.gz 11 | License: GPL v3 12 | Group: Office 13 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot 14 | Prefix: %{_prefix} 15 | BuildArch: noarch 16 | Vendor: Neil Wallace 17 | Url: http://www.openmolar.com 18 | 19 | BuildRequires: python 20 | 21 | %description 22 | Description: Dental Practice Management Software - Client Application 23 | 24 | %prep 25 | %setup -n %{name}-%{unmangled_version} 26 | 27 | %build 28 | python setup.py build 29 | 30 | %install 31 | python setup.py install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES 32 | 33 | %clean 34 | rm -rf $RPM_BUILD_ROOT 35 | 36 | %files -f INSTALLED_FILES 37 | %defattr(-,root,root) 38 | -------------------------------------------------------------------------------- /build_scripts/common/debian_packaging/dh_python2/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /build_scripts/common/debian_packaging/dh_python2/debian/control: -------------------------------------------------------------------------------- 1 | Source: openmolar-common 2 | Section: misc 3 | Priority: extra 4 | Maintainer: Neil Wallace 5 | Build-Depends: python, debhelper (>= 7) 6 | Homepage: http://www.openmolar.com 7 | Vcs-browser: http://code.google.com/p/openmolar/ 8 | Standards-Version: 3.9.3 9 | 10 | Package: openmolar-common 11 | Architecture: all 12 | Section: misc 13 | Priority: extra 14 | Depends: ${python:Depends}, ${misc:Depends}, python-qt4, python-qt4-sql, libqt4-sql-psql, openmolar-namespace 15 | Description: Dental Practice Management Software - common library 16 | . 17 | provides code required by both the admin and client 18 | applications. 19 | -------------------------------------------------------------------------------- /build_scripts/common/debian_packaging/dh_python2/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianized by: 2 | 3 | Neil Wallace on Tues, 5 Dec 2011 13:20:09 +0000 4 | 5 | It was downloaded from: 6 | 7 | http://www.openmolar.com 8 | 9 | Upstream Author(s): 10 | 11 | Neil Wallace (rowinggolfer) 12 | 13 | Copyright: 14 | 15 | Copyright (C) 2009-2011 Neil Wallace 16 | 17 | License: 18 | 19 | This package is free software; you can redistribute it and/or modify 20 | it under the terms of the GNU General Public License as published by 21 | the Free Software Foundation; either version 3 of the License, or 22 | (at your option) any later version. 23 | 24 | This package is distributed in the hope that it will be useful, 25 | but WITHOUT ANY WARRANTY; without even the implied warranty of 26 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 27 | GNU General Public License for more details. 28 | 29 | You should have received a copy of the GNU General Public License 30 | along with this package; if not, write to the Free Software 31 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 32 | 33 | On Debian systems, the complete text of the GNU General 34 | Public License can be found in `/usr/share/common-licenses/GPL-3'. 35 | 36 | The Debian packaging is: 37 | 38 | Copyright C) 2009-2011, Neil Wallace 39 | 40 | and is licensed under the GPL, see above. 41 | -------------------------------------------------------------------------------- /build_scripts/common/debian_packaging/dh_python2/debian/docs: -------------------------------------------------------------------------------- 1 | README.txt 2 | -------------------------------------------------------------------------------- /build_scripts/common/debian_packaging/dh_python2/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | %: 3 | dh $@ --buildsystem=python_distutils --with=python2 4 | -------------------------------------------------------------------------------- /build_scripts/common/debian_packaging/dh_python2/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /build_scripts/common/debian_packaging/py_support/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /build_scripts/common/debian_packaging/py_support/debian/control: -------------------------------------------------------------------------------- 1 | Source: openmolar-common 2 | Section: misc 3 | Priority: extra 4 | Maintainer: Neil Wallace 5 | Build-Depends: debhelper (>= 7), python-support, python (>=2.6) 6 | Homepage: http://www.openmolar.com 7 | Vcs-browser: http://code.google.com/p/openmolar/ 8 | Standards-Version: 3.9.3 9 | 10 | Package: openmolar-common 11 | Architecture: all 12 | Section: misc 13 | Priority: extra 14 | Depends: ${python:Depends}, ${misc:Depends}, python-qt4, python-qt4-sql, libqt4-sql-psql, openmolar-namespace 15 | Description: Dental Practice Management Software - common library 16 | . 17 | provides code required by both the admin and client 18 | applications. 19 | -------------------------------------------------------------------------------- /build_scripts/common/debian_packaging/py_support/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianized by: 2 | 3 | Neil Wallace on Tues, 5 Dec 2011 13:20:09 +0000 4 | 5 | It was downloaded from: 6 | 7 | http://www.openmolar.com 8 | 9 | Upstream Author(s): 10 | 11 | Neil Wallace (rowinggolfer) 12 | 13 | Copyright: 14 | 15 | Copyright (C) 2009-2011 Neil Wallace 16 | 17 | License: 18 | 19 | This package is free software; you can redistribute it and/or modify 20 | it under the terms of the GNU General Public License as published by 21 | the Free Software Foundation; either version 3 of the License, or 22 | (at your option) any later version. 23 | 24 | This package is distributed in the hope that it will be useful, 25 | but WITHOUT ANY WARRANTY; without even the implied warranty of 26 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 27 | GNU General Public License for more details. 28 | 29 | You should have received a copy of the GNU General Public License 30 | along with this package; if not, write to the Free Software 31 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 32 | 33 | On Debian systems, the complete text of the GNU General 34 | Public License can be found in `/usr/share/common-licenses/GPL-3'. 35 | 36 | The Debian packaging is: 37 | 38 | Copyright C) 2009-2011, Neil Wallace 39 | 40 | and is licensed under the GPL, see above. 41 | -------------------------------------------------------------------------------- /build_scripts/common/debian_packaging/py_support/debian/docs: -------------------------------------------------------------------------------- 1 | README.txt 2 | -------------------------------------------------------------------------------- /build_scripts/common/debian_packaging/py_support/debian/pyversions: -------------------------------------------------------------------------------- 1 | 2.6- 2 | -------------------------------------------------------------------------------- /build_scripts/common/debian_packaging/py_support/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | %: 3 | dh $@ 4 | -------------------------------------------------------------------------------- /build_scripts/common/rpm_packaging/openmolar-common.spec: -------------------------------------------------------------------------------- 1 | %define name openmolar-common 2 | %define version 2.0.63 3 | %define unmangled_version 2.0.63 4 | %define release 1 5 | 6 | Summary: Dental Practice Management Software - common library 7 | Name: %{name} 8 | Version: %{version} 9 | Release: %{release} 10 | Source0: %{name}-%{unmangled_version}.tar.gz 11 | License: GPL v3 12 | Group: Office 13 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot 14 | Prefix: %{_prefix} 15 | BuildArch: noarch 16 | Vendor: Neil Wallace 17 | Url: http://www.openmolar.com 18 | 19 | BuildRequires: python 20 | 21 | %description 22 | Dental Practice Management Software - common library 23 | 24 | %prep 25 | %setup -n %{name}-%{unmangled_version} 26 | 27 | %build 28 | python setup.py build 29 | 30 | %install 31 | python setup.py install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES 32 | 33 | %clean 34 | rm -rf $RPM_BUILD_ROOT 35 | 36 | %files -f INSTALLED_FILES 37 | %defattr(-,root,root) 38 | -------------------------------------------------------------------------------- /build_scripts/get_version.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | 3 | import ConfigParser 4 | import os 5 | import sys 6 | 7 | curdir = os.path.dirname(os.path.abspath(__file__)) 8 | cnf_path = os.path.join(os.path.dirname(curdir), "setup.cnf") 9 | 10 | parser = ConfigParser.RawConfigParser() 11 | parser.read(cnf_path) 12 | 13 | if len(sys.argv) == 1: 14 | sys.exit("usage is get_version [PACKAGE]") 15 | 16 | package = sys.argv[1] 17 | 18 | version = parser.get(package, "version") 19 | if package == "namespace": 20 | print (version) 21 | sys.exit(0) 22 | 23 | rev_no = parser.getint(package, "revision_number") 24 | 25 | print ("%s+hg%03d"% (version, rev_no)) 26 | -------------------------------------------------------------------------------- /build_scripts/namespace/debian_packaging/dh_python2/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /build_scripts/namespace/debian_packaging/dh_python2/debian/control: -------------------------------------------------------------------------------- 1 | Source: openmolar-namespace 2 | Maintainer: Neil Wallace 3 | Section: misc 4 | Priority: extra 5 | Build-Depends: python, debhelper (>= 7) 6 | Homepage: http://www.openmolar.com 7 | Vcs-browser: http://code.google.com/p/openmolar/ 8 | Standards-Version: 3.9.3 9 | X-Python-Version: >=2.6 10 | 11 | Package: openmolar-namespace 12 | Architecture: all 13 | Section: misc 14 | Priority: extra 15 | Depends: ${python:Depends}, ${misc:Depends} 16 | Description: Dental Practice Management Software - library namespace 17 | . 18 | installs lib_openmolar and the corresponding __init__.py into the correct 19 | location. 20 | -------------------------------------------------------------------------------- /build_scripts/namespace/debian_packaging/dh_python2/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianized by: 2 | 3 | Neil Wallace on Tues, 5 Dec 2011 13:20:09 +0000 4 | 5 | It was downloaded from: 6 | 7 | http://www.openmolar.com 8 | 9 | Upstream Author(s): 10 | 11 | Neil Wallace (rowinggolfer) 12 | 13 | Copyright: 14 | 15 | Copyright (C) 2009-2011 Neil Wallace 16 | 17 | License: 18 | 19 | This package is free software; you can redistribute it and/or modify 20 | it under the terms of the GNU General Public License as published by 21 | the Free Software Foundation; either version 3 of the License, or 22 | (at your option) any later version. 23 | 24 | This package is distributed in the hope that it will be useful, 25 | but WITHOUT ANY WARRANTY; without even the implied warranty of 26 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 27 | GNU General Public License for more details. 28 | 29 | You should have received a copy of the GNU General Public License 30 | along with this package; if not, write to the Free Software 31 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 32 | 33 | On Debian systems, the complete text of the GNU General 34 | Public License can be found in `/usr/share/common-licenses/GPL-3'. 35 | 36 | The Debian packaging is: 37 | 38 | Copyright C) 2009-2011, Neil Wallace 39 | 40 | and is licensed under the GPL, see above. 41 | -------------------------------------------------------------------------------- /build_scripts/namespace/debian_packaging/dh_python2/debian/docs: -------------------------------------------------------------------------------- 1 | README.txt 2 | -------------------------------------------------------------------------------- /build_scripts/namespace/debian_packaging/dh_python2/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | %: 3 | dh $@ --buildsystem=python_distutils --with=python2 4 | -------------------------------------------------------------------------------- /build_scripts/namespace/debian_packaging/dh_python2/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /build_scripts/namespace/debian_packaging/py_support/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /build_scripts/namespace/debian_packaging/py_support/debian/control: -------------------------------------------------------------------------------- 1 | Source: openmolar-namespace 2 | Maintainer: Neil Wallace 3 | Section: misc 4 | Priority: extra 5 | Build-Depends: debhelper (>= 7), python-support, python (>=2.6) 6 | Homepage: http://www.openmolar.com 7 | Vcs-browser: http://code.google.com/p/openmolar/ 8 | Standards-Version: 3.9.3 9 | 10 | Package: openmolar-namespace 11 | Architecture: all 12 | Section: misc 13 | Priority: extra 14 | Depends: ${python:Depends}, ${misc:Depends} 15 | Description: Dental Practice Management Software - library namespace 16 | . 17 | installs lib_openmolar and the corresponding __init__.py into the correct 18 | location. 19 | -------------------------------------------------------------------------------- /build_scripts/namespace/debian_packaging/py_support/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianized by: 2 | 3 | Neil Wallace on Tues, 5 Dec 2011 13:20:09 +0000 4 | 5 | It was downloaded from: 6 | 7 | http://www.openmolar.com 8 | 9 | Upstream Author(s): 10 | 11 | Neil Wallace (rowinggolfer) 12 | 13 | Copyright: 14 | 15 | Copyright (C) 2009-2011 Neil Wallace 16 | 17 | License: 18 | 19 | This package is free software; you can redistribute it and/or modify 20 | it under the terms of the GNU General Public License as published by 21 | the Free Software Foundation; either version 3 of the License, or 22 | (at your option) any later version. 23 | 24 | This package is distributed in the hope that it will be useful, 25 | but WITHOUT ANY WARRANTY; without even the implied warranty of 26 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 27 | GNU General Public License for more details. 28 | 29 | You should have received a copy of the GNU General Public License 30 | along with this package; if not, write to the Free Software 31 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 32 | 33 | On Debian systems, the complete text of the GNU General 34 | Public License can be found in `/usr/share/common-licenses/GPL-3'. 35 | 36 | The Debian packaging is: 37 | 38 | Copyright C) 2009-2011, Neil Wallace 39 | 40 | and is licensed under the GPL, see above. 41 | -------------------------------------------------------------------------------- /build_scripts/namespace/debian_packaging/py_support/debian/docs: -------------------------------------------------------------------------------- 1 | README.txt 2 | -------------------------------------------------------------------------------- /build_scripts/namespace/debian_packaging/py_support/debian/pyversions: -------------------------------------------------------------------------------- 1 | 2.6- 2 | -------------------------------------------------------------------------------- /build_scripts/namespace/debian_packaging/py_support/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | %: 3 | dh $@ 4 | -------------------------------------------------------------------------------- /build_scripts/namespace/rpm_packaging/openmolar-namespace.spec: -------------------------------------------------------------------------------- 1 | %define name openmolar-namespace 2 | %define version 2.0.63 3 | %define unmangled_version 2.0.63 4 | %define release 1 5 | 6 | Summary: Dental Practice Management Software - namespace 7 | Name: %{name} 8 | Version: %{version} 9 | Release: %{release} 10 | Source0: %{name}-%{unmangled_version}.tar.gz 11 | License: GPL v3 12 | Group: Office 13 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot 14 | Prefix: %{_prefix} 15 | BuildArch: noarch 16 | Vendor: Neil Wallace 17 | Url: http://www.openmolar.com 18 | 19 | BuildRequires: python 20 | 21 | %description 22 | Dental Practice Management Software - library namespace 23 | 24 | %prep 25 | %setup -n %{name}-%{unmangled_version} 26 | 27 | %build 28 | python setup.py build 29 | 30 | %install 31 | python setup.py install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES 32 | 33 | %clean 34 | rm -rf $RPM_BUILD_ROOT 35 | 36 | %files -f INSTALLED_FILES 37 | %defattr(-,root,root) 38 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/dh_python2/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/dh_python2/debian/control: -------------------------------------------------------------------------------- 1 | Source: openmolar-server 2 | Section: misc 3 | Priority: extra 4 | Maintainer: Neil Wallace 5 | Build-Depends: debhelper (>= 7), python-support, python (>=2.6) 6 | Homepage: http://www.openmolar.com 7 | Vcs-browser: http://code.google.com/p/openmolar/ 8 | Standards-Version: 3.9.3 9 | 10 | Package: openmolar-server 11 | Architecture: all 12 | Section: misc 13 | Priority: extra 14 | Depends: ${python:Depends}, ${misc:Depends}, postgresql, python-psycopg2, openmolar-namespace 15 | Description: Dental Practice Management Software - Server Component 16 | the openmolar daemon running on port 230. 17 | . 18 | provides remote call functions and status messages to bridge between 19 | the openmolar-admin application (which may be on a remote machine) and 20 | the postgres database server (which is a dependency of this package) 21 | 22 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/dh_python2/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianized by: 2 | 3 | Neil Wallace on Tues, 5 Dec 2011 13:20:09 +0000 4 | 5 | It was downloaded from: 6 | 7 | http://www.openmolar.com 8 | 9 | Upstream Author(s): 10 | 11 | Neil Wallace (rowinggolfer) 12 | 13 | Copyright: 14 | 15 | Copyright (C) 2009-2011 Neil Wallace 16 | 17 | License: 18 | 19 | This package is free software; you can redistribute it and/or modify 20 | it under the terms of the GNU General Public License as published by 21 | the Free Software Foundation; either version 3 of the License, or 22 | (at your option) any later version. 23 | 24 | This package is distributed in the hope that it will be useful, 25 | but WITHOUT ANY WARRANTY; without even the implied warranty of 26 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 27 | GNU General Public License for more details. 28 | 29 | You should have received a copy of the GNU General Public License 30 | along with this package; if not, write to the Free Software 31 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 32 | 33 | On Debian systems, the complete text of the GNU General 34 | Public License can be found in `/usr/share/common-licenses/GPL-3'. 35 | 36 | The Debian packaging is: 37 | 38 | Copyright C) 2009-2011, Neil Wallace 39 | 40 | and is licensed under the GPL, see above. 41 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/dh_python2/debian/docs: -------------------------------------------------------------------------------- 1 | README.txt 2 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/dh_python2/debian/openmolar-server.manpages: -------------------------------------------------------------------------------- 1 | man/server/openmolar_server.1 2 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/dh_python2/debian/postinst: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | #DEBHELPER# 4 | 5 | openmolar-alter-master-user 6 | update-rc.d openmolar defaults 7 | 8 | /etc/init.d/openmolar restart 9 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/dh_python2/debian/postrm: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # marker to allo debhelper to put stuff here. 4 | #DEBHELPER# 5 | 6 | # I have to force removal of these files as they are not 7 | # installed with the deb packaging, but on first run. 8 | # oh, and /etc/openmolar/server.conf is an obsolete location 9 | 10 | if [ "$1" = "purge" ]; then 11 | rm -f "/etc/openmolar/server.conf" || true 12 | rm -rf "/etc/openmolar/server" || true 13 | rm -f "/etc/openmolar/manager_password.txt" || true 14 | fi 15 | 16 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/dh_python2/debian/prerm: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | 4 | # stop the server 5 | /etc/init.d/openmolar stop 6 | 7 | # next line gets replace automagically by debhelper scripts. 8 | #DEBHELPER# 9 | 10 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/dh_python2/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | %: 3 | dh $@ --buildsystem=python_distutils --with=python2 4 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/dh_python2/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/py_support/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/py_support/debian/control: -------------------------------------------------------------------------------- 1 | Source: openmolar-server 2 | Section: misc 3 | Priority: extra 4 | Maintainer: Neil Wallace 5 | Build-Depends: debhelper (>= 7), python-support, python (>=2.6) 6 | Homepage: http://www.openmolar.com 7 | Vcs-browser: http://code.google.com/p/openmolar/ 8 | Standards-Version: 3.9.3 9 | 10 | Package: openmolar-server 11 | Architecture: all 12 | Section: misc 13 | Priority: extra 14 | Depends: ${python:Depends}, ${misc:Depends}, postgresql, python-psycopg2, openmolar-namespace 15 | Description: Dental Practice Management Software - Server Component 16 | the openmolar daemon running on port 230. 17 | . 18 | provides remote call functions and status messages to bridge between 19 | the openmolar-admin application (which may be on a remote machine) and 20 | the postgres database server (which is a dependency of this package) 21 | 22 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/py_support/debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianized by: 2 | 3 | Neil Wallace on Tues, 5 Dec 2011 13:20:09 +0000 4 | 5 | It was downloaded from: 6 | 7 | http://www.openmolar.com 8 | 9 | Upstream Author(s): 10 | 11 | Neil Wallace (rowinggolfer) 12 | 13 | Copyright: 14 | 15 | Copyright (C) 2009-2011 Neil Wallace 16 | 17 | License: 18 | 19 | This package is free software; you can redistribute it and/or modify 20 | it under the terms of the GNU General Public License as published by 21 | the Free Software Foundation; either version 3 of the License, or 22 | (at your option) any later version. 23 | 24 | This package is distributed in the hope that it will be useful, 25 | but WITHOUT ANY WARRANTY; without even the implied warranty of 26 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 27 | GNU General Public License for more details. 28 | 29 | You should have received a copy of the GNU General Public License 30 | along with this package; if not, write to the Free Software 31 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 32 | 33 | On Debian systems, the complete text of the GNU General 34 | Public License can be found in `/usr/share/common-licenses/GPL-3'. 35 | 36 | The Debian packaging is: 37 | 38 | Copyright C) 2009-2011, Neil Wallace 39 | 40 | and is licensed under the GPL, see above. 41 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/py_support/debian/docs: -------------------------------------------------------------------------------- 1 | README.txt 2 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/py_support/debian/openmolar-server.manpages: -------------------------------------------------------------------------------- 1 | man/server/openmolar_server.1 2 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/py_support/debian/postinst: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | #DEBHELPER# 4 | 5 | update-python-modules openmolar-server.public 6 | 7 | openmolar-alter-master-user 8 | 9 | update-rc.d openmolar defaults 10 | 11 | service openmolar restart 12 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/py_support/debian/postrm: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # marker to allo debhelper to put stuff here. 4 | #DEBHELPER# 5 | 6 | # I have to force removal of these files as they are not 7 | # installed with the deb packaging, but on first run. 8 | # oh, and /etc/openmolar/server.conf is an obsolete location 9 | 10 | if [ "$1" = "purge" ]; then 11 | rm -f "/etc/openmolar/server.conf" || true 12 | rm -rf "/etc/openmolar/server" || true 13 | rm -f "/etc/openmolar/manager_password.txt" || true 14 | fi 15 | 16 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/py_support/debian/prerm: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | 4 | # stop the server 5 | /etc/init.d/openmolar stop 6 | 7 | # next line gets replace automagically by debhelper scripts. 8 | #DEBHELPER# 9 | 10 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/py_support/debian/pyversions: -------------------------------------------------------------------------------- 1 | 2.6- 2 | -------------------------------------------------------------------------------- /build_scripts/server/debian_packaging/py_support/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | %: 3 | dh $@ 4 | 5 | -------------------------------------------------------------------------------- /build_scripts/server/rpm_packaging/openmolar-server.spec: -------------------------------------------------------------------------------- 1 | %define name openmolar-server 2 | %define version 2.0.63 3 | %define unmangled_version 2.0.63 4 | %define release 1 5 | 6 | Summary: Dental Practice Management Software - server 7 | Name: %{name} 8 | Version: %{version} 9 | Release: %{release} 10 | Source0: %{name}-%{unmangled_version}.tar.gz 11 | License: GPL v3 12 | Group: Office 13 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot 14 | Prefix: %{_prefix} 15 | BuildArch: noarch 16 | Vendor: Neil Wallace 17 | Url: http://www.openmolar.com 18 | 19 | BuildRequires: python 20 | 21 | %description 22 | Dental Practice Management Software - Server Component 23 | the openmolar daemon running on port 230. 24 | provides remote call functions and status messages to bridge between 25 | the openmolar-admin application (which may be on a remote machine) and 26 | the postgres database server (which is a dependency of this package) 27 | 28 | %prep 29 | %setup -n %{name}-%{unmangled_version} 30 | 31 | %build 32 | python setup.py build 33 | 34 | %install 35 | python setup.py install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES 36 | 37 | %clean 38 | rm -rf $RPM_BUILD_ROOT 39 | 40 | %files -f INSTALLED_FILES 41 | %defattr(-,root,root) 42 | -------------------------------------------------------------------------------- /build_scripts/version_name.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | 3 | ''' 4 | read a changelog, and get the package name 5 | 6 | parses a changelog with this 1st line 7 | "openmolar-namespace (2.0.5+hg007-2~unstable0) unstable; urgency=low" 8 | 9 | usage python version_name.py [DEBFOLDER] 10 | 11 | output is "openmolar-namespace_2.0.5+hg007" 12 | ''' 13 | 14 | 15 | import os 16 | import re 17 | import sys 18 | 19 | curdir = os.path.dirname(os.path.abspath(__file__)) 20 | 21 | filepath = os.path.join(sys.argv[1], "changelog") 22 | 23 | try: 24 | f = open(filepath) 25 | data = f.read() 26 | f.close() 27 | 28 | matches = re.match("(.*) \((.*)-", data).groups() 29 | 30 | debname = "%s_%s"% (matches[0], matches[1]) 31 | 32 | print (debname) 33 | 34 | except: 35 | sys.exit("unable to parse changelog %s"% filepath) 36 | 37 | -------------------------------------------------------------------------------- /builds/README.txt: -------------------------------------------------------------------------------- 1 | This folder is populated during the build process 2 | -------------------------------------------------------------------------------- /dist/README.txt: -------------------------------------------------------------------------------- 1 | This folder is populated during the build process 2 | -------------------------------------------------------------------------------- /documentation/docbook/Makefile: -------------------------------------------------------------------------------- 1 | #MakeFile 2 | 3 | clean: 4 | echo "removing the pdf and html folders" 5 | rm -rf pdf 6 | rm -rf html 7 | 8 | check: 9 | jing /usr/share/xml/docbook/schema/rng/5.0/docbook.rng openmolar2.docbook 10 | 11 | pdf: 12 | xsltproc -o pdf/tmp.fo /usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl openmolar2.docbook 13 | fop pdf/tmp.fo pdf/openmolar2.pdf 14 | rm pdf/tmp.fo 15 | 16 | html: 17 | xsltproc -o html/ /usr/share/xml/docbook/stylesheet/docbook-xsl/html/chunk.xsl openmolar2.docbook 18 | cp -a images/ html/ 19 | 20 | 21 | publish: 22 | echo "publishing html version" 23 | rsync -av html/ amazon:rg_website/openmolar2/docbook/ 24 | echo "publishing pdf version" 25 | rsync -av pdf/ amazon:rg_website/openmolar2/docbook 26 | -------------------------------------------------------------------------------- /documentation/docbook/images: -------------------------------------------------------------------------------- 1 | ../images/ -------------------------------------------------------------------------------- /documentation/epydoc/Makefile: -------------------------------------------------------------------------------- 1 | #MakeFile 2 | 3 | clean: 4 | rm -rf html 5 | 6 | doc: 7 | epydoc --separate-classes -v -o html ../../lib_openmolar 8 | 9 | publish: 10 | rsync -av html/ amazon:rg_website/openmolar2/epydoc/ 11 | -------------------------------------------------------------------------------- /documentation/image_tag_maker.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | 3 | import os 4 | 5 | basestr = \ 6 | ''' 7 | 8 | 9 | 10 | 11 | ''' 12 | 13 | 14 | images = os.listdir("images/screenshots/") 15 | images.sort() 16 | for image in images: 17 | 18 | print basestr.replace("PATH", image) 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/favicon.ico -------------------------------------------------------------------------------- /documentation/images/openmolar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/openmolar.png -------------------------------------------------------------------------------- /documentation/images/openmolar_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/openmolar_logo.png -------------------------------------------------------------------------------- /documentation/images/openmolar_logo_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/openmolar_logo_small.png -------------------------------------------------------------------------------- /documentation/images/openmolar_with_title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/openmolar_with_title.png -------------------------------------------------------------------------------- /documentation/images/screenshots/AddNotesWidget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/AddNotesWidget.png -------------------------------------------------------------------------------- /documentation/images/screenshots/AddressDialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/AddressDialog.png -------------------------------------------------------------------------------- /documentation/images/screenshots/Advisor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/Advisor.png -------------------------------------------------------------------------------- /documentation/images/screenshots/BPEWidget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/BPEWidget.png -------------------------------------------------------------------------------- /documentation/images/screenshots/ChartRoot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/ChartRoot.png -------------------------------------------------------------------------------- /documentation/images/screenshots/ChartTooth1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/ChartTooth1.png -------------------------------------------------------------------------------- /documentation/images/screenshots/ChartTooth2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/ChartTooth2.png -------------------------------------------------------------------------------- /documentation/images/screenshots/CompletionTextEdit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/CompletionTextEdit.png -------------------------------------------------------------------------------- /documentation/images/screenshots/admin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/admin.png -------------------------------------------------------------------------------- /documentation/images/screenshots/admin_install_schema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/admin_install_schema.png -------------------------------------------------------------------------------- /documentation/images/screenshots/admin_populate_demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/admin_populate_demo.png -------------------------------------------------------------------------------- /documentation/images/screenshots/admin_populate_demo_progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/admin_populate_demo_progress.png -------------------------------------------------------------------------------- /documentation/images/screenshots/admin_query_tool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/admin_query_tool.png -------------------------------------------------------------------------------- /documentation/images/screenshots/admin_query_tool_long_query.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/admin_query_tool_long_query.png -------------------------------------------------------------------------------- /documentation/images/screenshots/admin_table_viewer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/admin_table_viewer.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_address_dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_address_dialog.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_address_dialog_advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_address_dialog_advanced.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_address_family_members.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_address_family_members.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_chart_adult_complex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_chart_adult_complex.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_chart_adult_simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_chart_adult_simple.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_chart_deciduous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_chart_deciduous.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_chart_mixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_chart_mixed.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_chart_roots_only.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_chart_roots_only.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_charts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_charts.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_charts_procedure_panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_charts_procedure_panel.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_control_panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_control_panel.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_empty.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_estimates.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_estimates.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_estimates_procedure_panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_estimates_procedure_panel.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_final_choice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_final_choice.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_new_patient_advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_new_patient_advanced.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_new_patient_dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_new_patient_dialog.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_patient_finder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_patient_finder.png -------------------------------------------------------------------------------- /documentation/images/screenshots/client_reception.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/client_reception.png -------------------------------------------------------------------------------- /documentation/images/screenshots/common_connect_advanced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/common_connect_advanced.png -------------------------------------------------------------------------------- /documentation/images/screenshots/common_connect_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/common_connect_message.png -------------------------------------------------------------------------------- /documentation/images/screenshots/common_preferences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/images/screenshots/common_preferences.png -------------------------------------------------------------------------------- /documentation/postgres_autodoc/Makefile: -------------------------------------------------------------------------------- 1 | html: 2 | postgresql_autodoc -h 127.0.0.1 -u openmolar --password=BRQoLGUSIaVq5BMUJ9JE -d openmolar_demo -t html 3 | -------------------------------------------------------------------------------- /documentation/sphinx/_static/schema.html: -------------------------------------------------------------------------------- 1 | /home/neil/openmolar/hg_openmolar/documentation/postgres_autodoc/openmolar_demo.html -------------------------------------------------------------------------------- /documentation/sphinx/_templates/layout.html: -------------------------------------------------------------------------------- 1 | {% extends "!layout.html" %} 2 | 3 | 4 | {# update static links in the relbar #} 5 | {% block rootrellink %} 6 |
  • Home | 
  • 7 | 8 | {%- if 'technical' in pagename %} 9 | {%- if hasdoc('technical/classes/classindex') %} 10 |
  • Classes |
  • 11 | {%- endif %} 12 | {%- endif %} 13 | {{ super() }} 14 | 15 | {% endblock %} 16 | 17 | {% block header %} 18 | 19 | {% endblock %} 20 | 21 | {%- block sidebarlogo %} 22 | {%- if logo %} 23 | 26 | {%- endif %} 27 | {%- endblock %} 28 | 29 | -------------------------------------------------------------------------------- /documentation/sphinx/contents.rst: -------------------------------------------------------------------------------- 1 | *********************** 2 | Openmolar Documentation 3 | *********************** 4 | 5 | :Author: Neil Wallace neil@openmolar.com 6 | :Version: |release| 7 | :Date: |today| 8 | 9 | Welcome to the documentation for Openmolar. 10 | 11 | Chapters 12 | -------- 13 | 14 | .. toctree:: 15 | :maxdepth: 1 16 | 17 | overview 18 | introduction/index 19 | installation/index 20 | tutorials/index 21 | technical/index 22 | 23 | -------------------------------------------------------------------------------- /documentation/sphinx/environment.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/environment.pickle -------------------------------------------------------------------------------- /documentation/sphinx/images: -------------------------------------------------------------------------------- 1 | /home/neil/openmolar/hg_openmolar/documentation/images -------------------------------------------------------------------------------- /documentation/sphinx/installation/debian.rst: -------------------------------------------------------------------------------- 1 | Installation on Debian 2 | ====================== 3 | 4 | :Author: Neil Wallace neil@openmolar.com 5 | 6 | Debian is my Gnu/linux distribution of choice, and the platform I have used for 7 | the majority of time whilst developing openmolar2. 8 | 9 | Consequently, it should come as no surprise that installation on this platform 10 | is well supported (and hopefully painless!). 11 | 12 | I have a repos for debian :: 13 | 14 | STABLE(SQUEEZE) 15 | deb http://openmolar.com/debian stable main 16 | deb-src http://openmolar.com/debian stable main 17 | 18 | TESTING(WHEEZY) 19 | deb http://openmolar.com/debian testing main 20 | deb-src http://openmolar.com/debian testing main 21 | 22 | UNSTABLE(SID) 23 | deb http://openmolar.com/debian unstable main 24 | deb-src http://openmolar.com/debian unstable main 25 | 26 | add the flavour you require to your sources.list. (codename aliases should be supported eg. squeeze, wheezy etc..) 27 | 28 | The repo is signed by my key, which is available :: 29 | 30 | http://www.openmolar.com/rowinggolfer.gpg.key 31 | 32 | 33 | Once you have enabled the repo of your choice, get whichever components you require. :: 34 | 35 | OPENMOLAR2 36 | ~# apt-get install openmolar-server openmolar-admin openmolar-client 37 | 38 | OPENMOLAR1 (deprecated) 39 | ~# apt-get install openmolar-orig 40 | 41 | -------------------------------------------------------------------------------- /documentation/sphinx/installation/index.rst: -------------------------------------------------------------------------------- 1 | Installation Instructions 2 | ========================= 3 | 4 | :Author: Neil Wallace neil@openmolar.com 5 | 6 | Openmolar-server will only run on a Gnu/Linux (or BSD?) operating system. 7 | 8 | The Admin and Client components will run on windows, although supporting this 9 | platform is low priority for me. 10 | 11 | .. note: 12 | No official release (even alpha) has been made as yet. 13 | 14 | Platform specific instructions 15 | ------------------------------ 16 | 17 | .. toctree:: 18 | :maxdepth: 1 19 | 20 | debian 21 | ubuntu 22 | 23 | 24 | -------------------------------------------------------------------------------- /documentation/sphinx/installation/ubuntu.rst: -------------------------------------------------------------------------------- 1 | Installation on Ubuntu 2 | ====================== 3 | 4 | :Author: Neil Wallace neil@openmolar.com 5 | 6 | Debian is my Gnu/linux distribution of choice, and the platform I have used for 7 | the majority of time whilst developing openmolar2. 8 | 9 | However in recognition of the popularity of the Ubuntu distribution, I regularly 10 | build for their LTS versions also. 11 | 12 | Ubuntu repos :: 13 | 14 | LUCID (10.04) 15 | deb http://openmolar.com/ubuntu lucid main 16 | deb-src http://openmolar.com/ubuntu lucid main 17 | 18 | PRECISE (12.10) 19 | deb http://openmolar.com/ubuntu precise main 20 | deb-src http://openmolar.com/ubuntu precise main 21 | 22 | QUANTAL (12.14) 23 | deb http://openmolar.com/ubuntu quantal main 24 | deb-src http://openmolar.com/ubuntu quantal main 25 | 26 | add the flavuor you require to your sources.list 27 | 28 | The repo is signed by my key, which is available :: 29 | 30 | http://www.openmolar.com/rowinggolfer.gpg.key 31 | 32 | 33 | Once you have enabled the repo of your choice, get whichever components you require. :: 34 | 35 | OPENMOLAR2 36 | ~# apt-get install openmolar-server openmolar-admin openmolar-client 37 | 38 | OPENMOLAR1 (deprecated) 39 | ~# apt-get install openmolar-orig 40 | 41 | -------------------------------------------------------------------------------- /documentation/sphinx/introduction/admin/index.rst: -------------------------------------------------------------------------------- 1 | The Admin Application 2 | ===================== 3 | 4 | :Author: Neil Wallace neil@openmolar.com 5 | 6 | .. image:: ../../images/screenshots/admin_table_viewer.png 7 | :align: center 8 | :width: 50% 9 | 10 | The Admin Application is a power users tool for advanced management of your practice database. 11 | 12 | - Installation of a database schema 13 | - The Creation of a demo database (if required) 14 | - Customisation of the database (ie. entering new practice details and dentist names) 15 | - Advanced querying/editing of the database 16 | - Export facilities (currently to excel files and/or csv) 17 | 18 | 19 | -------------------------------------------------------------------------------- /documentation/sphinx/introduction/client/index.rst: -------------------------------------------------------------------------------- 1 | The Client Application 2 | ========================= 3 | 4 | :Author: Neil Wallace neil@openmolar.com 5 | 6 | .. image:: ../../images/screenshots/client.png 7 | :align: center 8 | :width: 50% 9 | 10 | 11 | - accessing, editing and adding data to the database. 12 | - note keeping and treatment planning 13 | - generates correspondence for patients 14 | 15 | - appointment cards 16 | - invoicing 17 | - referral letters 18 | - recalls 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/sphinx/introduction/index.rst: -------------------------------------------------------------------------------- 1 | Introduction to Openmolar 2 | ========================= 3 | 4 | :Author: Neil Wallace neil@openmolar.com 5 | 6 | Openmolar has 3 component parts. 7 | 8 | The Server 9 | ---------- 10 | 11 | A "bridge" between the admin application and the postgresql server. 12 | 13 | .. toctree:: 14 | :maxdepth: 1 15 | 16 | server/index 17 | 18 | 19 | The Client 20 | ---------- 21 | 22 | .. figure:: ../images/screenshots/client.png 23 | :width: 300px 24 | :align: center 25 | :height: 150px 26 | :alt: screenshot of the client 27 | :figclass: align-center 28 | 29 | Installed on every terminal in a dental practice. 30 | A user friendly graphical database interface for surgeries and reception alike. 31 | 32 | .. toctree:: 33 | :maxdepth: 1 34 | 35 | client/index 36 | 37 | 38 | 39 | The Admin Application 40 | --------------------- 41 | .. figure:: ../images/screenshots/admin.png 42 | :width: 300px 43 | :align: center 44 | :height: 150px 45 | :alt: screenshot of the client 46 | :figclass: align-center 47 | 48 | This is a graphical tool giving advanced options for setup and use of the system. 49 | 50 | 51 | .. toctree:: 52 | :maxdepth: 1 53 | 54 | admin/index 55 | 56 | 57 | -------------------------------------------------------------------------------- /documentation/sphinx/introduction/server/index.rst: -------------------------------------------------------------------------------- 1 | The Server 2 | ========== 3 | 4 | :Author: Neil Wallace neil@openmolar.com 5 | 6 | 7 | The Openmolar Server is a set of scripts accessible anywhere on your network 8 | (or local machine) via an XMLRPC service running, by default, on port 1430. 9 | 10 | Configuration of this service is performed by editing the file located at :: 11 | 12 | /etc/openmolar/server.conf 13 | 14 | 15 | -------------------------------------------------------------------------------- /documentation/sphinx/overview.rst: -------------------------------------------------------------------------------- 1 | Overview 2 | ======== 3 | 4 | :Author: Neil Wallace neil@openmolar.com 5 | 6 | Dental Practices rely heavily on database technologies to maintain valuable and sensitive data. 7 | Dental Practices also need to apply common business tools such as double entry book-keeping, invoicing, scheduling and stock management. 8 | 9 | Openmolar aims to provide a one-stop solution for these requirements, with a plugin architecture to allow further customisation. 10 | 11 | 12 | History 13 | ------- 14 | 15 | The application came to be when a UK Dentist, Neil Wallace, found himself disastisfied with both the software and 16 | service provided by a well-established UK supplier. 17 | With limited previous programming experience, but enough to realise that open source tools would need to form the backbone of his code, 18 | he learned python, qt (the toolkit used by well known applications such as "google earth" and "skype"), and became familiar with the mysql and postgres databases. 19 | 20 | The 1st rendition of the application was constructed in haste, as a frontend to the schema provided by the forementioned commercial provider, however it very soon became clear that this schema was not optimal. 21 | This solution did, however, provide a very stable and customised application for his dental practice, which served well for 2 years. 22 | 23 | In 2011, a complete re-write of openmolar was undertaken, with a completely redesigned schema utilising the more standards compliant Postgresql database. 24 | 25 | These documents relate solely to that version. 26 | 27 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AddNotesWidget.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | :Date: |today| 4 | 5 | .. figure:: ../../../images/screenshots/AddNotesWidget.png 6 | :width: 50% 7 | :align: center 8 | :alt: AddNotesWidget 9 | :figclass: align-center 10 | 11 | This widget combines a :doc:`CompletionTextEdit` and a :class:`QtGui.QPushButton` 12 | 13 | Allows rapid text entry (using the system dictionary), and emits a Save signal 14 | when the pushbutton is pressed. See :func:`~.emit_save` 15 | 16 | .. note:: 17 | see :doc:`DictionaryCompleter` about the paths for your dictionary. 18 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AddressDialog.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | :Date: |today| 4 | 5 | The dialog raised when a patient's address requires input 6 | handles logic to raise new address dialogs, 7 | or links to known addresses etc. 8 | 9 | .. figure:: ../../../images/screenshots/AddressDialog.png 10 | :align: right 11 | :width: 20% 12 | 13 | 14 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AddressHistoryDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/AddressHistoryDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AddressHistoryWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/AddressHistoryWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AddressObjects.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/AddressObjects.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AddressRecord.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/AddressRecord.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AddressSelectionDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/AddressSelectionDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AdminConnection.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | :Date: |today| 4 | 5 | Inherits from :doc:`OpenmolarDatabase` adding some functionality required only by the openmolar admin application. 6 | 7 | A very important function is :func:`~.populateDemo` which populates the current database with demo data. 8 | This dangerous action is only performed if the database name ends with *_demo* or *_test* to prevent random data going into a real database. 9 | 10 | 11 | .. note:: 12 | If this class is initiated with no arguments, a connection to the openmolar_demo on localhost will be established if possible. 13 | 14 | 15 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AdminMain.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/AdminMain.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AdminMainWindow.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.co) 2 | :Release: |release| 3 | 4 | This class is the MainWindow for the admin application. 5 | 6 | .. figure:: ../../../images/screenshots/admin.png 7 | :align: center 8 | :width: 500px 9 | 10 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AdminSessionWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/AdminSessionWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AdminTabWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/AdminTabWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AdvancedAddressOptionsWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/AdvancedAddressOptionsWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Advisor.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | 3 | This class is how I get openmolar to give notifications to the user. 4 | 5 | I wanted a non-intrusive popup to appear in the top-right corner of both the client and admin applications, very similar to 6 | the notification system of the gnome desktop. 7 | 8 | However.. openmolar is cross-platform, and the notification standards of all desktops seem to be a moving 9 | target. So I wrote my own version. 10 | 11 | .. figure:: ../../../images/screenshots/Advisor.png 12 | :align: center 13 | :width: 240px 14 | 15 | The Advisor has various levels of imoprtance. 16 | 17 | - level 0 (a 5 second popup which can be "clicked through" and hopefully not interupt workflow) 18 | 19 | - level 1 (an information dialog which has to be accepted) 20 | 21 | - level 2 (a warning dialog. In this case the warning is also outputted to the terminal.) 22 | 23 | 24 | I may experiment with pynotify or similar in future to provide some of this functionality. 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AppointmentTreeItem.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/AppointmentTreeItem.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ApptModeDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ApptModeDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ApptPrefsDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ApptPrefsDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/AvatarWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/AvatarWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/BPEWidget.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | :Date: |today| 4 | 5 | 6 | This Widget, which displays the result of a basic periodontal exam is a component of :doc:`SummaryPage` 7 | 8 | .. figure:: ../../../images/screenshots/BPEWidget.png 9 | :align: right 10 | :width: 20% 11 | 12 | it emits 2 signals QtCore.SIGNAL("NewBPE") and QtCore.SIGNAL("ShowBPE") 13 | 14 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/BPE_ComboBox.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/BPE_ComboBox.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/BackupConfig.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/BackupConfig.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/BaseDialog.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | 3 | A customised version of QDialog which has an apply and cancel button, 4 | and an accesible layout. 5 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/BaseMainWindow.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | 4 | The BaseMainWindow class provides a re-implementation of QtGui.QMainWindow, 5 | but which handles state saving accross sesions etc. 6 | 7 | Inherited by :doc:`PostgresMainWindow` 8 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Browser.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/Browser.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/CSV_Writer.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/CSV_Writer.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ChartDataModel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ChartDataModel.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ChartLineEdit.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ChartLineEdit.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ChartOptionsWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ChartOptionsWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ChartRoot.rst: -------------------------------------------------------------------------------- 1 | This class is a fusion between python and Qt functionality. 2 | 3 | When an active QPainter is passed into draw_structure, this is drawn 4 | 5 | .. figure:: ../../../images/screenshots/ChartRoot.png 6 | :align: center 7 | :width: 120px 8 | 9 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ChartTooth.rst: -------------------------------------------------------------------------------- 1 | This class is a fusion between python and Qt functionality. 2 | 3 | When an active QPainter is passed into draw_structure, this is drawn 4 | 5 | .. figure:: ../../../images/screenshots/ChartTooth1.png 6 | :align: center 7 | :width: 120px 8 | 9 | When an active QPainter is passed into draw_restorations, something like this 10 | is drawn. 11 | 12 | .. figure:: ../../../images/screenshots/ChartTooth2.png 13 | :align: center 14 | :width: 120px 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ChartWidgetBase.rst: -------------------------------------------------------------------------------- 1 | see also :doc:`../../misc/tooth_notation` 2 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ChartWidgetCompleted.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ChartWidgetCompleted.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ChartWidgetStatic.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ChartWidgetStatic.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ChartWidgetSummary.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ChartWidgetSummary.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ChartWidgetTreatment.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ChartWidgetTreatment.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ChartsPage.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ChartsPage.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ChooseClinicianFrame.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ChooseClinicianFrame.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ClientConnection.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ClientConnection.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ClientMainWindow.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | 4 | This class is the MainWindow for the client application. 5 | 6 | .. figure:: ../../../images/screenshots/client.png 7 | :align: center 8 | :width: 500px 9 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ClientSessionWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ClientSessionWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ClosableTabWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ClosableTabWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Colours.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/Colours.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/CommentRecord.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/CommentRecord.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/CommonSettings.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/CommonSettings.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/CompletionTextEdit.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | :Date: |today| 4 | 5 | A custom text editor, which uses a :doc:`DictionaryCompleter` to provide help for words of over 3 characters. 6 | 7 | .. figure:: ../../../images/screenshots/CompletionTextEdit.png 8 | :align: center 9 | :width: 405px 10 | 11 | .. note:: 12 | see :doc:`DictionaryCompleter` about the paths for your dictionary. 13 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ConfigureDatabaseDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ConfigureDatabaseDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ConnectDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ConnectDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Connection230Data.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/Connection230Data.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ConnectionData.rst: -------------------------------------------------------------------------------- 1 | A custom datatype, capable of parsing conf files in the following format:: 2 | 3 | [CONNECTION] 4 | # the name you use to identify this connection. must be unique. 5 | name = demo 6 | 7 | # information use to specify the connection type. 8 | type = TCP/IP 9 | auth = password 10 | 11 | # the following fields are required for connection to a postgres database 12 | 13 | host = localhost 14 | port = 5432 15 | db_name = openmolar_demo 16 | user = om_demo 17 | password = password 18 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ConnectionError.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ConnectionError.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ContractedPractitionerDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ContractedPractitionerDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ControlPanel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ControlPanel.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/CrownCodesModel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/CrownCodesModel.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/CrownRecord.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/CrownRecord.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DBFunctions.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DBFunctions.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DatabaseTableViewer.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DatabaseTableViewer.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DayCell.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DayCell.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DefaultLineEdit.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DefaultLineEdit.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DemoAdminConnection.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DemoAdminConnection.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DemoClientConnection.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DemoClientConnection.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DemoGenerator.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DemoGenerator.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DemoProgressDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DemoProgressDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DetailsBrowser.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DetailsBrowser.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Dialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/Dialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DiaryAppointment.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DiaryAppointment.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DiaryControl.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DiaryControl.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DiaryDataModel.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | :Date: |today| 4 | 5 | The diary for openmolar is a model/view design. 6 | 7 | This is the model. 8 | 9 | A view will call the data function, with the view style as an argument. 10 | Views will, be design, require a different level of data complexity. 11 | For instance, if viewing an entire year, an overview as opposed to to the minute detail 12 | is required. When viewing a single day, the converse may be true. 13 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DiaryDayData.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DiaryDayData.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DiaryInterface.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DiaryInterface.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DiaryPeriodControl.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DiaryPeriodControl.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DiaryScheduleController.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DiaryScheduleController.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DiaryViewController.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DiaryViewController.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DiaryWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DiaryWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DictionaryCompleter.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DictionaryCompleter.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DockWidgetTitleWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DockWidgetTitleWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DockableMenuBar.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DockableMenuBar.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DropPGUserDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DropPGUserDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DuckPatient.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DuckPatient.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/DuckPayload.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/DuckPayload.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/EditPatientDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/EditPatientDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/EditableField.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/EditableField.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/EstimatesPage.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/EstimatesPage.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ExistingAddressWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ExistingAddressWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ExtendableDialog.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | 3 | A customised version of :doc:`BaseDialog` which adds an extension widget. 4 | 5 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/FillRecord.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/FillRecord.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/FinalSelectionDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/FinalSelectionDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/FinalSelectionModel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/FinalSelectionModel.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/FindAddressDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/FindAddressDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/FindPatientDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/FindPatientDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/FontOptionsWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/FontOptionsWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/FunctionStore.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/FunctionStore.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/GeneratedSvg.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/GeneratedSvg.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/GetLengthDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/GetLengthDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/HistoryPage.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/HistoryPage.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/HygTreatmentDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/HygTreatmentDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ImportDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ImportDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ImportProgressDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ImportProgressDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Importer.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/Importer.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/InsertableRecord.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/InsertableRecord.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Installer.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/Installer.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/KnownAddressNewLinkDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/KnownAddressNewLinkDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/KnownServerWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/KnownServerWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ListBpeDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ListBpeDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/LogWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/LogWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ManageDatabaseDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ManageDatabaseDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ManageDatabasesWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ManageDatabasesWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ManageHistoryDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ManageHistoryDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ManagePGUsersDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ManagePGUsersDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/MaterialButBox.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/MaterialButBox.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/MemoClericalDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/MemoClericalDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/MemoClinicalDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/MemoClinicalDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/MessageFunctions.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/MessageFunctions.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/MessagePopup.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/MessagePopup.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Messages.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/Messages.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/MultipleDatabaseWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/MultipleDatabaseWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/MyModel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/MyModel.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/MyRelationalModel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/MyRelationalModel.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NavigateFrame.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NavigateFrame.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NewAddressDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NewAddressDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NewAddressWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NewAddressWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NewApptDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NewApptDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NewBpeDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NewBpeDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NewContractedPractitionerRecord.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NewContractedPractitionerRecord.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NewDatabaseDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NewDatabaseDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NewExamDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NewExamDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NewPatientDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NewPatientDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NewPatientDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NewPatientDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NewPerioBPERecord.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NewPerioBPERecord.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NewPerioPocketingRecord.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NewPerioPocketingRecord.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NewRowDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NewRowDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NewUserPasswordDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NewUserPasswordDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NotesClericalDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NotesClericalDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NotesClinicalDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NotesClinicalDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NotesModel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NotesModel.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NotesWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NotesWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/NullDateEdit.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/NullDateEdit.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/OMServer.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/OMServer.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/OMServerConfig.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/OMServerConfig.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/OMType.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | :Date: |today| 4 | 5 | This class is used to create the custom datatypes stored in the postgres database. 6 | 7 | 8 | Let's take a trivial example.. how to store an individual's sex. 9 | 10 | It is common to do have a field defined something like this:: 11 | 12 | sex char(1) NOT NULL; 13 | CONSTRAINT chk_sex CHECK (sex = 'M' or sex = 'F') 14 | 15 | however, another way is to create a postgres data type:: 16 | 17 | CREATE TYPE sex_type AS ENUM ('M','F') 18 | 19 | and use it thus:: 20 | 21 | sex sex_type NOT NULL 22 | 23 | The OMType class does this for us, but is also a useful python object in it's own right, 24 | storing default values, translations etc. 25 | 26 | "Sex" is a trivial example, it quickly becomes more complex when I store an enumeration of 27 | allowed crown types, or patient statuses etc. 28 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/OMTypes.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | :Date: |today| 4 | 5 | This class creates all :doc:`OMType` objects at startup, and can be used to 6 | access them. 7 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/OnlinePluginsWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/OnlinePluginsWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/OpenmolarDatabase.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/OpenmolarDatabase.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PasswordLineEdit.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PasswordLineEdit.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PatientDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PatientDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PatientDiaryModel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PatientDiaryModel.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PatientInterface.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PatientInterface.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PatientInterfaceOptionsWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PatientInterfaceOptionsWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PatientModel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PatientModel.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PatientNotFoundError.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PatientNotFoundError.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PayLoad.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PayLoad.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PerioBpeDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PerioBpeDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PerioData.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PerioData.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PerioDataError.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PerioDataError.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PerioPocketingDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PerioPocketingDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PermissionDispatcher.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PermissionDispatcher.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PlainTextDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PlainTextDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PlugableMainWindow.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PlugableMainWindow.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Plugin.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/Plugin.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PluginDownloadWindow.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PluginDownloadWindow.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PluginHandler.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PluginHandler.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PluginOptionsWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PluginOptionsWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PluginsDirectoryDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PluginsDirectoryDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PopulateDemoDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PopulateDemoDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PostgresMainWindow.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | 4 | The PostgresMainWindow class provides a re-implementation of :doc:`BaseMainWindow` , 5 | but adds functionality for handling connections to postgres database using :doc:`OpenmolarDatabase` 6 | 7 | Inherited by :doc:`AdminMainWindow` and :doc:`ClientMainWindow` 8 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PostgresSessionWidget.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | 4 | The PostgresSessionWidget class is a widget used by :doc:`PostgresMainWindow` to 5 | handle a session on database. 6 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PractitionerListModel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PractitionerListModel.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PractitionerObject.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PractitionerObject.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Practitioners.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/Practitioners.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Preference.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/Preference.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PreferencesDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PreferencesDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PrintedForm.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PrintedForm.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ProcCode.rst: -------------------------------------------------------------------------------- 1 | A ProcCode instance is a custom data object of high importance to the 2 | openmolar application. 3 | 4 | this is the object sent to the application when user selects a code 5 | from the procedure code widget. 6 | 7 | ProcCodes are ALWAYS initiated at application startup 8 | when the :doc:`ProcedureCodes` object is created. 9 | 10 | Their properties are obtained by decoding the file 11 | resources/proc_codes/om_codes.txt 12 | 13 | (which is actually stored as a QResources, so editing the file will only 14 | take effect once QResources are refreshed) 15 | 16 | .. note:: 17 | it is my intention that openmolar codes remain unique. 18 | If a practice needs additional codes, then this should NOT be done by 19 | modifying the file mentioned above. 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ProcCodeDockWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ProcCodeDockWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ProcCodeTreeModel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ProcCodeTreeModel.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ProcCodeWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ProcCodeWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ProcedureCodes.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | :Date: |today| 4 | 5 | 6 | This class contains all the applications valid :doc:`ProcCode` objects. 7 | 8 | 9 | This is a test of the blockdiag extension. 10 | 11 | .. blockdiag:: 12 | 13 | diagram admin { 14 | ProcCode -> TreatmentItem -> TreatmentModel; 15 | } 16 | 17 | 18 | .. blockdiag:: 19 | 20 | diagram { 21 | // Set labels to nodes. 22 | A [label = "foo"]; 23 | B [label = "bar"]; 24 | C [label = "baz"]; 25 | 26 | // Set labels to edges. (short text only) 27 | A -> B [label = "click bar"]; 28 | B -> C [label = "click baz"]; 29 | C -> A; 30 | } 31 | 32 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ProgressWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ProgressWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ProxyClient.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ProxyClient.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ProxyManager.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ProxyManager.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ProxyUser.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ProxyUser.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PtDiaryControlPanel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PtDiaryControlPanel.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/PtDiaryWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/PtDiaryWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ReceptionPage.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ReceptionPage.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/RelationalDatabaseTableViewer.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/RelationalDatabaseTableViewer.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/RestorableApplication.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/RestorableApplication.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/RootRecord.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/RootRecord.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/SaveDiscardCancelDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/SaveDiscardCancelDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ServerFunctionDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ServerFunctionDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Service.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/Service.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/SettingsError.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/SettingsError.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ShellFunctions.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ShellFunctions.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ShowAddyMatchDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ShowAddyMatchDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ShowMatchDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ShowMatchDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Signaller.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/Signaller.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/SignallingApplication.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/SignallingApplication.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/SoundexLineEdit.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/SoundexLineEdit.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/SqlQueryTable.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/SqlQueryTable.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/StaffAvatarWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/StaffAvatarWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/StaffMembers.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/StaffMembers.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/StaffObject.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/StaffObject.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/StaticCommentsDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/StaticCommentsDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/StaticCrownsDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/StaticCrownsDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/StaticFillsDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/StaticFillsDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/StaticRootsDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/StaticRootsDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/StaticShortcutsFrame.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/StaticShortcutsFrame.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/StatusBarWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/StatusBarWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/SummaryLineEdit.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/SummaryLineEdit.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/SummaryPage.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/SummaryPage.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/TeethPresentDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/TeethPresentDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/TeethPresentDecoder.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/TeethPresentDecoder.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/TelephoneDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/TelephoneDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/TestWindow.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/TestWindow.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/TextFieldsDB.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/TextFieldsDB.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Tooth.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/Tooth.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ToothData.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ToothData.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ToothDataEditor.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ToothDataEditor.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ToothDataError.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ToothDataError.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ToothDataListModel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ToothDataListModel.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ToothDataListWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ToothDataListWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ToothEditor.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ToothEditor.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/ToothWidget.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/ToothWidget.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/TreatmentItem.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | :Date: |today| 4 | 5 | The Treatment Item Class is a custom data type to decribe an item of treatment. 6 | 7 | An enumeration system is in place (as class attributes) to describe exactly what type of treatment the object refers to. 8 | Those types are 9 | 10 | - TreatmentItem.SIMPLE 11 | - TreatmentItem.TOOTH 12 | - TreatmentItem.ROOT 13 | - TreatmentItem.FILL 14 | - TreatmentItem.CROWN 15 | - TreatmentItem.BRIDGE 16 | - TreatmentItem.PROSTHETICS 17 | - TreatmentItem.OTHER 18 | 19 | .. seealso:: :doc:`ProcCode` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/TreatmentItemException.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/TreatmentItemException.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/TreatmentItemFinaliseDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/TreatmentItemFinaliseDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/TreatmentItemMetadata.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/TreatmentItemMetadata.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/TreatmentModel.rst: -------------------------------------------------------------------------------- 1 | :Author: Neil Wallace (neil@openmolar.com) 2 | :Release: |release| 3 | :Date: |today| 4 | 5 | For Treatment Plans, a model/view design is in place. 6 | 7 | This model keeps a list of all :doc:`TreatmentItem` objects for the patient, and is aware whether they are in the 8 | database or not (ie. have just been added). 9 | 10 | The model will inform any views of changes. 11 | 12 | .. note:: 13 | This is the current focus of development. 14 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/TreatmentPage.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/TreatmentPage.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/TreatmentTreeModel.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/TreatmentTreeModel.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/TreeItem.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/TreeItem.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/UpperCaseLineEdit.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/UpperCaseLineEdit.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/UserObject.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/UserObject.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/UserPasswordDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/UserPasswordDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/Users.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/Users.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/VerifyingRequestHandler.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/VerifyingRequestHandler.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/VerifyingServer.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/VerifyingServer.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/VerifyingServerSSL.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/VerifyingServerSSL.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/WhoLivesHereDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/WhoLivesHereDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/XLS_Writer.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/XLS_Writer.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/class_headings/XrayTreatmentDialog.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/documentation/sphinx/technical/class_headings/XrayTreatmentDialog.rst -------------------------------------------------------------------------------- /documentation/sphinx/technical/design/index.rst: -------------------------------------------------------------------------------- 1 | ****************** 2 | Openmolar - Design 3 | ****************** 4 | 5 | :Author: Neil Wallace (neil@openmolar.com) 6 | 7 | The Openmolar Suite consists of 3 distinct applications, 8 | all of which interact with a postgresql database(s). 9 | 10 | .. toctree:: 11 | :maxdepth: 1 12 | 13 | ../misc/database_interaction 14 | ../misc/tooth_notation 15 | ../misc/postgres 16 | 17 | ../classes/classindex 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/implementation/index.rst: -------------------------------------------------------------------------------- 1 | ************************** 2 | Openmolar - Implementation 3 | ************************** 4 | 5 | :Author: Neil Wallace (neil@openmolar.com) 6 | 7 | - *LANGUAGE* Written in `Python `_ (requires 2.6), 8 | 9 | - *VERSION CONTROL* using the mercurial version control system. To obtain the latest sources execute:: 10 | 11 | hg clone https://openmolar.googlecode.com/hg/ openmolar 12 | 13 | - *GUI TOOLKIT* `PyQt4 `_ 14 | 15 | - *DATA STORAGE* Levers the power of the excellent and mature open-source Postgresql Database. (for current schema see :doc:`../misc/postgres`) 16 | 17 | - *EASILY EXTENSIBLE* openmolar uses a custom plugin system, allowing per site or per station customisation. 18 | 19 | 20 | - *TRANSLATION* provided via gnu gettext. All translatable strings are wrapped in the function _():: 21 | 22 | #example 23 | label = QtGui.QLabel(_("Please Translate me if necessary")) 24 | 25 | 26 | for those interested in contributing to the translation of openmolar, please visit 27 | the translation page on `launchpad `_ 28 | 29 | 30 | 31 | 32 | Detailed Documentation 33 | ---------------------- 34 | 35 | .. toctree:: 36 | :maxdepth: 1 37 | 38 | ../classes/classindex 39 | 40 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/index.rst: -------------------------------------------------------------------------------- 1 | *********************** 2 | Technical Documentation 3 | *********************** 4 | 5 | :Author: Neil Wallace (neil@openmolar.com) 6 | :Release: |release| 7 | :Date: |today| 8 | 9 | 10 | Welcome to the technical documentation for OpenMolar. 11 | 12 | .. note:: 13 | 14 | These documents described in technical language how the application is designed and how the design is implemented. 15 | 16 | 17 | In addition, all python classes used by the application have been catalogued using autodoc. This has proved so useful, that the index to these documents is permalinked in the top right corner of every technical page here. 18 | 19 | 20 | - *DESIGN* :doc:`design/index` 21 | 22 | - *IMPLEMENTATION* :doc:`implementation/index` 23 | 24 | - *CLASSES* :doc:`classes/classindex` 25 | 26 | 27 | Detailed Documentation 28 | ---------------------- 29 | 30 | .. toctree:: 31 | :maxdepth: 1 32 | 33 | design/index 34 | implementation/index 35 | classes/classindex 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /documentation/sphinx/technical/misc/postgres.rst: -------------------------------------------------------------------------------- 1 | Postgres 2 | ======== 3 | 4 | Along with the tables and views described below, there are custom datatypes and rules in use. 5 | 6 | The Schema is **INCOMPLETE, EVOLVING AND SUBJECT TO CHANGE** 7 | 8 | .. note:: 9 | to generate this output, use the following command 10 | 11 | postgresql_autodoc -h 127.0.0.1 -u openmolar --password=PASSWORD -d openmolar_demo -t html 12 | 13 | replacing user and password fields as appropriate 14 | 15 | .. raw:: html 16 | :file: ../../_static/schema.html 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/sphinx/tutorials/index.rst: -------------------------------------------------------------------------------- 1 | Tutorials 2 | ========= 3 | 4 | :Author: Neil Wallace neil@openmolar.com 5 | 6 | This is an experimental section of the documentation. If popular, more videos will be added. 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | new_record 12 | 13 | -------------------------------------------------------------------------------- /documentation/sphinx/tutorials/new_record.rst: -------------------------------------------------------------------------------- 1 | Create a New Record 2 | =================== 3 | 4 | :Author: Neil Wallace neil@openmolar.com 5 | 6 | This tutorial will show you how to create a new patient record in openmolar. 7 | 8 | .. raw:: html 9 | 10 | 20 | 21 |

    Download video as 22 | MP4, 23 | WebM, or 24 | Ogv. 25 |

    26 | 27 | 28 | -------------------------------------------------------------------------------- /man/admin/openmolar_admin.1: -------------------------------------------------------------------------------- 1 | .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.4. 2 | .TH OPENMOLAR-ADMIN "1" "January 2012" "Openmolar-Admin 2.0.1~hg5" "User Commands" 3 | .SH NAME 4 | Openmolar-Admin \- manual page for Openmolar-Admin 2.0.1~hg5 5 | .SH SYNOPSIS 6 | .B openmolar-admin 7 | [\fIoptions\fR] 8 | .SH OPTIONS 9 | .TP 10 | \fB\-h\fR, \fB\-\-help\fR 11 | show this help message and exit 12 | .TP 13 | \fB\-\-version\fR 14 | show version and quit 15 | .TP 16 | \fB\-v\fR, \fB\-\-verbose\fR 17 | verbose logging messages 18 | .TP 19 | \fB\-q\fR, \fB\-\-quiet\fR 20 | minimal logging messages 21 | .TP 22 | \fB\-s\fR SCRIPT, \fB\-\-script\fR=\fISCRIPT\fR 23 | run the cli applicationperforming actions specified in 24 | plain text file SCRIPT 25 | .SH "SEE ALSO" 26 | The full documentation for 27 | .B Openmolar-Admin 28 | is maintained as a Texinfo manual. If the 29 | .B info 30 | and 31 | .B Openmolar-Admin 32 | programs are properly installed at your site, the command 33 | .IP 34 | .B info Openmolar-Admin 35 | .PP 36 | should give you access to the complete manual. 37 | -------------------------------------------------------------------------------- /man/server/openmolar_server.1: -------------------------------------------------------------------------------- 1 | .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.4. 2 | .TH OPENMOLAR-SERVER "1" "January 2012" "Openmolar-Server 2.0.1~hg4" "User Commands" 3 | .SH NAME 4 | Openmolar-Server \- manual page for Openmolar-Server 2.0.1~hg4 5 | .SH SYNOPSIS 6 | .B openmolar-server 7 | [\fIoptions\fR] 8 | .SH OPTIONS 9 | .TP 10 | \fB\-h\fR, \fB\-\-help\fR 11 | show this help message and exit 12 | .TP 13 | \fB\-\-start\fR 14 | start the server 15 | .TP 16 | \fB\-\-stop\fR 17 | stop the server 18 | .TP 19 | \fB\-\-restart\fR 20 | restart the server 21 | .TP 22 | \fB\-\-status\fR 23 | check the status of the server 24 | .TP 25 | \fB\-\-version\fR 26 | show version and quit 27 | .TP 28 | \fB\-v\fR, \fB\-\-verbose\fR 29 | log debug messages 30 | .TP 31 | \fB\-q\fR, \fB\-\-quiet\fR 32 | ignore debug messages 33 | .SH "SEE ALSO" 34 | The full documentation for 35 | .B Openmolar-Server 36 | is maintained as a Texinfo manual. If the 37 | .B info 38 | and 39 | .B Openmolar-Server 40 | programs are properly installed at your site, the command 41 | .IP 42 | .B info Openmolar-Server 43 | .PP 44 | should give you access to the complete manual. 45 | -------------------------------------------------------------------------------- /misc/admin/openmolar-admin: -------------------------------------------------------------------------------- 1 | ../../src/admin.py -------------------------------------------------------------------------------- /misc/admin/openmolar2-admin.desktop: -------------------------------------------------------------------------------- 1 | 2 | [Desktop Entry] 3 | Version=1.0 4 | Name=OpenMolar-Server 5 | GenericName=Dental Practice Management Suite 6 | Comment=Dental Practice Management Software 7 | Exec=openmolar-admin 8 | Icon=openmolar-admin 9 | Terminal=false 10 | Type=Application 11 | MimeType=application/x-openmolar; 12 | Categories=Office; 13 | Name[en_GB]=OpenMolar2-Admin 14 | -------------------------------------------------------------------------------- /misc/client/openmolar-client: -------------------------------------------------------------------------------- 1 | ../../src/client.py -------------------------------------------------------------------------------- /misc/client/openmolar2.desktop: -------------------------------------------------------------------------------- 1 | 2 | [Desktop Entry] 3 | Version=1.0 4 | Name=OpenMolar2 5 | GenericName=Dental Practice Management Suite 6 | Comment=Dental Practice Management Software 7 | Exec=openmolar-client 8 | Icon=openmolar2 9 | Terminal=false 10 | Type=Application 11 | MimeType=application/x-openmolar; 12 | Categories=Office; 13 | Name[en_GB]=OpenMolar2 14 | -------------------------------------------------------------------------------- /misc/newlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/misc/newlogo.png -------------------------------------------------------------------------------- /misc/openmolar2: -------------------------------------------------------------------------------- 1 | ../src/main.py -------------------------------------------------------------------------------- /misc/server/cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIC3DCCAkWgAwIBAgIJANihg2PRAsTxMA0GCSqGSIb3DQEBBQUAMIGGMQswCQYD 3 | VQQGEwJHQjERMA8GA1UECAwIU2NvdGxhbmQxEjAQBgNVBAcMCUludmVybmVzczES 4 | MBAGA1UECgwJT3Blbk1vbGFyMRUwEwYDVQQDDAxOZWlsIFdhbGxhY2UxJTAjBgkq 5 | hkiG9w0BCQEWFnJvd2luZ2dvbGZlckBnbWFpbC5jb20wHhcNMTExMTI4MjI1MTI5 6 | WhcNMTExMjI4MjI1MTI5WjCBhjELMAkGA1UEBhMCR0IxETAPBgNVBAgMCFNjb3Rs 7 | YW5kMRIwEAYDVQQHDAlJbnZlcm5lc3MxEjAQBgNVBAoMCU9wZW5Nb2xhcjEVMBMG 8 | A1UEAwwMTmVpbCBXYWxsYWNlMSUwIwYJKoZIhvcNAQkBFhZyb3dpbmdnb2xmZXJA 9 | Z21haWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEOt0C2GU7KB0+ 10 | KkFt6uet+SD+mDE8rygou3yrUOfyjEawrqLS/1FLqhvaB38Vib/GHzFI8byl2MSK 11 | BLFs4i4FkQVcrBuNX04XzbTpjObPsELPnpjInigrDmk6iuuY9EQiMJc8sO57Rxyh 12 | 6kwDx6rIANDRqIINDLZsXoZBKjEpxQIDAQABo1AwTjAdBgNVHQ4EFgQUH+9vWPuG 13 | +dQu13Fsi65XUXP5eIEwHwYDVR0jBBgwFoAUH+9vWPuG+dQu13Fsi65XUXP5eIEw 14 | DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQCVfpTpGATWBoRiLeaSX1hj 15 | wgD02zt6w3Uyu8375Pfz2rWk7cQvgrItsqus8Nsxgj9g9GgWhrU1jKBqdkI/Gd61 16 | Ls9LXSzPxD5vw7k+qI9wJM8o8FwG7fV/AS/YXGtvcPfxkxDYGlPFIkEk2eVnmDVx 17 | oZQpPIajVk0TZRGvKgEzUQ== 18 | -----END CERTIFICATE----- 19 | -------------------------------------------------------------------------------- /misc/server/master_schema.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE info ( 2 | key VARCHAR(20), 3 | value VARCHAR(20), 4 | CONSTRAINT pk_info PRIMARY KEY (key) 5 | ); 6 | 7 | CREATE TABLE databases ( 8 | ix SERIAL NOT NULL, 9 | name VARCHAR(50) NOT NULL, 10 | description VARCHAR(250), 11 | created TIMESTAMP NOT NULL, 12 | CONSTRAINT pk_databases PRIMARY KEY (ix) 13 | ); 14 | 15 | CREATE TABLE users ( 16 | ix SERIAL NOT NULL, 17 | name VARCHAR(20) NOT NULL, 18 | store_password BOOL NOT NULL DEFAULT false, 19 | psword bytea, 20 | CONSTRAINT pk_users PRIMARY KEY (ix), 21 | CONSTRAINT users_passwd CHECK((psword is NOT NULL AND store_password) OR (psword is NULL AND NOT store_password)) 22 | ); 23 | 24 | insert into info values ('version', '1.0'); 25 | 26 | grant all privileges on info to openmolar; 27 | grant all privileges on databases to openmolar; 28 | grant all privileges on databases_ix_seq to openmolar; 29 | grant all privileges on users to openmolar; 30 | grant all privileges on users_ix_seq to openmolar; 31 | 32 | -------------------------------------------------------------------------------- /misc/server/openmolar: -------------------------------------------------------------------------------- 1 | ../../src/shell_scripts/init.d_script.sh -------------------------------------------------------------------------------- /misc/server/openmolar-alter-master-user: -------------------------------------------------------------------------------- 1 | ../../src/shell_scripts/alter_master_user.sh -------------------------------------------------------------------------------- /misc/server/openmolar-fuzzymatch: -------------------------------------------------------------------------------- 1 | ../../src/shell_scripts/install_fuzzymatch.sh -------------------------------------------------------------------------------- /misc/server/openmolar-init-master-db: -------------------------------------------------------------------------------- 1 | ../../src/shell_scripts/init_master_db.sh -------------------------------------------------------------------------------- /misc/server/openmolar-init-master-user: -------------------------------------------------------------------------------- 1 | ../../src/shell_scripts/init_master_user.sh -------------------------------------------------------------------------------- /misc/server/openmolar-server: -------------------------------------------------------------------------------- 1 | ../../src/server.py -------------------------------------------------------------------------------- /misc/server/privatekey.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMQ63QLYZTsoHT4q 3 | QW3q5635IP6YMTyvKCi7fKtQ5/KMRrCuotL/UUuqG9oHfxWJv8YfMUjxvKXYxIoE 4 | sWziLgWRBVysG41fThfNtOmM5s+wQs+emMieKCsOaTqK65j0RCIwlzyw7ntHHKHq 5 | TAPHqsgA0NGogg0MtmxehkEqMSnFAgMBAAECgYEAqj8TnrNV6KQd8uBAUff6t1Ks 6 | kJZEKY0hv20idZPFGQchEYsCEyOWSZo1fc0BMhOHwYEwhkPM0uqlYcU+leQJ3h2D 7 | GjK4I1Dp9HKfFyakW31E814CT2JCz4XZM6YsZHRCkgKq8zQD8X2+L17SoPFOPL+c 8 | eMVluALV8mFDBAaLDgUCQQD4Y1gCtRI+M6cHhuD3OPfMarOp1Qtgu4nazl9A4xQF 9 | UoIXmYFwumyyqmwjoqIp7Qw+SMRtThpjYH4AJscCj3gLAkEAyj5UANI8ZcpHXied 10 | O0Kh5RNqftzUQgnThYSG8dc7yh1ImiH2aqIK/1Vwfu85GqwGf/VfNNfneZ/Rh7Gi 11 | ke13bwJBAK5GFZQgs2INH546VlFfGQ3Ft7TrE4aVTo3EyjRensd1Mm2YeKc9RdK9 12 | nA4Mp7a+6R4yNA91AzLCmuVET9FOFC0CQQCBrjuhFy2hO3ZNumsIf65du/hyhlkY 13 | S0K1f4gj9JYjAGn4Y0SllWgl13w9+FkOcDXuwMCemr6Tb1Ykg1Ox7KnDAkBCfy6N 14 | 4cxb3+9hF2TdO02irBy7QHdEkDYXdOr9RCjTZ6C1JLZIZ6zoIiYbDwjsGQSER21X 15 | LuJP1XlIVY94hkN3 16 | -----END PRIVATE KEY----- 17 | -------------------------------------------------------------------------------- /src/config_files/localhost.conf: -------------------------------------------------------------------------------- 1 | # this conf file helps the client or admin application locate the 230 server 2 | 3 | [SERVER] 4 | host = 127.0.0.1 5 | port = 1430 6 | -------------------------------------------------------------------------------- /src/config_files/openmolar_server.conf: -------------------------------------------------------------------------------- 1 | 2 | # This is the configuration file for the openmolar server. 3 | # This file should be in read/write able by root only. 4 | 5 | [config] 6 | # version number for this config file type 7 | version = 1.0 8 | 9 | [postgresql] 10 | # params for how this daemon should connect to postgres when required to 11 | # do so 12 | # user "openmolar" is a high privilege user who can create users and databases 13 | # user "openmolar" should be used as the owner of the databases. 14 | # this simplifies backup. 15 | # NOTE - password is plain text. I should fix this! 16 | host = localhost 17 | port = 5432 18 | user = openmolar 19 | password = {PASSWORD} 20 | 21 | [managers-md5] 22 | # this is an md5 hash of the admin user of the server's password 23 | admin = {MD5-PASSWORD} 24 | 25 | [230server] 26 | # params to show how the server should listen for connections 27 | # if listen is left blank.. ALL interfaces are used. 28 | # if you have a static ip, or require only local connections, 29 | # you should probably change this to something more specific. 30 | # the port of 1430 is default ("tooth hurty"?) 31 | listen = 32 | port = 1430 33 | 34 | [ssl] 35 | # location of the certs used to ensure that data over port 1430 36 | # is wrapped in ssl. 37 | # you should probably create your own certs. 38 | cert = /usr/share/openmolar/cert.pem 39 | key = /usr/share/openmolar/privatekey.pem 40 | 41 | -------------------------------------------------------------------------------- /src/lib_openmolar/admin/.hgignore: -------------------------------------------------------------------------------- 1 | .*\.pyc$ 2 | .*~$ 3 | version.py 4 | -------------------------------------------------------------------------------- /src/lib_openmolar/admin/__init__.py: -------------------------------------------------------------------------------- 1 | import gettext 2 | import os 3 | 4 | import settings 5 | import admin_logger 6 | 7 | admin_logger.install() 8 | settings.install() 9 | 10 | lang = os.environ.get("LANG") 11 | if lang: 12 | try: 13 | LOGGER.debug( 14 | "trying to install %s as your environment language"% lang) 15 | 16 | lang1 = gettext.translation('openmolar', languages=[lang,]) 17 | lang1.install(unicode=True) 18 | 19 | except IOError: 20 | LOGGER.warning("%s not found, using default"% lang) 21 | gettext.install('openmolar', unicode=True) 22 | else: 23 | LOGGER.warning( 24 | "no language environment found - this should not happen!") 25 | gettext.install('openmolar', unicode=True) 26 | -------------------------------------------------------------------------------- /src/lib_openmolar/admin/data_import/__init__.py: -------------------------------------------------------------------------------- 1 | from import_dialog import ImportDialog 2 | -------------------------------------------------------------------------------- /src/lib_openmolar/admin/db_tools/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/admin/db_tools/__init__.py -------------------------------------------------------------------------------- /src/lib_openmolar/admin/qt4/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/lib_openmolar/admin/qt4/classes/__init__.py: -------------------------------------------------------------------------------- 1 | ''' 2 | make classes under lib_openmolar.admin.qt4.classes easily importable 3 | ''' 4 | from query_table import SqlQueryTable 5 | from database_models import MyModel, MyRelationalModel 6 | from tab_widget import AdminTabWidget 7 | from log_widget import LogWidget 8 | from admin_session_widget import AdminSessionWidget 9 | -------------------------------------------------------------------------------- /src/lib_openmolar/admin/qt4/dialogs/__init__.py: -------------------------------------------------------------------------------- 1 | ''' 2 | make classes under lib_openmolar.admin.qt4.dialogs easily importable 3 | ''' 4 | from populate_demo_dialog import PopulateDemoDialog 5 | from plain_text_dialog import PlainTextDialog 6 | from new_db_dialog import NewDatabaseDialog 7 | from new_db_row_dialog import NewRowDialog 8 | from manage_db_dialog import ManageDatabaseDialog 9 | from configure_db_dialog import ConfigureDatabaseDialog 10 | from manage_pg_users_dialog import ManagePGUsersDialog 11 | from import_progress_dialog import ImportProgressDialog 12 | from drop_pg_user_dialog import DropPGUserDialog 13 | 14 | __all__ = ["PopulateDemoDialog", 15 | "PlainTextDialog", 16 | "NewDatabaseDialog", 17 | "NewRowDialog", 18 | "ManageDatabaseDialog", 19 | "ConfigureDatabaseDialog", 20 | "ManagePGUsersDialog", 21 | "ImportProgressDialog", 22 | "DropPGUserDialog", 23 | ] -------------------------------------------------------------------------------- /src/lib_openmolar/admin/resources/Makefile: -------------------------------------------------------------------------------- 1 | #MakeFile 2 | 3 | resources: 4 | pyrcc4 -py2 resources.qrc > ../qrc_resources.py 5 | -------------------------------------------------------------------------------- /src/lib_openmolar/admin/resources/icons/database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/admin/resources/icons/database.png -------------------------------------------------------------------------------- /src/lib_openmolar/admin/resources/icons/openmolar-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/admin/resources/icons/openmolar-server.png -------------------------------------------------------------------------------- /src/lib_openmolar/admin/resources/proc_codes/om2_descriptions.txt: -------------------------------------------------------------------------------- 1 | 0101|A routine examination of a regular patient 2 | 0102|An Extensive examination of a new patient or irregular attender 3 | 0103|Problem Focused examination 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/lib_openmolar/admin/resources/resources.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/openmolar-server.png 5 | icons/database.png 6 | avatars/demo_blondie.svg 7 | avatars/demo_iceman.svg 8 | avatars/demo_me.svg 9 | avatars/demo_frog.svg 10 | avatars/demo_jellyman.svg 11 | avatars/demo_negro.svg 12 | avatars/demo_andi.svg 13 | avatars/demo_neil.svg 14 | avatars/demo_helen.svg 15 | avatars/demo_nattress.svg 16 | avatars/demo_lucy.svg 17 | avatars/demo_ja.svg 18 | avatars/demo_sally.svg 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/lib_openmolar/client/.hgignore: -------------------------------------------------------------------------------- 1 | .*\.pyc$ 2 | .*~$ 3 | version.py 4 | 5 | -------------------------------------------------------------------------------- /src/lib_openmolar/client/__init__.py: -------------------------------------------------------------------------------- 1 | import __builtin__ 2 | import gettext 3 | import logging 4 | import os 5 | 6 | import settings 7 | 8 | logging.basicConfig(level = logging.INFO, 9 | format='%(asctime)s %(levelname)s %(message)s') 10 | 11 | try: 12 | LOGGER.warning(''' 13 | Abandoned a second attempt to install LOGGER into globals 14 | THIS SHOULD NOT HAPPEN!! 15 | perhaps code is being imported from both admin and client?''') 16 | except NameError: 17 | LOGGER = logging.getLogger("openmolar-client") 18 | __builtin__.LOGGER = LOGGER 19 | 20 | lang = os.environ.get("LANG") 21 | if lang: 22 | try: 23 | lang1 = gettext.translation('openmolar', languages=[lang,]) 24 | lang1.install(unicode=True) 25 | except IOError: 26 | LOGGER.debug("trying to install your environment language %s"% lang) 27 | LOGGER.debug("%s not found, using default"% lang) 28 | gettext.install('openmolar', unicode=True) 29 | else: 30 | LOGGER.info("no language environment found") 31 | gettext.install('openmolar', unicode=True) 32 | 33 | settings.install() 34 | 35 | import qrc_resources 36 | 37 | __all__ = ["Plugin", "qrc_resources"] -------------------------------------------------------------------------------- /src/lib_openmolar/client/classes/__init__.py: -------------------------------------------------------------------------------- 1 | from tooth import Tooth 2 | 3 | __all__ = ["Tooth"] 4 | -------------------------------------------------------------------------------- /src/lib_openmolar/client/db_orm/diary/__init__.py: -------------------------------------------------------------------------------- 1 | from diary_model import _DiarySettings 2 | from diary_model import DiaryDataModel 3 | -------------------------------------------------------------------------------- /src/lib_openmolar/client/db_orm/table_models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/db_orm/table_models/__init__.py -------------------------------------------------------------------------------- /src/lib_openmolar/client/qt4/__init__.py: -------------------------------------------------------------------------------- 1 | from colours import COLOURS 2 | -------------------------------------------------------------------------------- /src/lib_openmolar/client/qt4/dialogs/__init__.py: -------------------------------------------------------------------------------- 1 | from lib_openmolar.client.qt4.dialogs.bpe_dialogs import NewBpeDialog, ListBpeDialog #BPE_ComboBox 2 | from lib_openmolar.client.qt4.dialogs.find_patient_dialog import FindPatientDialog 3 | from lib_openmolar.client.qt4.dialogs.new_patient_dialog import NewPatientDialog 4 | from lib_openmolar.client.qt4.dialogs.new_exam_dialog import NewExamDialog 5 | from lib_openmolar.client.qt4.dialogs.hyg_treatment_dialog import HygTreatmentDialog 6 | from lib_openmolar.client.qt4.dialogs.xray_treatment_dialog import XrayTreatmentDialog 7 | from lib_openmolar.client.qt4.dialogs.edit_patient_dialog import EditPatientDialog 8 | from lib_openmolar.client.qt4.dialogs.address_dialogs.address_dialog import AddressDialog 9 | from lib_openmolar.client.qt4.dialogs.save_discard_cancel_dialog import SaveDiscardCancelDialog 10 | from lib_openmolar.client.qt4.dialogs.treatment_item_finalise_dialog import TreatmentItemFinaliseDialog 11 | 12 | 13 | __all__ = [ "NewBpeDialog", 14 | "ListBpeDialog", 15 | "FindPatientDialog", 16 | "NewPatientDialog", 17 | "NewExamDialog", 18 | "HygTreatmentDialog", 19 | "XrayTreatmentDialog", 20 | "EditPatientDialog", 21 | "AddressDialog", 22 | "SaveDiscardCancelDialog", 23 | "TreatmentItemFinaliseDialog" 24 | ] -------------------------------------------------------------------------------- /src/lib_openmolar/client/qt4/dialogs/address_dialogs/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/lib_openmolar/client/qt4/dialogs/address_dialogs/components/__init__.py: -------------------------------------------------------------------------------- 1 | from new_address_widget import NewAddressWidget 2 | from existing_address_widget import ExistingAddressWidget 3 | -------------------------------------------------------------------------------- /src/lib_openmolar/client/qt4/diary/__init__.py: -------------------------------------------------------------------------------- 1 | from diary_interface import DiaryInterface -------------------------------------------------------------------------------- /src/lib_openmolar/client/qt4/diary/components/__init__.py: -------------------------------------------------------------------------------- 1 | from lib_openmolar.client.qt4.diary.components.diary_period_control import DiaryPeriodControl 2 | from lib_openmolar.client.qt4.diary.components.diary_view_controller import DiaryViewController 3 | from lib_openmolar.client.qt4.diary.components.diary_schedule_controller import DiaryScheduleController 4 | 5 | from lib_openmolar.client.qt4.diary.components.diary_control import DiaryControl 6 | from lib_openmolar.client.qt4.diary.components.diary_widget import DiaryWidget 7 | -------------------------------------------------------------------------------- /src/lib_openmolar/client/qt4/diary/dialogs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/qt4/diary/dialogs/__init__.py -------------------------------------------------------------------------------- /src/lib_openmolar/client/qt4/patient_records/__init__.py: -------------------------------------------------------------------------------- 1 | from patient_interface import PatientInterface 2 | -------------------------------------------------------------------------------- /src/lib_openmolar/client/qt4/patient_records/pages/__init__.py: -------------------------------------------------------------------------------- 1 | from page_summary import SummaryPage 2 | from page_charts import ChartsPage 3 | from page_reception import ReceptionPage 4 | from page_treatment import TreatmentPage 5 | from page_history import HistoryPage 6 | from page_estimates import EstimatesPage 7 | 8 | __all__ = [ "SummaryPage", 9 | "ChartsPage", 10 | "ReceptionPage", 11 | "TreatmentPage", 12 | "HistoryPage", 13 | "EstimatesPage" 14 | ] -------------------------------------------------------------------------------- /src/lib_openmolar/client/qt4/pt_diary_widget/__init__.py: -------------------------------------------------------------------------------- 1 | from pt_diary_widget import PtDiaryWidget -------------------------------------------------------------------------------- /src/lib_openmolar/client/qt4/widgets/__init__.py: -------------------------------------------------------------------------------- 1 | from add_notes_widget import AddNotesWidget 2 | from notes_widget import NotesWidget 3 | from bpe_widget import BPEWidget 4 | from control_panel import ControlPanel 5 | from details_browser import DetailsBrowser 6 | from patient_interface_options_widget import ChartOptionsWidget, PatientInterfaceOptionsWidget 7 | from statusbar_widget import StatusBarWidget 8 | from summary_line_edit import SummaryLineEdit 9 | from treatment_tree_model import TreatmentTreeModel 10 | from soundex_line_edit import SoundexLineEdit 11 | 12 | #subpackages 13 | from chart_editor import * 14 | from chart_widgets import * 15 | -------------------------------------------------------------------------------- /src/lib_openmolar/client/qt4/widgets/chart_editor/__init__.py: -------------------------------------------------------------------------------- 1 | from lib_openmolar.client.qt4.widgets.chart_editor.chart_editor_tooth import ToothEditor, MaterialButBox, ToothWidget 2 | from lib_openmolar.client.qt4.widgets.chart_editor.chart_line_edit import ChartLineEdit 3 | from lib_openmolar.client.qt4.widgets.chart_editor.tooth_data_editor import ToothDataEditor 4 | from lib_openmolar.client.qt4.widgets.chart_editor.tooth_data_list_widget import ToothDataListWidget 5 | 6 | __all__ = [ "ToothEditor", 7 | "MaterialButBox", 8 | "ToothWidget", 9 | "ChartLineEdit", 10 | "ToothDataEditor", 11 | "ToothDataListWidget" 12 | ] -------------------------------------------------------------------------------- /src/lib_openmolar/client/qt4/widgets/chart_widgets/__init__.py: -------------------------------------------------------------------------------- 1 | from chart_widget_base import ChartWidgetBase 2 | from chart_widget_completed import ChartWidgetCompleted 3 | from chart_widget_static import ChartWidgetStatic 4 | from chart_widget_summary import ChartWidgetSummary 5 | from chart_widget_treatment import ChartWidgetTreatment 6 | 7 | from tooth_data import ToothData, ToothDataError 8 | from chart_data_model import ChartDataModel 9 | 10 | __all__ = [ "ChartWidgetBase", 11 | "ChartWidgetCompleted", 12 | "ChartWidgetStatic", 13 | "ChartWidgetSummary", 14 | "ChartWidgetTreatment", 15 | "ToothData", 16 | "ToothDataError", 17 | "ChartDataModel" 18 | ] 19 | -------------------------------------------------------------------------------- /src/lib_openmolar/client/qt4/widgets/procedures/__init__.py: -------------------------------------------------------------------------------- 1 | from codes_tree_model import ProcCodeTreeModel 2 | from crown_codes_model import CrownCodesModel 3 | from proc_code_widget import ProcCodeWidget 4 | 5 | __all__ = [ "ProcCodeTreeModel", 6 | "CrownCodesModel", 7 | "ProcCodeWidget", 8 | ] -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/Makefile: -------------------------------------------------------------------------------- 1 | #MakeFile 2 | 3 | resources: 4 | pyrcc4 -py2 resources.qrc > ../qrc_resources.py 5 | -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/add_user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/add_user.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/agt_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/agt_back.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/agt_family.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/agt_family.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/agt_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/agt_forward.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/agt_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/agt_home.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/agt_reload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/agt_reload.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/applications-internet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/applications-internet.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/bpe_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/bpe_list.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/bpe_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/bpe_new.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/chain-broken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/chain-broken.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/chain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/chain.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/crown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/crown.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/database.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/filling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/filling.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/fissure_sealant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/fissure_sealant.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/openmolar-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/openmolar-server.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/openmolar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/openmolar.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/pencil.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/phone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/phone.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/root.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/root.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/search.png -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/soundex.svg: -------------------------------------------------------------------------------- 1 | 2 | image/svg+xml 23 | 26 | 29 | 30 | -------------------------------------------------------------------------------- /src/lib_openmolar/client/resources/icons/vcalendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/client/resources/icons/vcalendar.png -------------------------------------------------------------------------------- /src/lib_openmolar/common/.hgignore: -------------------------------------------------------------------------------- 1 | .*\.pyc$ 2 | .*~$ 3 | version.py 4 | -------------------------------------------------------------------------------- /src/lib_openmolar/common/__init__.py: -------------------------------------------------------------------------------- 1 | from qt4.plugin_tools.plugin import Plugin 2 | 3 | __all__ = ["Plugin",] 4 | -------------------------------------------------------------------------------- /src/lib_openmolar/common/connect/__init__.py: -------------------------------------------------------------------------------- 1 | ''' 2 | make 'public' classes under lib_openmolar.common.connect easily importable 3 | ''' 4 | 5 | from proxy_user import ProxyUser 6 | from proxy_client import ProxyClient 7 | -------------------------------------------------------------------------------- /src/lib_openmolar/common/datatypes/__init__.py: -------------------------------------------------------------------------------- 1 | from proc_codes import ProcedureCodesInstance 2 | from editable_field import EditableField 3 | from om_types import OMType, OMTypes 4 | from connection_data import ConnectionData 5 | from connection230_data import Connection230Data 6 | 7 | -------------------------------------------------------------------------------- /src/lib_openmolar/common/db_orm/__init__.py: -------------------------------------------------------------------------------- 1 | from insertable_record import InsertableRecord 2 | from treatment_item import TreatmentItem 3 | from teeth_present_decoder import TeethPresentDecoder -------------------------------------------------------------------------------- /src/lib_openmolar/common/import_export/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/lib_openmolar/common/qt4/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/common/qt4/__init__.py -------------------------------------------------------------------------------- /src/lib_openmolar/common/qt4/dialogs/__init__.py: -------------------------------------------------------------------------------- 1 | ''' 2 | make classes under lib_openmolar.common.qt4.dialogs easily importable 3 | ''' 4 | 5 | from base_dialog import BaseDialog 6 | from extendable_dialog import ExtendableDialog 7 | from new_user_dialog import NewUserPasswordDialog 8 | from user_dialog import UserPasswordDialog 9 | from preferences_dialog import PreferencesDialog 10 | 11 | __all__ = [ 'BaseDialog', 12 | 'ExtendableDialog', 13 | 'NewUserPasswordDialog', 14 | 'UserPasswordDialog', 15 | 'PreferencesDialog', 16 | ] 17 | -------------------------------------------------------------------------------- /src/lib_openmolar/common/qt4/plugin_tools/__init__.py: -------------------------------------------------------------------------------- 1 | from plugin import Plugin 2 | from plugin_handler import PluginHandler 3 | from plugins_directory_dialog import PluginsDirectoryDialog 4 | from plugin_options_widget import PluginOptionsWidget 5 | #from plugin_download_window import PluginDownloadWindow 6 | from plugable_main_window import PlugableMainWindow 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/lib_openmolar/common/qt4/postgres/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/common/qt4/postgres/__init__.py -------------------------------------------------------------------------------- /src/lib_openmolar/common/qt4/printing/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/common/qt4/printing/__init__.py -------------------------------------------------------------------------------- /src/lib_openmolar/common/qt4/widgets/__init__.py: -------------------------------------------------------------------------------- 1 | ''' 2 | make classes under lib_openmolar.common.datatypes easily importable 3 | ''' 4 | from advisor_notification import Advisor 5 | from restorable_app import RestorableApplication 6 | from restorable_app import SignallingApplication 7 | from dockable_menubar import DockableMenuBar 8 | from main_window import BaseMainWindow 9 | from preference import Preference 10 | from font_options_widget import FontOptionsWidget 11 | from completer_textedit import CompletionTextEdit 12 | from upper_case_lineedit import UpperCaseLineEdit 13 | from closeable_tab_widget import ClosableTabWidget 14 | from progress_widget import ProgressWidget 15 | -------------------------------------------------------------------------------- /src/lib_openmolar/common/resources/Makefile: -------------------------------------------------------------------------------- 1 | #MakeFile 2 | 3 | resources: 4 | pyrcc4 -py2 resources.qrc > ../qt4/qrc_resources.py 5 | -------------------------------------------------------------------------------- /src/lib_openmolar/common/resources/icons/eraser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/common/resources/icons/eraser.png -------------------------------------------------------------------------------- /src/lib_openmolar/common/resources/icons/plugins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/common/resources/icons/plugins.png -------------------------------------------------------------------------------- /src/lib_openmolar/common/resources/images/footer_fade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/common/resources/images/footer_fade.png -------------------------------------------------------------------------------- /src/lib_openmolar/common/resources/images/header_fade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/common/resources/images/header_fade.png -------------------------------------------------------------------------------- /src/lib_openmolar/common/resources/images/log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/common/resources/images/log.png -------------------------------------------------------------------------------- /src/lib_openmolar/common/resources/images/om_db.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/common/resources/images/om_db.png -------------------------------------------------------------------------------- /src/lib_openmolar/common/resources/resources.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | icons/postgresql_elephant.svg 6 | icons/no_postgresql_elephant.svg 7 | icons/plugins.png 8 | icons/eraser.png 9 | 10 | images/header_fade.png 11 | images/footer_fade.png 12 | images/om_db.png 13 | images/log.png 14 | 15 | proc_codes/om2_codes.xml 16 | 17 | css/proxy.css 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/lib_openmolar/server/.hgignore: -------------------------------------------------------------------------------- 1 | .*\.pyc$ 2 | .*~$ 3 | version.py 4 | 5 | -------------------------------------------------------------------------------- /src/lib_openmolar/server/__init__.py: -------------------------------------------------------------------------------- 1 | import gettext, os 2 | 3 | lang = os.environ.get("LANG") 4 | if lang: 5 | try: 6 | lang1 = gettext.translation('openmolar', languages=[lang,]) 7 | lang1.install(unicode=True) 8 | except IOError: 9 | gettext.install('openmolar', unicode=True) 10 | else: 11 | gettext.install('openmolar', unicode=True) 12 | -------------------------------------------------------------------------------- /src/lib_openmolar/server/daemon/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/server/daemon/__init__.py -------------------------------------------------------------------------------- /src/lib_openmolar/server/functions/__init__.py: -------------------------------------------------------------------------------- 1 | from function_store import FunctionStore 2 | 3 | __all__ = ["FunctionStore"] -------------------------------------------------------------------------------- /src/lib_openmolar/server/misc/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/server/misc/__init__.py -------------------------------------------------------------------------------- /src/lib_openmolar/server/servers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rowinggolfer/openmolar2/9a6f0bfada239633f3ad938a8415f200e905cd32/src/lib_openmolar/server/servers/__init__.py -------------------------------------------------------------------------------- /src/shell_scripts/alter_master_user.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # this script creates the postgres user "openmolar" 4 | # who is allowed to create new roles and databases. 5 | # This user will be the owner of ALL openmolar's databases, 6 | # and as such be of use for backups etc.. 7 | 8 | PWORD_LOCATION='/etc/openmolar/server/server.conf' 9 | echo "ATTEMPTING RESET OF PASSWORD FOR PG_USER 'openmolar'" 10 | 11 | if [ ! -f $PWORD_LOCATION ] 12 | then 13 | echo 'FATAL ERROR!' $PWORD_LOCATION 'does not exist' 14 | exit 0 15 | fi 16 | 17 | PWORD=`grep 'password = ' $PWORD_LOCATION | awk -F' = ' {'print $2'}` 18 | 19 | echo "ALTER ROLE openmolar WITH SUPERUSER CREATEDB CREATEROLE NOINHERIT LOGIN ENCRYPTED PASSWORD '************';" 20 | echo "ALTER ROLE openmolar WITH SUPERUSER CREATEDB CREATEROLE NOINHERIT LOGIN ENCRYPTED PASSWORD '$PWORD';" | su postgres -c psql 21 | 22 | -------------------------------------------------------------------------------- /src/shell_scripts/init.d_script.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | ### BEGIN INIT INFO 4 | # Required-Start: $local_fs $remote_fs $network 5 | # Required-Stop: $local_fs $remote_fs $network 6 | # Provides: openmolar-server 7 | # Default-Start: 2 3 4 5 8 | # Default-Stop: 0 1 6 9 | # Short-Description: the remote procedure server of openmolar 10 | # Description: the remote procedure server of openmolar 11 | # provides functions for maintenance of the postgres database 12 | ### END INIT INFO 13 | 14 | 15 | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 16 | NAME=openmolar-server 17 | DESC=openmolar-server 18 | 19 | set -e 20 | 21 | case "$1" in 22 | start) 23 | echo "Checking for running $DESC: " 24 | openmolar-server -q --start 25 | ;; 26 | stop) 27 | echo "Checking for running $DESC: " 28 | openmolar-server -q --stop 29 | ;; 30 | restart) 31 | echo "Checking for running $DESC: " 32 | openmolar-server -q --restart 33 | ;; 34 | force-reload) 35 | # nothing 36 | ;; 37 | status) 38 | echo "Checking for running $DESC: " 39 | openmolar-server -q --status 40 | ;; 41 | *) 42 | N=/etc/init.d/$NAME 43 | echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 44 | exit 1 45 | ;; 46 | esac 47 | 48 | -------------------------------------------------------------------------------- /src/shell_scripts/init_master_db.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # this script creates the master database "openmolar_master" 4 | 5 | DATABASE="openmolar_master" 6 | 7 | echo "CREATING MASTER DATABASE" 8 | 9 | echo "createdb -e --owner=openmolar "$DATABASE" 'contains information about openmolar databases on this server' " | su postgres 10 | 11 | echo "LAYING OUT SCHEMA for openmolar_master" 12 | 13 | cat /usr/share/openmolar/master_schema.sql | su postgres -c "psql $DATABASE" 14 | 15 | 16 | echo "\nALL DONE!" 17 | -------------------------------------------------------------------------------- /src/shell_scripts/init_master_user.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # this script creates the postgres user "openmolar" 4 | # who is allowed to create new roles and databases. 5 | # This user will be the owner of ALL openmolar's databases, 6 | # and as such be of use for backups etc.. 7 | 8 | echo "CREATE ROLE openmolar;" 9 | echo "CREATE ROLE openmolar;" | su postgres -c psql 10 | 11 | -------------------------------------------------------------------------------- /src/shell_scripts/install_fuzzymatch.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | # this script installs the fuzzymatch functions provided by postgres-contrib 4 | # as these functions are written in non SQL, the superuser is required to 5 | # add these to our database. 6 | 7 | DATABASE=$1 8 | 9 | echo "\n############################################################################" 10 | echo "## ##" 11 | echo "## installing fuzzymatch functions (soundex etc..) ##" 12 | echo "## from /usr/share/postgresql/8.4/contrib/fuzzystrmatch.sql ##" 13 | echo "## ##" 14 | echo "############################################################################\n" 15 | 16 | ##TODO - make this use the correct version of the script!! 17 | ##8.4 may not be the db version! 18 | 19 | cat /usr/share/postgresql/8.4/contrib/fuzzystrmatch.sql | su postgres -c "psql $DATABASE" 20 | 21 | -------------------------------------------------------------------------------- /src/tests/run_all_modules.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | 3 | ''' 4 | runs all modules in the source directory (except those listed in exclusions) 5 | ''' 6 | 7 | import os 8 | import subprocess 9 | 10 | EXCLUSIONS = ["tests.py",] 11 | 12 | for root, dirs, files in os.walk(os.path.abspath("../lib_openmolar")): 13 | for file_ in files: 14 | filepath = os.path.join(root, file_) 15 | if "/tests/" in filepath or file_ in EXCLUSIONS: 16 | continue 17 | if file_.endswith(".py"): 18 | print "="*80 19 | print "Executing %s"% filepath 20 | p = subprocess.Popen(["python", filepath]) 21 | p.wait() 22 | print "="*80 23 | --------------------------------------------------------------------------------