-
Notifications
You must be signed in to change notification settings - Fork 0
/
rechnungcontroller.py
57 lines (49 loc) · 2.18 KB
/
rechnungcontroller.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import json
from PyQt5.QtCore import Qt, QVariant, QDate
from ui import RechnungDlg, CalendarDlg
from business import DataProvider, ServiceError
from models import Rechnung
class RechnungController:
def __init__(self, dataProvider):
self.__dataProvider = dataProvider
self.__rechnungDlg = None
def editRechnung(self, whg_short, rechnung): #rechnung: type of Rechnung
self.__rechnungDlg = RechnungDlg(self, rechnung)
self.__rechnungDlg.setWohnungIdent(whg_short)
if self.__rechnungDlg.exec_() > 0:
resp = self.__dataProvider.updateRechnung( rechnung.rechnungDictionary() )
if resp.rc() == 0:
return True
return False
def newRechnung(self, whg_short, rechnung):
self.__rechnungDlg = RechnungDlg(self, rechnung)
self.__rechnungDlg.setWohnungIdent( whg_short )
if self.__rechnungDlg.exec_() > 0:
retVal = self.__dataProvider.insertRechnung(rechnung.rechnungDictionary())
rechnung.setValue( 'rg_id', retVal.object_id() )
def onShowCalendarForRechnungsdatum(self):
rechngDatum = self.__rechnungDlg.inRgDatum.text()
olddate = QDate.fromString( rechngDatum, "yyyy-MM-dd" )
retval = self.__showCalendar( olddate )
if type( retval ) == QDate:
self.__rechnungDlg.inRgDatum.setText(retval.toString("yyyy-MM-dd"))
def onShowCalendarForRechnungBezahltAm(self):
bez_am = self.__rechnungDlg.inRgBezahltAm.text()
olddate = QDate.fromString( bez_am, "yyyy-MM-dd" )
print( olddate.toString("yyyy-MM-dd"))
cal = CalendarDlg(self)
cal.calendar.setSelectedDate( olddate )
retVal = cal.exec_()
if retVal > 0:
date = QDate.fromJulianDay(retVal)
print( date.toString("yyyy-MM-dd") )
self.__rechnungDlg.inRgBezahltAm.setText( date.toString("yyyy-MM-dd") )
def __showCalendar(self, startDate ):
cal = CalendarDlg(self)
cal.calendar.setSelectedDate(startDate)
retVal = cal.exec_()
if retVal > 0:
return QDate.fromJulianDay( retVal )
else: return QVariant