Ejemplo n.º 1
0
    def query_db(parts):
        orbits = [Submission.followUpState == i for i in parts]
        query = Submission.query.filter(or_(*orbits))
        submissions = query.all()
        output = dump_table(submissions, Submission.__table__)
        for index, element in enumerate(output):
            element["tags"] = [_.name for _ in submissions[index].tags]
            element["personPresenters"] = [_.name for _ in submissions[index].personPresenters]
            user_map = ["name", "email", "id", "special_tag", "account_name", "image_small"]
            element["userPresenters"] = [
                dict([(field, getattr(_, field)) for field in user_map]) for _ in submissions[index].userPresenters
            ]
            element["rsvped_by"] = [
                dict([(field, getattr(_, field)) for field in user_map]) for _ in submissions[index].rsvped_by
            ]
            element["overdue"] = (datetime.datetime.now() - submissions[index].submitted_dt).days > 13
            element["followUpDays"] = (datetime.datetime.now() - submissions[index].submitted_dt).days
            if not submissions[index].submitter is None:
                element["submitter"] = dict(
                    [(field, getattr(submissions[index].submitter, field)) for field in user_map]
                )
        import random

        random.shuffle(output)
        return output
Ejemplo n.º 2
0
 def query_db(parts):
     orbits = [Submission.followUpState == i for i in parts]
     query = Submission.query.filter(or_(*orbits))
     submissions = query.all()
     output = dump_table(submissions, Submission.__table__)
     for index, element in enumerate(output):
         element['tags'] = [_.name for _ in submissions[index].tags]
         element['personPresenters'] = [
             _.name for _ in submissions[index].personPresenters
         ]
         user_map = [
             'name', 'email', 'id', 'special_tag', 'account_name',
             'image_small'
         ]
         element['userPresenters'] = [
             dict([(field, getattr(_, field)) for field in user_map])
             for _ in submissions[index].userPresenters
         ]
         element['rsvped_by'] = [
             dict([(field, getattr(_, field)) for field in user_map])
             for _ in submissions[index].rsvped_by
         ]
         element['overdue'] = (datetime.datetime.now() -
                               submissions[index].submitted_dt).days > 13
         element['followUpDays'] = (datetime.datetime.now() -
                                    submissions[index].submitted_dt).days
         if not submissions[index].submitter is None:
             element['submitter'] = dict([
                 (field, getattr(submissions[index].submitter, field))
                 for field in user_map
             ])
     import random
     random.shuffle(output)
     return output
Ejemplo n.º 3
0
    def get(self):
        """ Returns a list of objects to represent users in the database
            Pass a ?q=query to conduct a search by name and email
        """
        parser = reqparse.RequestParser()
        parser.add_argument('q', type=str)
        args = parser.parse_args()

        output = User.query
        if args['q']:
            search_string = '%' + args['q'] + '%'
            output = output.filter(
                or_(
                    User.name.like(search_string),
                    User.email.like(search_string),
                    User.account_name.like(search_string)
                )
            )
        output = dump_table(output, User.__table__)
        # fields to show in search results
        fields = ['id', 'name', 'email']
        return [
            dict([(name, element[name]) for name in fields])
            for element in output
        ]
Ejemplo n.º 4
0
 def get(self,submission_id,noun=None):
     submission = Submission.query.filter_by(id=int(submission_id)).all()
     ## Output only one element
     output = dump_table(submission, Submission.__table__).pop()
     output['tags'] = [_.name for _ in submission[0].tags]
     output['personPresenters'] = [_.name for _ in submission[0].personPresenters]
     user_map = ['name','email','id']
     output['userPresenters'] = [dict([(field,getattr(_,field)) for field in user_map]) for _ in submission[0].userPresenters]
     output['rsvped_by'] = [dict([(field,getattr(_,field)) for field in user_map]) for _ in submission[0].rsvped_by]
     return output,200
Ejemplo n.º 5
0
 def get(self):
     submissions = Submission.query.all()
     output = dump_table(submissions, Submission.__table__)
     for index,element in enumerate(output):
         element['tags'] = [_.name for _ in submissions[index].tags]
         element['personPresenters'] = [_.name for _ in submissions[index].personPresenters]
         user_map = ['name','email','id']
         element['userPresenters'] = [dict([(field,getattr(_,field)) for field in user_map]) for _ in submissions[index].userPresenters]
         element['rsvped_by'] = [dict([(field,getattr(_,field)) for field in user_map]) for _ in submissions[index].rsvped_by]
     return output
Ejemplo n.º 6
0
 def get(self, submission_id, noun=None):
     submission = Submission.query.filter_by(id=int(submission_id)).all()
     ## Output only one element
     output = dump_table(submission, Submission.__table__).pop()
     output['tags'] = [{'id': t.name, 'desc': t.desc} for t in submission[0].tags]
     user_map = ['name', 'email', 'id']
     output['submitter'] = dict([(field, getattr(submission[0].submitter, field)) for field in user_map])
     output['presenters'] = [expand_presenter(_) for _ in
                                 submission[0].presenters]
     output['rsvped_by'] = [dict([(field, getattr(_, field)) for field in user_map]) for _ in
                            submission[0].rsvped_by]
     return output, 200
Ejemplo n.º 7
0
 def get(self, submission_id, noun=None):
     submission = Submission.query.filter_by(id=int(submission_id)).all()
     ## Output only one element
     output = dump_table(submission, Submission.__table__).pop()
     output["tags"] = [{"id": t.name, "desc": t.desc} for t in submission[0].tags]
     user_map = ["name", "email", "id"]
     output["submitter"] = dict([(field, getattr(submission[0].submitter, field)) for field in user_map])
     output["presenters"] = [expand_presenter(_) for _ in submission[0].presenters]
     output["rsvped_by"] = [
         dict([(field, getattr(_, field)) for field in user_map]) for _ in submission[0].rsvped_by
     ]
     return output, 200
Ejemplo n.º 8
0
 def get(self,search_string):
     search_string = '%'+search_string+'%'
     output = User.query.filter(
         or_(
             User.name.like(search_string),
             User.email.like(search_string),
             User.account_name.like(search_string),
             )
         )
     output = dump_table(output, User.__table__)
     filters = ['id','name','email']
     return [dict([(name,element[name]) for name in filters])
             for element in output 
         ]
Ejemplo n.º 9
0
 def get(self, search_string):
     search_string = '%' + search_string + '%'
     output = User.query.filter(
         or_(
             User.name.like(search_string),
             User.email.like(search_string),
             User.account_name.like(search_string),
         ))
     output = dump_table(output, User.__table__)
     filters = ['id', 'name', 'email']
     return [
         dict([(name, element[name]) for name in filters])
         for element in output
     ]
Ejemplo n.º 10
0
 def get(self):
     """ Returns a list of objects to represent users in the database
         Pass a ?q=query to conduct a search by name and email
     """
     parser = reqparse.RequestParser()
     parser.add_argument('q', type=str)
     args = parser.parse_args()
     output = Person.query
     if args['q']:
         search_string = '%' + args['q'] + '%'
         output = output.filter(
             or_(Person.name.like(search_string),
                 Person.email.like(search_string),
                 Person.phone.like(search_string)))
     output = dump_table(output, Person.__table__)
     # fields to show in search results
     fields = ['name', 'id']
     return [
         dict([(name, element[name]) for name in fields])
         for element in output
     ]
Ejemplo n.º 11
0
 def get(self):
     output = dump_table(Submission.query.all(), Submission.__table__)
     return output
Ejemplo n.º 12
0
 def get(self, submission_id):
     ## Output only one element
     output = dump_table(Submission.query.filter_by(id=int(submission_id)),
                         Submission.__table__).pop()
     return output
Ejemplo n.º 13
0
 def get(self):
     output = dump_table(Submission.query.all(), Submission.__table__)
     return output
Ejemplo n.º 14
0
 def get(self,submission_id):
     ## Output only one element
     output = dump_table(Submission.query.filter_by(id=int(submission_id)), Submission.__table__).pop()
     return output