Ejemplo n.º 1
0
def run(args, dbparams):

    import MySQLdb
    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c=db.cursor()

    from au_user import getUserId
    user = getUserId(c, args['user'], args['password'])
    if user == -1:
        data = {'pass': '******'}
        c.close()
        return data

    c.execute("SELECT id FROM unitname WHERE name=%s", (args['unit'],))
    res = c.fetchone()
    unid = res[0]
    c.execute("SELECT id FROM unit WHERE unid=%s AND prid=%s", (unid, int(args['prid'])))
    res = c.fetchone()
    uid = res[0]

    c.execute("DELETE FROM menu WHERE uid=%s AND "
              "user=%s AND time=%s",
             (uid, user, int(args['time'])))
    db.commit()

    data = {'pass': '******'}

    c.close()
    return data
Ejemplo n.º 2
0
def run(args, dbparams):
    import MySQLdb
    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c=db.cursor()

    data = {}
    from au_user import getUserId
    user_id = getUserId(c, args['user'], args['password'])
    if user_id == -1:
        data['pass'] = '******'
        c.close()
        return data

    c.execute('SELECT id, pid FROM users WHERE name=%s',
              (args['child'].lower(),))
    res = c.fetchone()
    if res != None and len(res) > 0 and res[1] == user_id:
        c.execute('UPDATE users SET pid=0 WHERE id=%s',
                  (res[0]))
        db.commit()
        data['pass'] = '******'
    else:
        data['pass'] = '******'

    c.close()
    return data
def run(args, dbparams):

    from au_user import getUserId, haveProductRight
    import MySQLdb
    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c=db.cursor()

    user = getUserId(c, args['user'], args['password'])
    if user == -1:
        data['pass'] == 'false'
        c.close()
        return data


    if args['unit'] != 'gramai' and haveProductRight(c, user, int(args['id'])):
        c.execute("SELECT id FROM unitname WHERE name=%s", (args['unit'],))
        unid = c.fetchone()[0]

        c.execute("SELECT id FROM unit WHERE prid=%s AND unid=%s", (int(args['id']), unid))
        uid = c.fetchone()[0]

        c.execute("SELECT count(*) FROM complex WHERE uid=%s", (uid,))
        count = c.fetchone()[0]
        if count == 0:
            c.execute("DELETE FROM unit WHERE id=%s", (uid,))
            data = {'pass': '******'}
            db.commit()
        else:
            data = {'pass': '******'}
    else:
        data = {'pass': '******'}

    c.close()
    return data
Ejemplo n.º 4
0
def run(args, dbparams):
    import MySQLdb

    db = MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c = db.cursor()

    data = {}
    from au_user import getUserId

    user_id = getUserId(c, args["user"], args["password"])
    if user_id == -1:
        data["pass"] = "******"
        c.close()
        return data

    c.execute("SELECT id, pid FROM users WHERE name=%s", (args["child"].lower(),))
    res = c.fetchone()
    if res != None and len(res) > 0 and res[1] == user_id:
        admin = 0
        if args["admin"] == "true":
            admin = 1
        business = 0
        if args["business"] == "true":
            business = 1

        c.execute("UPDATE users SET admin=%s, business=%s WHERE id=%s", (admin, business, res[0]))
        db.commit()
        data["pass"] = "******"
    else:
        data["pass"] = "******"

    c.close()
    return data
def run(args, dbparams):
    parent = int(args['parent'])

    import MySQLdb
    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c=db.cursor()

    from au_user import getUserId, haveRight

    data = {}
    id = getUserId(c, args['user'], args['password'])
    if id == -1:
        data['id'] == '0'
        c.close()
        return data

    data['id'] = '0'
    if haveRight(c, id, parent):
        c.execute("INSERT INTO product(pid, aid, oid, mod_servant, mod_others) VALUES(%s, %s, %s, 1, 1)",
                  (parent, id, id))
        data['id'] = str(db.insert_id())
        c.execute("INSERT INTO unit(prid, unid, weight) VALUES(%s, 1, 1)",
                  (db.insert_id(),))
    db.commit()

    c.close()
    return data
Ejemplo n.º 6
0
def run(args, dbparams):
    import MySQLdb
    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    c=db.cursor()

    data = {}
    from au_user import getUserId
    user_id = getUserId(c, args['user'], args['password'])
    if user_id == -1:
        data['pass'] = '******'
        c.close()
        return data

    c.execute('SELECT name, admin, business FROM users WHERE pid=%s',
              (user_id,))
    res = c.fetchall()

    from au_user import booltostr
    data['users'] = []
    for item in res:
        user = {'name': item[0],
                'admin': booltostr(item[1]),
                'business': booltostr(item[2])}

        data['users'].append(user)
    data['pass'] = '******'
    c.close()
    return data
def run(args, dbparams):
    parent = int(args['parent'])
    import MySQLdb
    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    c=db.cursor()

    from au_user import getUserId, haveRight, haveProductRight

    user = -1
    if args['user'] != '':
        user = getUserId(c, args['user'], args['password'])
        if user == -1:
            data = {'pass': '******'}
            c.close()
            return data

    c.execute("SELECT id, name FROM category WHERE pid=%s AND "
               "id != 1 ORDER BY name", (parent,))
    res = c.fetchall()

    data = {}
    data['list'] = []
    for item in res:
        name = str(item[1])
        if len(name) == 0:
            name = str(item[0])
        element = {'id': str(item[0]), 'name': name, 'container': 'true'}
        if user != -1 and haveRight(c, user, element['id']):
            element['modify'] = 'true'
        else:
            element['modify'] = 'false'
        data['list'].append(element)

    c.execute("SELECT id, name, rieb, angl, balt FROM product WHERE PID=%s ORDER BY name", (parent,))
    res = c.fetchall()
    for item in res:
        name = str(item[1])
        if len(name) == 0:
            name = str(item[0])
        element = {'id': str(item[0]),
            'name': name,
            'rieb': str(item[2]),
            'angl': str(item[3]),
            'balt': str(item[4])}
        if user != -1 and haveProductRight(c, user, element['id']):
            element['modify'] = 'true'
        else:
            element['modify'] = 'false'
        data['list'].append(element)

    data['pass'] = '******'
    c.close()
    return data
def run(args, dbparams):
    try:
        amount = float(args["amount"])
    except ValueError:
        amount = 0.0
    from au_user import getUserId, haveProductRight
    import MySQLdb

    db = MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c = db.cursor()

    user = getUserId(c, args["user"], args["password"])
    if user == -1:
        data = {"pass": "******"}
        c.close()
        return data

    if haveProductRight(c, user, int(args["id"])):
        c.execute("SELECT id FROM unitname WHERE name=%s", (args["unit"],))
        res = c.fetchone()
        unid = res[0]
        c.execute("SELECT id FROM unit WHERE unid=%s AND prid=%s", (unid, int(args["prid"])))
        res = c.fetchone()
        uid = res[0]

        c.execute("SELECT id FROM unitname WHERE name=%s", (args["oldunit"],))
        res = c.fetchone()
        unid = res[0]
        c.execute("SELECT id FROM unit WHERE unid=%s AND prid=%s", (unid, int(args["prid"])))
        res = c.fetchone()
        old_uid = res[0]

        c.execute(
            "UPDATE complex SET uid=%s, amount=%s WHERE prid=%s AND uid=%s", (uid, amount, int(args["id"]), old_uid)
        )

        data = {"pass": "******"}
        from au_calcBAR import calcBAR, updateComplex

        elem = calcBAR(c, int(args["id"]))
        updateComplex(c, int(args["id"]))
        db.commit()
        data["balt"] = elem[0]
        data["angl"] = elem[1]
        data["rieb"] = elem[2]
        data["total"] = elem[3]
    else:
        data = {"pass": "******"}

    c.close()
    return data
def run(args, dbparams):

    import MySQLdb
    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c=db.cursor()

    from au_user import getUserId, haveRight, haveProductRight, getCategoryParent, getProductParent

    parent = 0
    if args['container'] == 'true':
        container = True
        parent = getCategoryParent(c, int(args['id']))
    else:
        container = False
        parent = getProductParent(c, int(args['id']))

    if parent == 0:
        data = {'pass': '******'}
        c.close()
        return data

    id = getUserId(c, args['user'], args['password'])
    if id == -1:
        data = {'pass': '******'}
        c.close()
        return data

    if args['container'] == 'true':
        candelete = haveRight(c, id, int(args['id']))
    else:
        candelete = haveProductRight(c, id, int(args['id']))

    if haveRight(c, id, parent) and candelete:
        delete_list = []
        if delete(c, int(args['id']), container, delete_list):
            for item in delete_list:
                if item['cat']:
                    c.execute("DELETE FROM category WHERE id=%s", (item['id'],))
                else:
                    c.execute("DELETE FROM product WHERE id=%s", (item['id'],))
                    c.execute('DELETE FROM unit WHERE prid=%s', (item['id'],))
            data = {'pass': '******'}
            db.commit()
        else:
            data = {'pass': '******'}

    c.close()
    return data
Ejemplo n.º 10
0
def run(args, dbparams):
    try:
        weight = float(args['weight'])
    except ValueError:
        weight = 0.0
    from au_user import getUserId, haveProductRight
    import MySQLdb
    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c=db.cursor()

    data = {}
    user = getUserId(c, args['user'], args['password'])
    if user == -1 or len(args['unit']) == 0:
        data['pass'] == 'false'
        c.close()
        return data

    if args['unit'] != 'gramai' and haveProductRight(c, user, int(args['id'])):
        c.execute("SELECT id FROM unitname WHERE name=%s", (args['unit'],))
        res = c.fetchall()
        unid = 0
        if (len(res) == 0):
            c.execute("INSERT INTO unitname(name) VALUES (%s)", (args['unit'],))
            unid = db.insert_id()
        else:
            unid = res[0][0]

        c.execute("SELECT id FROM unit WHERE prid=%s AND unid=%s",
                  (int(args['id']), unid))
        uid = c.fetchone()

        data = {'pass': '******'}

        if uid != None and len(uid) > 0:
            c.execute("UPDATE unit SET weight=%s WHERE id=%s",
                      (weight, uid[0]))
            data['type'] = 'updated'
        else:
            c.execute("INSERT INTO unit(prid, unid, weight) VALUES (%s, %s, %s)",
                      (int(args['id']), unid, weight))
            data['type'] = 'added'
        db.commit()
    else:
        data = {'pass': '******'}

    c.close()
    return data
def run(args, dbparams):
    from au_user import getUserId, haveProductRight
    import MySQLdb
    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c=db.cursor()

    user = getUserId(c, args['user'], args['password'])
    data = {}
    if user == -1:
        data['pass'] = '******'
        c.close()
        return data

    if haveProductRight(c, user, int(args['id'])) and noCircularDep(c, int(args['id']), int(args['prid'])):
        c.execute("SELECT count(*) FROM unit u, complex c "
                  "WHERE c.prid = %s AND c.uid = u.id AND u.prid = %s",
                  (int(args['id']), int(args['prid'])))
        count = c.fetchone()[0];

        if count == 0:
            data['pass'] = '******'
            data['list'] = []

            c.execute("SELECT un.name, u.id FROM unit u, unitname un WHERE u.prid = %s AND u.unid = un.id",
                    (int(args['prid']),))
            units = c.fetchall()
            for u in units:
                data['list'].append({'name': u[0]})

            c.execute("INSERT INTO complex(prid, uid, amount) VALUES (%s, %s, %s)",
                      (int(args['id']), units[0][1], '0.0'))
            from au_calcBAR import calcBAR, updateComplex
            elem = calcBAR(c, int(args['id']))
            updateComplex(c, int(args['id']))
            db.commit()
            data['balt'] = elem[0]
            data['angl'] = elem[1]
            data['rieb'] = elem[2]
            data['total'] = elem[3]
        else:
            data['pass'] = '******'
    else:
        data['pass'] = '******'

    c.close()
    return data
Ejemplo n.º 12
0
def run(args, dbparams):

    try:
        amount = float(args['amount'])
    except ValueError:
        amount = 0.0
    import MySQLdb
    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c=db.cursor()

    from au_user import getUserId
    user = getUserId(c, args['user'], args['password'])
    if user == -1:
        data = {'pass': '******'}
        c.close()
        return data

    c.execute("SELECT id FROM unitname WHERE name=%s", (args['unit'],))
    res = c.fetchone()
    unid = res[0]
    c.execute("SELECT id FROM unit WHERE unid=%s AND prid=%s", (unid, int(args['prid'])))
    res = c.fetchone()
    uid = res[0]

    c.execute("SELECT id FROM unitname WHERE name=%s", (args['oldunit'],))
    res = c.fetchone()
    unid = res[0]
    c.execute("SELECT id FROM unit WHERE unid=%s AND prid=%s", (unid, int(args['prid'])))
    res = c.fetchone()
    old_uid = res[0]

    c.execute("UPDATE menu SET uid=%s, amount=%s "
              "WHERE uid=%s AND user=%s AND time=%s",
              (uid, amount, old_uid,
               user, int(args['time'])))
    db.commit()

    data = {'pass': '******'}

    c.close()
    return data
Ejemplo n.º 13
0
def run(args, dbparams):
    import MySQLdb
    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c=db.cursor()

    data = {}
    from au_user import getUserId
    user = getUserId(c, args['user'], args['password'])
    if user == -1:
        data['pass'] = '******'
        c.close()
        return data

    c.execute("SELECT count(*) FROM unit u, menu m "
              "WHERE m.uid = u.id AND u.prid = %s AND "
              "m.user=%s AND m.time=%s",
              (int(args['prid']), user, int(args['time'])))
    count = c.fetchone()[0];

    if count == 0:
        data['pass'] = '******'
        data['list'] = []

        c.execute("SELECT un.name, u.id FROM unit u, unitname un WHERE u.prid = %s AND u.unid = un.id",
                (int(args['prid']),))
        units = c.fetchall()
        for u in units:
            data['list'].append({'name': u[0]})

        c.execute("INSERT INTO menu(user, time, uid, amount) VALUES (%s, %s, %s, %s)",
                (user, int(args['time']), units[0][1], 0.0))
        db.commit()
    else:
        data['pass'] = '******'

    c.close()
    return data
def run(args, dbparams):
    from au_user import getUserId, haveProductRight
    import MySQLdb
    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c=db.cursor()

    user = getUserId(c, args['user'], args['password'])
    if user == -1:
        data = {'pass': '******'}
        c.close()
        return data

    if haveProductRight(c, user, int(args['id'])):
        c.execute("SELECT id FROM unitname WHERE name=%s", (args['unit'],))
        res = c.fetchone()
        unid = res[0]
        c.execute("SELECT id FROM unit WHERE unid=%s AND prid=%s", (unid, int(args['prid'])))
        res = c.fetchone()
        uid = res[0]

        c.execute("DELETE FROM complex WHERE prid=%s AND uid=%s", (int(args['id']), uid))
        data = {'pass': '******'}

        from au_calcBAR import calcBAR, updateComplex
        elem = calcBAR(c, int(args['id']))
        updateComplex(c, int(args['id']))
        db.commit()
        data['balt'] = elem[0]
        data['angl'] = elem[1]
        data['rieb'] = elem[2]
        data['total'] = elem[3]
    else:
        data = {'pass': '******'}

    c.close()
    return data
Ejemplo n.º 15
0
def run(args, dbparams):

    import MySQLdb
    from au_user import getUserId, haveRight, isCategoryOwner
    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c=db.cursor()

    user = getUserId(c, args['user'], args['password'])
    if user == -1:
        data = {'pass': '******'}
        c.close()
        return data

    if haveRight(c, user, int(args['id'])):
        c.execute("UPDATE category SET name=%s WHERE id=%s",
                  (args['name'], int(args['id'])))
    else:
        data = {'pass': '******'}
        c.close()
        return data

    if isCategoryOwner(c, user, int(args['id'])):
        mod_servant = 0
        if args['mod_servant'] == 'true':
            mod_servant = 1
        mod_others = 0
        if args['mod_others'] == 'true':
            mod_others = 1
        c.execute("UPDATE category SET mod_servant=%s, mod_others=%s WHERE id=%s",
                  (mod_servant, mod_others, int(args['id'])))
    db.commit()

    data = {'pass': '******'}

    c.close()
    return data
Ejemplo n.º 16
0
def run(args, dbparams):
    import MySQLdb

    db = MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    c = db.cursor()

    data = {}
    from au_user import getUserId

    user = getUserId(c, args["user"], args["password"])
    if user == -1:
        data["pass"] = "******"
        c.close()
        return data

    c.execute(
        "SELECT p.id, p.name, un.name, m.amount "
        "FROM product p, menu m, unit u, unitname un "
        "WHERE m.uid = u.id AND u.unid = un.id AND u.prid = p.id AND "
        "m.user=%s AND m.time=%s",
        (user, int(args["time"])),
    )
    res = c.fetchall()

    data["list"] = []
    for item in res:
        unit = {"id": str(item[0]), "product": item[1], "unit": item[2], "amount": str(item[3]), "units": []}

        c.execute("SELECT un.name FROM unit u, unitname un WHERE u.prid = %s AND u.unid = un.id", (item[0],))
        units = c.fetchall()
        for u in units:
            unit["units"].append({"name": u[0]})

        data["list"].append(unit)
    data["pass"] = "******"
    c.close()
    return data
def run(args, dbparams):

    import MySQLdb
    from au_user import getUserId, isUserParent

    db = MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c = db.cursor()

    user = getUserId(c, args["user"], args["password"])
    if user == -1:
        data = {"pass": "******"}
        c.close()
        return data

    if args["category"] == "true":
        c.execute("SELECT oid FROM category WHERE id=%s", (int(args["id"]),))
        oid = c.fetchone()[0]
        if isUserParent(c, oid, user):
            c.execute("UPDATE category SET oid=%s WHERE id=%s", (user, int(args["id"])))
            data = {"pass": "******"}
        else:
            data = {"pass": "******"}
    else:
        c.execute("SELECT oid FROM product WHERE id=%s", (int(args["id"]),))
        oid = c.fetchone()[0]
        if isUserParent(c, oid, user):
            c.execute("UPDATE product SET oid=%s WHERE id=%s", (user, int(args["id"])))
            data = {"pass": "******"}
        else:
            data = {"pass": "******"}

    db.commit()

    c.close()
    return data
Ejemplo n.º 18
0
def run(args, dbparams):
    try:
        balt = float(args['balt'])
    except ValueError:
        balt = 0.0
    try:
        rieb = float(args['rieb'])
    except ValueError:
        rieb = 0.0
    try:
        angl = float(args['angl'])
    except ValueError:
        angl = 0.0

    import MySQLdb
    from au_user import getUserId, haveProductRight, isProductOwner
    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    db.autocommit(False)
    c=db.cursor()

    user = getUserId(c, args['user'], args['password'])
    if user == -1:
        data = {'pass': '******'}
        c.close()
        return data

    if haveProductRight(c, user, int(args['id'])):
        complex = 0
        if args['complex'] == 'true':
            complex = 1

        secret = 0
        if args['secret'] == 'true':
            secret = 1

        c.execute("UPDATE product SET name=%s, balt=%s, rieb=%s, angl=%s, complex=%s, descr=%s, "
                  "secret=%s, linkdescr=%s, link=%s "
                  "WHERE id=%s",
                  (args['name'], balt, rieb, angl,
                   complex, args['descr'],
                   secret, args['linkdescr'], args['link'],
                   int(args['id'])))
        from au_calcBAR import updateComplex
        updateComplex(c, int(args['id']))
    else:
        data = {'pass': '******'}
        c.close()
        return data

    if isProductOwner(c, user, int(args['id'])):
        mod_servant = 0
        if args['mod_servant'] == 'true':
            mod_servant = 1
        mod_others = 0
        if args['mod_others'] == 'true':
            mod_others = 1
        c.execute("UPDATE product SET mod_servant=%s, mod_others=%s WHERE id=%s",
                  (mod_servant, mod_others, int(args['id'])))

    db.commit()
    data = {'pass': '******'}

    c.close()
    return data
def run(args, dbparams):
    id = int(args['id'])

    import MySQLdb
    from au_user import getUserId, haveRight, haveProductRight, isUserParent, booltostr, \
            getCategoryParent, getProductParent, isCategoryOwner, isProductOwner

    db=MySQLdb.connect(host=dbparams["host"], db=dbparams["db"], user=dbparams["user"], passwd=dbparams["passwd"])
    c=db.cursor()

    user = getUserId(c, args['name'], args['password'])

    if args['container'] == 'true':
        c.execute("SELECT name, oid, mod_servant, mod_others FROM category WHERE id=%s", (id,))
        res = c.fetchone()
        data = {'name': res[0],
                'mod_servant': booltostr(res[2]),
                'mod_others': booltostr(res[3])}

        data['owner'] = 'false'
        data['parmod'] = 'false'
        data['modify'] = 'false'
        data['cantake'] = 'false'

        if user != -1:
            if isCategoryOwner(c, user, id):
                data['owner'] = 'true'
            if haveRight(c, user, id):
                data['modify'] = 'true'
            parent = getCategoryParent(c, id)
            if parent != 0 and haveRight(c, user, parent) and data['modify'] == 'true':
                data['parmod'] = 'true'
            if isUserParent(c, res[1], user):
                data['cantake'] = 'true'
        else:
            data['modify'] = 'false'
            data['parmod'] = 'false'
    else:
        c.execute("SELECT name, complex, secret, balt, rieb, angl, descr, linkdescr, "
                  "link, mod_servant, mod_others, oid "
                  "FROM product WHERE id=%s", (id,))
        res = c.fetchone()
        oid = res[11]

        data = {'name': res[0],
                'complex': booltostr(res[1]),
                'secret': booltostr(res[2]),
                'balt': str(res[3]),
                'rieb': str(res[4]),
                'angl': str(res[5]),
                'descr': res[6],
                'linkdescr': res[7],
                'link': res[8],
                'mod_servant': booltostr(res[9]),
                'mod_others': booltostr(res[10]),
                'unit_list': []}

        c.execute("SELECT un.name, u.weight FROM unit u, unitname un WHERE u.prid = %s AND u.unid = un.id",
                  (id,))
        res = c.fetchall()
        for item in res:
            unit = {'unit': item[0], 'weight': str(item[1])}
            data['unit_list'].append(unit)

        data['modify'] = 'false'
        data['owner'] = 'false'
        data['parmod'] = 'false'
        data['cantake'] = 'false'

        if user != -1:
            if haveProductRight(c, user, id):
                data['modify'] = 'true'

            if isProductOwner(c, user, id):
                data['owner'] = 'true'

            parent = getProductParent(c, id)
            if parent != 0 and haveRight(c, user, parent) and data['modify'] == 'true':
                data['parmod'] = 'true'

            if isUserParent(c, oid, user):
                data['cantake'] = 'true'
        else:
            data['modify'] = 'false'
            data['parmod'] = 'false'


    c.close()
    return data