Exemple #1
0
    def get(self, soogikorra_id):

        db = PGDatabase()
        db.execute(
            """
                    SELECT sk.soogikorra_id, sk.nimetus as liik, to_char(sk.kuupaev, 'DD.MM.YYYY') as kuupäev, sk.kirjeldus, sk.vaikimisi, sk.seisund
                    FROM soogikordade_koondtabel sk
                    WHERE soogikorra_id = %s;""", (soogikorra_id, ))

        lunch = db.getRecords()
        lunchDict = lunch[0]

        registrations = []

        db.execute("""SELECT soojate_grupp_kood, nimetus FROM soojate_grupp""",
                   "")
        groups = db.getRecords()

        for group in groups:
            groupDict = {}
            groupDict['sööjate_grupi_nimetus'] = group['nimetus']

            db.execute(
                """
                        WITH Registreerimised AS (
                          SELECT kr.klass_id, kr.opilasi_registreeritud
                          FROM Klasside_registreeringud kr
                          WHERE kr.soogikorra_id = %s
                        )

                        SELECT k.nimetus, k.opilasi_klassis, COALESCE(r.opilasi_registreeritud, 0) AS opilasi_registreeritud
                        FROM Klasside_opilaste_arv k LEFT JOIN Registreerimised r
                        ON k.klass_id = r.klass_id
                        WHERE k.soojate_grupp_kood = %s;
                        """,
                (lunchDict['soogikorra_id'], group['soojate_grupp_kood']))

            classes = db.getRecords()

            classList = []
            for c in classes:
                classDict = {}
                classDict['nimetus'] = c['nimetus']
                classDict['õpilasi_klassis'] = c['opilasi_klassis']
                classDict['söögikorrale_registreeritud'] = c[
                    'opilasi_registreeritud']
                classList.append(classDict)

            groupDict['klassid'] = classList
            registrations.append(groupDict)

        db.close()

        lunchDict['registreerimised'] = registrations
        return lunchDict
Exemple #2
0
def verify_password(username, password):
    db = PGDatabase()
    db.execute(
        """SELECT f_on_majandusalajuhataja(%s, %s) as on_majandusalajuhataja;""",
        (username, password))
    result = db.getRecords()
    return result[0]['on_majandusalajuhataja']
Exemple #3
0
    def get(self, isikukood):

        try:
            alguseKuupaev = request.args.get('alguse-kuupaev')
        except:
            alguseKuupaev = datetime.date.today().replace(
                day=1).strftime('%Y-%m-%d')

        try:
            lopuKuupaev = request.args.get('lopu-kuupaev')
        except:
            lopuKuupaev = datetime.date.today().replace(
                day=calendar.monthrange(
                    datetime.datetime.today().year,
                    datetime.datetime.today().month)[1]).strftime('%Y-%m-%d')

        opilane = Opilane.get(self, isikukood)

        opilaseRegistreerimised = opilane[0]

        db = PGDatabase()

        db.execute(
            """SELECT rk.soogikorra_id, rk.nimetus as liik, to_char(rk.kuupaev, 'YYYY-MM-DD') as kuupäev
                      FROM Registreeringute_koondtabel rk WHERE rk.isikukood = %s
                      AND kuupaev BETWEEN %s AND %s
                      ORDER BY rk.kuupaev, rk.soogikorra_id LIMIT 100 """,
            (isikukood, alguseKuupaev, lopuKuupaev))
        soogikorrad = db.getRecords()

        db.close()

        opilaseRegistreerimised['registreerimised'] = soogikorrad

        return opilaseRegistreerimised
Exemple #4
0
    def get(self):

        try:
            alguseKuupaev = request.args.get('alguse-kuupaev')
        except:
            alguseKuupaev = datetime.date.today().replace(
                day=1).strftime('%Y-%m-%d')

        try:
            lopuKuupaev = request.args.get('lopu-kuupaev')
        except:
            lopuKuupaev = datetime.date.today().replace(
                day=calendar.monthrange(
                    datetime.datetime.today().year,
                    datetime.datetime.today().month)[1]).strftime('%Y-%m-%d')

        opilased = Opilased.get(self)

        opilasteRegistreerimised = []
        db = PGDatabase()

        for opilane in opilased:
            db.execute(
                """SELECT rk.nimetus as liik, COUNT(*) as registreerimisi
                          FROM Registreeringute_koondtabel rk WHERE rk.isikukood = %s
                          AND kuupaev BETWEEN %s AND %s
                          GROUP BY rk.nimetus
                          ORDER BY rk.nimetus LIMIT 100 """,
                (opilane['isikukood'], alguseKuupaev, lopuKuupaev))
            soogikorrad = db.getRecords()
            opilane['registreerimised'] = soogikorrad
            opilasteRegistreerimised.append(opilane)

        db.close()
        return opilasteRegistreerimised
Exemple #5
0
 def get(self, isikukood):
     db = PGDatabase()
     db.execute(
         """SELECT ok.isikukood, ok.eesnimi, ok.perekonnanimi, ok.klass FROM Opilaste_koondtabel ok
                 WHERE ok.isikukood=%s;""", (isikukood, ))
     opilane = db.getRecords()
     db.close
     return opilane
Exemple #6
0
 def get(self):
     db = PGDatabase()
     db.execute(
         """SELECT ok.isikukood, ok.eesnimi, ok.perekonnanimi, ok.klass FROM Opilaste_koondtabel ok
                     ORDER BY ok.klass;""", "")
     opilased = db.getRecords()
     db.close
     return opilased
Exemple #7
0
 def get(self):
     db = PGDatabase()
     db.execute(
         """SELECT soogikorra_liik_kood as kood, nimetus, COALESCE(kirjeldus, 'puudub') as kirjeldus from Soogikorra_liik;""",
         "")
     liigid = db.getRecords()
     db.close
     return liigid
Exemple #8
0
 def post(self):
     content = request.json
     kasutajatunnus = content['kasutajatunnus']
     parool = content['parool']
     db = PGDatabase()
     db.execute("""SELECT f_on_majandusalajuhataja(%s, %s) as success;""",
                (kasutajatunnus, parool))
     result = db.getRecords()
     if result[0]['success']:
         return Response('Juurdepääs lubatud', 202)
     return Response('Vale parool ja/või kasutajatunnus', 401)
Exemple #9
0
    def get(self, soogikorra_id):

        db = PGDatabase()
        db.execute(
            """
                    SELECT sk.soogikorra_id, t.epost as lisas, sk.nimetus as liik, to_char(sk.kuupaev, 'DD.MM.YYYY') as kuupäev, sk.kirjeldus, sk.vaikimisi, sk.seisund
                    FROM soogikordade_koondtabel sk INNER JOIN tootaja t ON sk.isikukood = t.isikukood
                    WHERE soogikorra_id = %s;""", (soogikorra_id, ))

        soogikord = db.getRecords()
        db.close()
        return soogikord[0]
Exemple #10
0
    def post(self):
        # Andmete lugemine POST sõnumist
        content = request.json
        uid = content['uid']
        soogikorrad = content['soogikorrad']

        # Andmebaasi ühenduse avamine
        db = PGDatabase()
        db.execute(
            """SELECT isikukood FROM Opilaste_koondtabel WHERE UID=%s AND opilase_seisundi_liik_kood=1;""",
            (uid, ))
        records = db.getRecords()
        try:
            isikukood = records[0]['isikukood']
        except:
            db.close()
            return Response('Tundmatu kaart!', 403)

        for soogikord in soogikorrad:
            try:
                db.execute(
                    """INSERT INTO Registreering (soogikorra_ID, isikukood, registreerimise_kuupaev) VALUES (%s, %s, %s);""",
                    (soogikord['soogikorra_id'], isikukood,
                     datetime.date.today()))
            except Exception as e:

                if e.pgcode == '23505':
                    soogikorraAndmed = Soogikord.get(
                        self, soogikord['soogikorra_id'])
                    soogikord = soogikorraAndmed['liik']
                    return Response(soogikord + ' on juba registreeritud', 400)
                else:
                    return Response('Tundmatu viga', 400)

        # Andmete kinnitamine
        db.commit()
        # Ühenduse sulgemine
        db.close()

        return Response('Söögikorra registreerimine õnnestus!', 201)
Exemple #11
0
    def get(self):

        seisund = request.args.get("seisund")

        db = PGDatabase()

        if seisund is not None:
            db.execute(
                """
                        SELECT sk.soogikorra_id, sk.nimetus as liik, to_char(sk.kuupaev, 'YYYY-MM-DD') as kuupäev, sk.kirjeldus, sk.vaikimisi, sk.seisund
                        FROM soogikordade_koondtabel sk
                        WHERE seisund = %s
                        ORDER BY kuupäev LIMIT 30;""", (seisund, ))
        else:
            db.execute(
                """
                        SELECT sk.soogikorra_id, sk.nimetus as liik, to_char(sk.kuupaev, 'YYYY-MM-DD') as kuupäev, sk.kirjeldus, sk.vaikimisi, sk.seisund
                        FROM soogikordade_koondtabel sk
                        ORDER BY kuupäev LIMIT 100;""", ("", ))

        soogikorrad = db.getRecords()
        db.close()

        return soogikorrad