iro/controller/viewinterface.py
author Sandro Knauß <knauss@netzguerilla.net>
Sat, 28 Jan 2012 12:24:40 +0100
branchdevel
changeset 121 ca63b6776231
parent 120 7bde35ad89e0
child 125 19b3f383c9ce
permissions -rw-r--r--
putting routes logic to schema
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     1
# -*- coding: utf-8 -*-
117
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents: 115
diff changeset
     2
from ..model.decorators import vUser, vRoute, dbdefer, vTyp
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
     3
from ..validate import validate, vBool, vHash, vTel, vEmail
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
     4
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     5
class Interface(object):
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     6
    '''class for a xmlrpc user
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     7
    '''
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     8
    
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
     9
    @validate(kwd="detailed", func=vBool, need=False)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    10
    @validate(kwd="id", func=vHash, need=False, maxlength=40)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    11
    @vUser
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    12
    def status(self, user, id=None, detailed=False):
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    13
        '''Gibt den aktuellen Status eines Auftrages oder Mehreren zurück.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    14
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    15
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    16
        apikey[string]: Der API Key
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    17
        id[hash]: Eine Auftragsnummer
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    18
        detailed[boolean]: Details ausgeben
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    19
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    20
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    21
        jobs[list]: Eine Liste der Aufträge.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    22
        job.name[string]: Angebener Name
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    23
        job.status[string]: Status des Auftrages
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    24
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    25
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    26
        '''
114
1ed072cc6793 reconstructing validate decorator
Sandro Knauß <knauss@netzguerilla.net>
parents: 109
diff changeset
    27
        if id or detailed:
1ed072cc6793 reconstructing validate decorator
Sandro Knauß <knauss@netzguerilla.net>
parents: 109
diff changeset
    28
            return str(user),id,detailed
1ed072cc6793 reconstructing validate decorator
Sandro Knauß <knauss@netzguerilla.net>
parents: 109
diff changeset
    29
        else:
1ed072cc6793 reconstructing validate decorator
Sandro Knauß <knauss@netzguerilla.net>
parents: 109
diff changeset
    30
            return str(user)
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    31
        #return user.status(id,detailed)
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    32
        return ""
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    33
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    34
    @vUser
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    35
    @validate(kwd="id", func=vHash,maxlength=40)
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    36
    def stop(self, user, id):
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    37
        '''Stoppt den angegeben Auftrag.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    38
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    39
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    40
        apikey[string]: Der API Key
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    41
        id[hash]: Eine Auftragsnummer
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    42
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    43
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    44
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    45
        '''
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    46
        return ""
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    47
    
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    48
    @validate(kwd="recipients",func=vTel)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    49
    @vUser
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    50
    @vRoute(typ="sms")
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    51
    def sms(self, user, message, recipients, route="default", info=""):
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    52
        '''Versendet eine SMS.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    53
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    54
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    55
        apikey[string]: Der API Key
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    56
        message[string]: Nachricht
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    57
        recipients[list]: eine Liste von Emfänger-Nummern (gemäß ITU-T E.123)
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    58
        route[string|list]: Route über den geschickt werden soll, 
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    59
                            oder eine Liste von Routen, um Fallbacks anzugeben
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    60
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    61
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    62
        id[hash]: Die ID des Auftrages
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    63
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    64
        '''
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    65
        return ""
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    66
   
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    67
    @validate(kwd="recipients",func=vTel)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    68
    @vUser
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    69
    @vRoute(typ="fax")
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    70
    def fax(self, user, subject, fax, recipients, route="default", info=""):
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    71
        '''Versendet ein FAX.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    72
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    73
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    74
        apikey[string]: Der API Key
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    75
        subject[string]: Der Betreff
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    76
        fax[string]: Das PDF base64 kodiert
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    77
        recipients[list]: Eine Liste von Emfänger-Nummern (gemäß ITU-T E.123)
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    78
        route[string|list]: Route über den geschickt werden soll, 
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    79
                            oder eine Liste von Routen, um Fallbacks anzugeben
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    80
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    81
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    82
        id[hash]: Die ID des Auftrages
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    83
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    84
        '''
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    85
        return ""
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    86
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    87
    @validate(kwd="recipients",func=vEmail)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    88
    @vUser
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    89
    @vRoute(typ="mail")
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
    90
    def mail(self, user, subject,  body, recipients, frm, route="default", info=""):
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    91
        '''Versendet eine Email.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    93
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    94
        apikey[string]: Der API Key
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    95
        subject[string]: Der Betreff
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    96
        body[string]: Der Email Body
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    97
        recipients[list]: Eine Liste von Emailadressen
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    98
        frm[string]: Die Absender Emailadresse
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    99
        route[string|list]: Route über den geschickt werden soll, 
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   100
                            oder eine Liste von Routen, um Fallbacks anzugeben
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   101
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   102
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   103
        id[hash]: Die ID des Auftrages
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   104
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   105
        '''
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   106
        return ""
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   107
       
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
   108
    @validate(kwd="typ", func=vTyp)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
   109
    @vUser
117
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents: 115
diff changeset
   110
    @dbdefer
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents: 115
diff changeset
   111
    def routes(self, user, typ, session):
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   112
        '''Gibt eine Liste aller verfügbaren Provider zurück.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   113
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   114
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   115
        apikey[string]: Der API Key
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   116
        typ[string]: Der Typ zu dem die Providerloste ausgeben werden soll
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   117
                     Einer der Liste ["sms","fax","mail"]
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   118
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   119
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   120
        providerlist[list]: Eine Liste aller möglichen Provider
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   121
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   122
        '''
121
ca63b6776231 putting routes logic to schema
Sandro Knauß <knauss@netzguerilla.net>
parents: 120
diff changeset
   123
        user = session.merge(user)
ca63b6776231 putting routes logic to schema
Sandro Knauß <knauss@netzguerilla.net>
parents: 120
diff changeset
   124
        offers = user.routes(typ)
119
3462c2c90f95 function routes complemented
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
   125
        return [u[0] for u in offers]
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   126
        
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
   127
    @validate(kwd="typ", func=vTyp)
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
   128
    @vUser
117
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents: 115
diff changeset
   129
    @dbdefer
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents: 115
diff changeset
   130
    def defaultRoute(self, user, typ, session):
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   131
        '''Gibt den Standardprovider zurück.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   132
 
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   133
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   134
        apikey[string]: Der API Key
109
935b5fcaf152 little typos
Sandro Knauß <knauss@netzguerilla.net>
parents: 106
diff changeset
   135
        typ[string]: Der Typ zu dem die Providerliste ausgeben werden soll
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   136
                     Einer der Liste ["sms","fax","mail"]
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   137
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   138
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   139
        provider[string]: Der Standardprovider für den angeben Typ
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   140
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   141
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   142
        '''
121
ca63b6776231 putting routes logic to schema
Sandro Knauß <knauss@netzguerilla.net>
parents: 120
diff changeset
   143
        user = session.merge(user)
ca63b6776231 putting routes logic to schema
Sandro Knauß <knauss@netzguerilla.net>
parents: 120
diff changeset
   144
        offers = user.routes(typ, isDefault=True)
120
7bde35ad89e0 function defaultRoute complemented
Sandro Knauß <knauss@netzguerilla.net>
parents: 119
diff changeset
   145
        return [u[0] for u in offers]
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   146
115
323d06431100 restructering validate
Sandro Knauß <knauss@netzguerilla.net>
parents: 114
diff changeset
   147
    @vUser
92
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   148
    def statistic(self, user):
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   149
        '''Gibt eine Statik zurück über die versendendeten Nachrichten und des Preises.
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   150
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   151
        Keywords:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   152
        apikey[string]: Der API Key
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   153
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   154
        Return:
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   155
        statistic[list]: Eine Liste nach Nachrichtentypen
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   156
        '''
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   157
        return ""
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   158
f479738b4879 umbau zu MVC
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
   159