Code Monkey home page Code Monkey logo

msm's Introduction

msm - Magazine Subscription Manager

A simple yet powerful tool to manage magazine subscribers, written in Python 3 and using GObject Introspection (Gtk+ 3).

MSM logo

How to install

Prerequisites

MSM currently needs a couple of dependencies:

We currently also need python-pytz at the moment, but we'll replace it with python-babel soon (we only need pytz for getting country names by ISO 3661-1alpha2 codes).

On windows, you'll also need pywin32.

Installation

Clone the git repository:

git clone https://github.com/Holzhaus/msm.git

Now you can run msm.pyw:

cd msm
chmod +x msm.pyw
./msm.pyw

First Steps

On first start, MSM will create a config directory and the database by itself.

Now you should edit the Magazines. Open the application menu of MSM and click on Preferences. In the tab Magazines you can add a new magazine and then add possible subscription types to it. If you're done, click Apply.

You can now start adding customers.

msm's People

Contributors

holzhaus avatar

Stargazers

Patrick Luzolo avatar

Watchers

James Cloos avatar Patrick Luzolo avatar  avatar  avatar

msm's Issues

Avoid data duplication in CustomerTable

Up to now, the CustomerTable inserts multiple columns containing simple data types like str or int into the underlying liststore. This can lead to data being out of sync and also makes it harder to add support for customizable TreeViewColumn (which might happen in a later release).

Instead, every row in the liststore should only have on column (of type PyObject). This will contain the core.database.Customer object. Its attributes will be access via cell_data_funcs.

I sincerely hope this doesn't degrade performance too much.

Investigate function of InvoicingAssistant

Recheck if InvoicingAssistant is really working properly. It's extremely important that the invoices are not based on miscalculations.

Also, the insertion of BookkeepingEntries needs to be improved.

Proper data loading for CustomerTable

Adding a huge bunch of rows to the treemodel should be a lot faster if the Gtk.TreeModel is completely disconnected from the Gtk.TreeView and filtering/sorting is disabled. Also, The CustomerWindow should be insensitive during loading and some loading indicator might be displayed (probably a Gtk.Spinner)

Proper data loading for InvoiceTable

Adding a huge bunch of rows to the treemodel should be a lot faster if the Gtk.TreeModel is completely disconnected from the Gtk.TreeView and filtering/sorting is disabled. Also, The InvoiceWindow should be insensitive during loading and some loading indicator might be displayed (probably a Gtk.Spinner)

Investigate function of LetterExportAssistant

Currently, if LetterExportAssistant throws an Error during PDF generation (namely a LatexError), the corresponding letter is skipped silently. This shouldn't happen. Make the Errors fatal and check if they occur.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.