Exemplo n.º 1
0
Arquivo: users.py Projeto: magul/asm3
def update_user_from_form(dbo, username, post):
    """
    Updates a user record from posted form data
    Uses the roles key (which should be a comma separated list of
    role ids) to create userrole records.
    """
    userid = post.integer("userid")
    sql = db.make_update_sql("users", "ID=%d" % userid, ( 
        ( "RealName", post.db_string("realname")),
        ( "EmailAddress", post.db_string("email")),
        ( "SuperUser", post.db_integer("superuser")),
        ( "OwnerID", post.db_integer("person")),
        ( "SiteID", post.db_integer("site")),
        ( "LocationFilter", post.db_string("locationfilter")),
        ( "IPRestriction", post.db_string("iprestriction"))
        ))
    preaudit = db.query(dbo, "SELECT * FROM users WHERE ID = %d" % userid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM users WHERE ID = %d" % userid)
    audit.edit(dbo, username, "users", userid, audit.map_diff(preaudit, postaudit, [ "USERNAME", ]))
    db.execute(dbo, "DELETE FROM userrole WHERE UserID = %d" % userid)
    roles = post["roles"].strip()
    if roles != "":
        for rid in roles.split(","):
            if rid.strip() != "":
                db.execute(dbo, "INSERT INTO userrole VALUES (%d, %d)" % (userid, int(rid)))
Exemplo n.º 2
0
def update_field_from_form(dbo, username, post):
    """
    Updates an additional field record. All aspects of an additional
    field can be changed after creation since only the ID ties things 
    together.
    """
    aid = post.integer("id")
    sql = db.make_update_sql(
        "additionalfield",
        "ID=%d" % aid,
        (
            ("FieldName", post.db_string("name")),
            ("FieldLabel", post.db_string("label")),
            ("ToolTip", post.db_string("tooltip")),
            ("LookupValues", post.db_string("lookupvalues")),
            ("Mandatory", post.db_boolean("mandatory")),
            ("FieldType", post.db_integer("type")),
            ("LinkType", post.db_integer("link")),
            ("DisplayIndex", post.db_integer("displayindex")),
        ),
    )
    preaudit = db.query(dbo, "SELECT * FROM additionalfield WHERE ID = %d" % aid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM additionalfield WHERE ID = %d" % aid)
    audit.edit(dbo, username, "additionalfield", audit.map_diff(preaudit, postaudit))
Exemplo n.º 3
0
Arquivo: stock.py Projeto: magul/asm3
def update_stocklevel_from_form(dbo, post, username):
    """
    Updates a stocklevel item from a dialog. The post should include
    the ID of the stocklevel to adjust and a usage record will be
    written so usage data should be sent too.
    """
    l = dbo.locale
    slid = post.integer("stocklevelid")
    if post["name"] == "":
        raise utils.ASMValidationError(_("Stock level must have a name", l))
    if post["unitname"] == "":
        raise utils.ASMValidationError(_("Stock level must have a unit", l))
    preaudit = db.query(dbo, "SELECT * FROM stocklevel WHERE ID = %d" % slid)
    if len(preaudit) == 0:
        raise utils.ASMValidationError("stocklevel %d does not exist, cannot adjust" % slid)
    db.execute(dbo, db.make_update_sql("stocklevel", "ID=%d" % slid, (
        ( "Name", post.db_string("name") ),
        ( "Description", post.db_string("description") ),
        ( "StockLocationID", post.db_integer("location") ),
        ( "UnitName", post.db_string("unitname") ),
        ( "Total", post.db_floating("total") ),
        ( "Balance", post.db_floating("balance") ),
        ( "Expiry", post.db_date("expiry") ),
        ( "BatchNumber", post.db_string("batchnumber") ),
        ( "Cost", post.db_integer("cost") ),
        ( "UnitPrice", post.db_integer("unitprice") )
    )))
    postaudit = db.query(dbo, "SELECT * FROM stocklevel WHERE ID = %d" % slid)
    diff = postaudit[0]["BALANCE"] - preaudit[0]["BALANCE"]
    if diff != 0: insert_stockusage(dbo, username, slid, diff, post.date("usagedate"), post.integer("usagetype"), post["comments"])
    audit.edit(dbo, username, "animalcontrol", slid, audit.map_diff(preaudit, postaudit))
Exemplo n.º 4
0
def update_user_from_form(dbo, username, data):
    """
    Updates a user record from posted form data
    Uses the roles key (which should be a comma separated list of
    role ids) to create userrole records.
    """
    userid = utils.df_ki(data, "userid")
    sql = db.make_update_sql(
        "users", "ID=%d" % userid,
        (("RealName", utils.df_t(data, "realname")),
         ("EmailAddress", utils.df_t(data, "email")),
         ("SuperUser", utils.df_s(data, "superuser")),
         ("OwnerID", utils.df_s(data, "person")),
         ("LocationFilter", utils.df_t(data, "locationfilter")),
         ("IPRestriction", utils.df_t(data, "iprestriction"))))
    preaudit = db.query(dbo, "SELECT * FROM users WHERE ID = %d" % userid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM users WHERE ID = %d" % userid)
    audit.edit(dbo, username, "users",
               audit.map_diff(preaudit, postaudit, [
                   "USERNAME",
               ]))
    db.execute(dbo, "DELETE FROM userrole WHERE UserID = %d" % userid)
    if utils.df_ki(data, "issuperuser") == 0:
        roles = utils.df_ks(data, "roles").strip()
        if roles != "":
            for rid in roles.split(","):
                if rid.strip() != "":
                    db.execute(
                        dbo, "INSERT INTO userrole VALUES (%d, %d)" %
                        (userid, int(rid)))
Exemplo n.º 5
0
def update_media_notes(dbo, username, mid, notes):
    sql = db.make_update_sql("media", "ID=%d" % int(mid), (
        ("MediaNotes", db.ds(notes)),
        ("MediaName", "MediaName"),
        ("UpdatedSinceLastPublish", db.di(1)),
    ))
    db.execute(dbo, sql)
    audit.edit(dbo, username, "media", str(mid) + "notes => " + notes)
Exemplo n.º 6
0
def update_media_notes(dbo, username, mid, notes):
    sql = db.make_update_sql("media", "ID=%d" % int(mid), (
        ( "MediaNotes", db.ds(notes)),
        ( "MediaName", "MediaName" ),
        ( "UpdatedSinceLastPublish", db.di(1)),
        ))
    db.execute(dbo, sql)
    audit.edit(dbo, username, "media", str(mid) + "notes => " + notes)
Exemplo n.º 7
0
def update_user_settings(dbo, username, email = "", realname = "", locale = "", theme = ""):
    userid = db.query_int(dbo, "SELECT ID FROM users WHERE Username = '******'" % username)
    sql = db.make_update_sql("users", "ID=%d" % userid, (
        ( "RealName", db.ds(realname) ),
        ( "EmailAddress", db.ds(email) ),
        ( "ThemeOverride", db.ds(theme) ),
        ( "LocaleOverride", db.ds(locale) )
    ))
    preaudit = db.query(dbo, "SELECT * FROM users WHERE ID = %d" % int(userid))[0]
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM users WHERE ID = %d" % int(userid))[0]
    audit.edit(dbo, username, "users", audit.map_diff(preaudit, postaudit, [ "USERNAME", ]))
Exemplo n.º 8
0
def update_diarytaskhead_from_form(dbo, username, data):
    """
    Updates a diary task header from form data
    """
    tid = utils.df_ki(data, "diarytaskid")
    sql = db.make_update_sql("diarytaskhead", "ID=%d" % tid,
                             (("Name", utils.df_t(data, "name")),
                              ("RecordType", utils.df_s(data, "type"))))
    preaudit = db.query(dbo, "SELECT * FROM diarytaskhead WHERE ID=%d" % tid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM diarytaskhead WHERE ID=%d" % tid)
    audit.edit(dbo, username, "diarytaskhead",
               audit.map_diff(preaudit, postaudit))
Exemplo n.º 9
0
Arquivo: diary.py Projeto: magul/asm3
def update_diarytaskhead_from_form(dbo, username, post):
    """
    Updates a diary task header from form data
    """
    tid = post.integer("diarytaskid")
    sql = db.make_update_sql("diarytaskhead", "ID=%d" % tid, (
        ( "Name", post.db_string("name")),
        ( "RecordType", post.db_integer("type"))
        ))
    preaudit = db.query(dbo, "SELECT * FROM diarytaskhead WHERE ID=%d" % tid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM diarytaskhead WHERE ID=%d" % tid)
    audit.edit(dbo, username, "diarytaskhead", tid, audit.map_diff(preaudit, postaudit))
Exemplo n.º 10
0
def update_diarytaskhead_from_form(dbo, username, post):
    """
    Updates a diary task header from form data
    """
    tid = post.integer("diarytaskid")
    sql = db.make_update_sql("diarytaskhead", "ID=%d" % tid,
                             (("Name", post.db_string("name")),
                              ("RecordType", post.db_integer("type"))))
    preaudit = db.query(dbo, "SELECT * FROM diarytaskhead WHERE ID=%d" % tid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM diarytaskhead WHERE ID=%d" % tid)
    audit.edit(dbo, username, "diarytaskhead",
               audit.map_diff(preaudit, postaudit))
Exemplo n.º 11
0
def update_diarytaskhead_from_form(dbo, username, data):
    """
    Updates a diary task header from form data
    """
    tid = utils.df_ki(data, "diarytaskid")
    sql = db.make_update_sql("diarytaskhead", "ID=%d" % tid, (
        ( "Name", utils.df_t(data, "name")),
        ( "RecordType", utils.df_s(data, "type"))
        ))
    preaudit = db.query(dbo, "SELECT * FROM diarytaskhead WHERE ID=%d" % tid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM diarytaskhead WHERE ID=%d" % tid)
    audit.edit(dbo, username, "diarytaskhead", audit.map_diff(preaudit, postaudit))
Exemplo n.º 12
0
Arquivo: users.py Projeto: magul/asm3
def update_role_from_form(dbo, username, post):
    """
    Updates a role record from posted form data
    """
    roleid = post.integer("roleid")
    sql = db.make_update_sql("role", "ID=%d" % roleid, ( 
        ( "Rolename", post.db_string("rolename")),
        ( "SecurityMap", post.db_string("securitymap"))
        ))
    preaudit = db.query(dbo, "SELECT * FROM role WHERE ID = %d" % roleid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM role WHERE ID = %d" % roleid)
    audit.edit(dbo, username, "role", roleid, audit.map_diff(preaudit, postaudit, [ "ROLENAME", ]))
Exemplo n.º 13
0
def update_diarytaskdetail_from_form(dbo, username, data):
    """
    Updates a diary task detail from form data
    """
    did = utils.df_ki(data, "diarytaskdetailid")
    sql = db.make_update_sql("diarytaskdetail", "ID=%d" % did, (
        ( "DayPivot", utils.df_s(data, "pivot")),
        ( "WhoFor", utils.df_t(data, "for")),
        ( "Subject", utils.df_t(data, "subject")),
        ( "Note", utils.df_t(data, "note"))
        ))
    preaudit = db.query(dbo, "SELECT * FROM diarytaskdetail WHERE ID=%d" % did)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM diarytaskdetail WHERE ID=%d" % did)
    audit.edit(dbo, username, "diarytaskhead", audit.map_diff(preaudit, postaudit))
Exemplo n.º 14
0
def update_onlineform_from_form(dbo, username, data):
    """
    Update an onlineform record from posted data
    """
    formid = utils.df_ki(data, "formid")
    sql = db.make_update_sql("onlineform", "ID=%d" % formid, ( 
        ( "Name", db.ds(utils.df_ks(data, "name"))),
        ( "RedirectUrlAfterPOST", db.ds(utils.df_ks(data, "redirect"))),
        ( "SetOwnerFlags", db.ds(utils.df_ks(data, "flags"))),
        ( "Description", db.ds(utils.df_ks(data, "description")))
        ))
    preaudit = db.query(dbo, "SELECT * FROM onlineform WHERE ID = %d" % formid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM onlineform WHERE ID = %d" % formid)
    audit.edit(dbo, username, "onlineform", audit.map_diff(preaudit, postaudit))
Exemplo n.º 15
0
Arquivo: diary.py Projeto: magul/asm3
def update_diarytaskdetail_from_form(dbo, username, post):
    """
    Updates a diary task detail from form data
    """
    did = post.integer("diarytaskdetailid")
    sql = db.make_update_sql("diarytaskdetail", "ID=%d" % did, (
        ( "DayPivot", post.db_integer("pivot")),
        ( "WhoFor", post.db_string("for")),
        ( "Subject", post.db_string("subject")),
        ( "Note", post.db_string("note"))
        ))
    preaudit = db.query(dbo, "SELECT * FROM diarytaskdetail WHERE ID=%d" % did)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM diarytaskdetail WHERE ID=%d" % did)
    audit.edit(dbo, username, "diarytaskhead", did, audit.map_diff(preaudit, postaudit))
Exemplo n.º 16
0
def update_role_from_form(dbo, username, data):
    """
    Updates a role record from posted form data
    """
    roleid = utils.df_ki(data, "roleid")
    sql = db.make_update_sql(
        "role", "ID=%d" % roleid,
        (("Rolename", utils.df_t(data, "rolename")),
         ("SecurityMap", utils.df_t(data, "securitymap"))))
    preaudit = db.query(dbo, "SELECT * FROM role WHERE ID = %d" % roleid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM role WHERE ID = %d" % roleid)
    audit.edit(dbo, username, "role",
               audit.map_diff(preaudit, postaudit, [
                   "ROLENAME",
               ]))
Exemplo n.º 17
0
def update_diarytaskdetail_from_form(dbo, username, data):
    """
    Updates a diary task detail from form data
    """
    did = utils.df_ki(data, "diarytaskdetailid")
    sql = db.make_update_sql("diarytaskdetail", "ID=%d" % did,
                             (("DayPivot", utils.df_s(data, "pivot")),
                              ("WhoFor", utils.df_t(data, "for")),
                              ("Subject", utils.df_t(data, "subject")),
                              ("Note", utils.df_t(data, "note"))))
    preaudit = db.query(dbo, "SELECT * FROM diarytaskdetail WHERE ID=%d" % did)
    db.execute(dbo, sql)
    postaudit = db.query(dbo,
                         "SELECT * FROM diarytaskdetail WHERE ID=%d" % did)
    audit.edit(dbo, username, "diarytaskhead",
               audit.map_diff(preaudit, postaudit))
Exemplo n.º 18
0
def update_diarytaskdetail_from_form(dbo, username, post):
    """
    Updates a diary task detail from form data
    """
    did = post.integer("diarytaskdetailid")
    sql = db.make_update_sql("diarytaskdetail", "ID=%d" % did,
                             (("DayPivot", post.db_integer("pivot")),
                              ("WhoFor", post.db_string("for")),
                              ("Subject", post.db_string("subject")),
                              ("Note", post.db_string("note"))))
    preaudit = db.query(dbo, "SELECT * FROM diarytaskdetail WHERE ID=%d" % did)
    db.execute(dbo, sql)
    postaudit = db.query(dbo,
                         "SELECT * FROM diarytaskdetail WHERE ID=%d" % did)
    audit.edit(dbo, username, "diarytaskhead",
               audit.map_diff(preaudit, postaudit))
Exemplo n.º 19
0
def update_onlineform_from_form(dbo, username, data):
    """
    Update an onlineform record from posted data
    """
    formid = utils.df_ki(data, "formid")
    sql = db.make_update_sql(
        "onlineform", "ID=%d" % formid,
        (("Name", db.ds(utils.df_ks(data, "name"))),
         ("RedirectUrlAfterPOST", db.ds(utils.df_ks(data, "redirect"))),
         ("SetOwnerFlags", db.ds(utils.df_ks(data, "flags"))),
         ("Description", db.ds(utils.df_ks(data, "description")))))
    preaudit = db.query(dbo, "SELECT * FROM onlineform WHERE ID = %d" % formid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo,
                         "SELECT * FROM onlineform WHERE ID = %d" % formid)
    audit.edit(dbo, username, "onlineform",
               audit.map_diff(preaudit, postaudit))
Exemplo n.º 20
0
def update_onlineformfield_from_form(dbo, username, data):
    """
    Update an onlineformfield record from posted data
    """
    formfieldid = utils.df_ki(data, "formfieldid")
    sql = db.make_update_sql("onlineformfield", "ID=%d" % formfieldid, ( 
        ( "FieldName", db.ds(utils.df_ks(data, "fieldname"))),
        ( "FieldType", db.di(utils.df_ki(data, "fieldtype"))),
        ( "Label", db.ds(utils.df_ks(data, "label"))),
        ( "DisplayIndex", db.di(utils.df_ki(data, "displayindex"))),
        ( "Lookups", db.ds(utils.df_ks(data, "lookups"))),
        ( "Tooltip", db.ds(utils.df_ks(data, "tooltip")))
        ))
    preaudit = db.query(dbo, "SELECT * FROM onlineformfield WHERE ID = %d" % formfieldid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM onlineformfield WHERE ID = %d" % formfieldid)
    audit.edit(dbo, username, "onlineformfield", audit.map_diff(preaudit, postaudit))
Exemplo n.º 21
0
def update_onlineform_from_form(dbo, username, post):
    """
    Update an onlineform record from posted data
    """
    formid = post.integer("formid")
    sql = db.make_update_sql("onlineform", "ID=%d" % formid, ( 
        ( "Name", post.db_string("name")),
        ( "RedirectUrlAfterPOST", post.db_string("redirect")),
        ( "SetOwnerFlags", post.db_string("flags")),
        ( "EmailAddress", post.db_string("email")),
        ( "Header", post.db_string("header")),
        ( "Footer", post.db_string("footer")),
        ( "Description", post.db_string("description"))
        ))
    preaudit = db.query(dbo, "SELECT * FROM onlineform WHERE ID = %d" % formid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM onlineform WHERE ID = %d" % formid)
    audit.edit(dbo, username, "onlineform", audit.map_diff(preaudit, postaudit))
Exemplo n.º 22
0
def update_onlineformfield_from_form(dbo, username, post):
    """
    Update an onlineformfield record from posted data
    """
    formfieldid = post.integer("formfieldid")
    sql = db.make_update_sql("onlineformfield", "ID=%d" % formfieldid, ( 
        ( "FieldName", post.db_string("fieldname")),
        ( "FieldType", post.db_integer("fieldtype")),
        ( "Label", post.db_string("label")),
        ( "DisplayIndex", post.db_integer("displayindex")),
        ( "Mandatory", post.db_boolean("mandatory")),
        ( "Lookups", post.db_string("lookups")),
        ( "Tooltip", post.db_string("tooltip"))
        ))
    preaudit = db.query(dbo, "SELECT * FROM onlineformfield WHERE ID = %d" % formfieldid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo, "SELECT * FROM onlineformfield WHERE ID = %d" % formfieldid)
    audit.edit(dbo, username, "onlineformfield", audit.map_diff(preaudit, postaudit))
Exemplo n.º 23
0
def update_onlineformfield_from_form(dbo, username, data):
    """
    Update an onlineformfield record from posted data
    """
    formfieldid = utils.df_ki(data, "formfieldid")
    sql = db.make_update_sql(
        "onlineformfield", "ID=%d" % formfieldid,
        (("FieldName", db.ds(utils.df_ks(data, "fieldname"))),
         ("FieldType", db.di(utils.df_ki(data, "fieldtype"))),
         ("Label", db.ds(utils.df_ks(data, "label"))),
         ("DisplayIndex", db.di(utils.df_ki(data, "displayindex"))),
         ("Lookups", db.ds(utils.df_ks(data, "lookups"))),
         ("Tooltip", db.ds(utils.df_ks(data, "tooltip")))))
    preaudit = db.query(
        dbo, "SELECT * FROM onlineformfield WHERE ID = %d" % formfieldid)
    db.execute(dbo, sql)
    postaudit = db.query(
        dbo, "SELECT * FROM onlineformfield WHERE ID = %d" % formfieldid)
    audit.edit(dbo, username, "onlineformfield",
               audit.map_diff(preaudit, postaudit))
Exemplo n.º 24
0
def update_user_settings(dbo,
                         username,
                         email="",
                         realname="",
                         locale="",
                         theme=""):
    userid = db.query_int(
        dbo, "SELECT ID FROM users WHERE Username = '******'" % username)
    sql = db.make_update_sql("users", "ID=%d" % userid,
                             (("RealName", db.ds(realname)),
                              ("EmailAddress", db.ds(email)),
                              ("ThemeOverride", db.ds(theme)),
                              ("LocaleOverride", db.ds(locale))))
    preaudit = db.query(dbo,
                        "SELECT * FROM users WHERE ID = %d" % int(userid))[0]
    db.execute(dbo, sql)
    postaudit = db.query(dbo,
                         "SELECT * FROM users WHERE ID = %d" % int(userid))[0]
    audit.edit(dbo, username, "users",
               audit.map_diff(preaudit, postaudit, [
                   "USERNAME",
               ]))
def update_field_from_form(dbo, username, post):
    """
    Updates an additional field record. All aspects of an additional
    field can be changed after creation since only the ID ties things 
    together.
    """
    aid = post.integer("id")
    sql = db.make_update_sql(
        "additionalfield", "ID=%d" % aid,
        (("FieldName", post.db_string("name")),
         ("FieldLabel", post.db_string("label")),
         ("ToolTip", post.db_string("tooltip")),
         ("LookupValues", post.db_string("lookupvalues")),
         ("Mandatory", post.db_boolean("mandatory")),
         ("FieldType", post.db_integer("type")),
         ("LinkType", post.db_integer("link")),
         ("DisplayIndex", post.db_integer("displayindex"))))
    preaudit = db.query(dbo,
                        "SELECT * FROM additionalfield WHERE ID = %d" % aid)
    db.execute(dbo, sql)
    postaudit = db.query(dbo,
                         "SELECT * FROM additionalfield WHERE ID = %d" % aid)
    audit.edit(dbo, username, "additionalfield",
               audit.map_diff(preaudit, postaudit))