Exemplo n.º 1
0
 def list(self, kw, start, limit, http_req):
     sf = SessionFactory.new()
     subq = sf.query(Archives.id, Archives.name).subquery()
     q = sf.query(ValidWorkAskForLeave, Archives.name, subq.c.name.label("creator"))\
         .join(Archives, ValidWorkAskForLeave.archives_id == Archives.id)\
         .outerjoin(subq, ValidWorkAskForLeave.creator == subq.c.id)
     if kw:
         q = q.filter(Archives.name.contains(kw))
     dataset = q.order_by(ValidWorkAskForLeave.id.desc()).offset(start).limit(limit).all()
     items = list()
     for row in dataset:
         ot = row[0]
         name = row[1]
         creator = row[2]
         item = dict()
         item["id"] = ot.id
         item["kind"] = ot.kind
         item["ask_date"] = Utils.format_date(ot.ask_date)
         item["start_datetime"] = Utils.format_datetime_short(ot.start_datetime)
         item["end_datetime"] = Utils.format_datetime_short(ot.end_datetime)
         item["create_datetime"] = Utils.format_datetime_short(ot.create_datetime)
         item["name"] = name
         item["creator"] = creator
         items.append(item)
     return items
Exemplo n.º 2
0
 def list(self, default_search_val, start, limit, http_req):
     db_cnn = SessionFactory.new()
     q = db_cnn.query(Account, Archives.name, Archives.email) \
         .outerjoin(Archives, Account.archives_id == Archives.id) \
         .filter(Account.login_name != "root")
     if default_search_val:
         q = q.filter(or_(Account.login_name.like('%' + default_search_val + '%'),
                          Archives.name.like('%' + default_search_val + '%'),
                          Archives.email.like('%' + default_search_val + '%')))
     ds = q.order_by(Account.id.desc()).offset(start).limit(limit).all()
     items = list()
     for row in ds:
         item = dict()
         obj = row[0].dict()
         item["id"] = obj["id"]
         item["archives_id"] = obj["archives_id"]
         item["login_name"] = obj["login_name"]
         item["enabled"] = obj["enabled"]
         item["last_logon_time"] = Utils.format_datetime_short(obj["last_logon_time"])
         item["create_time"] = Utils.format_datetime_short(obj["create_time"])
         item["name"] = row[1]
         item["email"] = row[2]
         items.append(item)
     return items