Ejemplo n.º 1
0
 def groups(cls, start=None, end=None, limit=25, userId=None):
     results = Group.by_visible_and_created(core.connect(), limit=25)
     if start and not end:
         return Group.joinData(core.objects(results[start:]), userId)
     if not start and end:
         return Group.joinData(core.objects(results[:end]), userId)
     if start and end:
         return Group.joinData(core.objects(results[start:end]), userId)
     return Group.joinData(core.objects(results), userId)
Ejemplo n.º 2
0
 def groups(cls, start=None, end=None, limit=25, userId=None):
     results = Group.by_visible_and_created(core.connect(), limit=25)
     if start and not end:
         return Group.joinData(core.objects(results[start:]), userId)
     if not start and end:
         return Group.joinData(core.objects(results[:end]), userId)
     if start and end:
         return Group.joinData(core.objects(results[start:end]), userId)
     return Group.joinData(core.objects(results), userId)
Ejemplo n.º 3
0
 def feed(self, start=None, end=None, limit=25):
     # NOT IMPLEMENTED: will have to wait until we get to the point where
     # we're writing p2p code - David
     from server.models.shift import Shift
     results = Shift.by_created(core.connect(SSUser.feedDb(self.id)), limit=limit)
     if start and not end:
         return core.objects(results[start:])
     if not start and end:
         return core.objects(results[:end])
     if start and end:
         return core.objects(results[start:end])
     return core.objects(results[start:end])
Ejemplo n.º 4
0
 def feed(self, start=None, end=None, limit=25):
     # NOT IMPLEMENTED: will have to wait until we get to the point where
     # we're writing p2p code - David
     from server.models.shift import Shift
     results = Shift.by_created(core.connect(SSUser.feedDb(self.id)),
                                limit=limit)
     if start and not end:
         return core.objects(results[start:])
     if not start and end:
         return core.objects(results[:end])
     if start and end:
         return core.objects(results[start:end])
     return core.objects(results[start:end])
Ejemplo n.º 5
0
 def messages(self, start=None, end=None, limit=25):
     from server.models.message import Message
     results = Message.by_created(core.connect(SSUser.messagesDb(self.id)), limit=limit)
     messages = []
     if start and not end:
         messages = core.objects(results[start:])
     elif not start and end:
         message = core.objects(results[:end])
     elif start and end:
         messages = core.objects(results[start:end])
     else:
         messages = core.objects(results)
     return Message.joinData(messages, userId=self.id)
Ejemplo n.º 6
0
 def messages(self, start=None, end=None, limit=25):
     from server.models.message import Message
     results = Message.by_created(core.connect(SSUser.messagesDb(self.id)),
                                  limit=limit)
     messages = []
     if start and not end:
         messages = core.objects(results[start:])
     elif not start and end:
         message = core.objects(results[:end])
     elif start and end:
         messages = core.objects(results[start:end])
     else:
         messages = core.objects(results)
     return Message.joinData(messages, userId=self.id)
Ejemplo n.º 7
0
 def comments(self, start=None, end=None, limit=25):
     from server.models.comment import Comment
     if not self.hasThread():
         return []
     db = core.connect(Comment.db(self.id))
     return Comment.joinData(
         core.objects(Comment.by_created(db, limit=limit)))
Ejemplo n.º 8
0
 def shifts(self, start=None, end=None, limit=25, filter=False, query=None):
     from server.models.shift import Shift
     db = core.connect("shiftspace/shared")
     if not filter:
         if not start:
             start = [self.id]
         if not end:
             end = [self.id, {}]
         results = Shift.by_user_and_created(db, limit=limit)
         return Shift.joinData(core.objects(results[start:end]))
     else:
         lucene = core.lucene()
         queryString = "createdBy:%s" % self.id
         theFilter = core.dictToQuery(query)
         if theFilter:
             queryString = queryString + " AND " + theFilter
         try:
             print ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
             print queryString
             rows = lucene.search(db,
                                  "shifts",
                                  q=queryString,
                                  include_docs=True,
                                  sort="\modified")
         except Exception, err:
             print err
             return []
         shifts = [row["doc"] for row in rows]
         return Shift.joinData(shifts, self.id)
Ejemplo n.º 9
0
 def shifts(self, start=None, end=None, limit=25, filter=False, query=None):
     from server.models.shift import Shift
     db = core.connect("shiftspace/shared")
     if not filter:
         if not start:
             start = [self.id]
         if not end:
             end = [self.id, {}]
         results = Shift.by_user_and_created(db, limit=limit)
         return Shift.joinData(core.objects(results[start:end]))
     else:
         lucene = core.lucene()
         queryString = "createdBy:%s" % self.id
         theFilter = core.dictToQuery(query)
         if theFilter:
             queryString = queryString + " AND " + theFilter
         try:
             print ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
             print queryString
             rows = lucene.search(db, "shifts", q=queryString, include_docs=True, sort="\modified")
         except Exception, err:
             print err
             return []
         shifts = [row["doc"] for row in rows]
         return Shift.joinData(shifts, self.id)
Ejemplo n.º 10
0
 def comments(self, start=None, end=None, limit=25):
     from server.models.comment import Comment
     db = core.connect("shiftspace/shared")
     if not start:
         start = [self.id]
     if not end:
         end = [self.id, {}]
     results = Comment.by_user_and_created(db, limit=limit)
     return core.objects(results[start:end])
Ejemplo n.º 11
0
 def groups(self, start=None, end=None, limit=25):
     from server.models.permission import Permission
     db = core.connect()
     if not start:
         start = [self.id]
     if not end:
         end = [self.id, {}]
     results = Permission.readable_by_user_and_created(db, limit=limit)
     return Permission.joinData(core.objects(results[start:end]))
Ejemplo n.º 12
0
 def comments(self, start=None, end=None, limit=25):
     from server.models.comment import Comment
     db = core.connect("shiftspace/shared")
     if not start:
         start = [self.id]
     if not end:
         end = [self.id, {}]
     results = Comment.by_user_and_created(db, limit=limit)
     return core.objects(results[start:end])
Ejemplo n.º 13
0
 def groups(self, start=None, end=None, limit=25):
     from server.models.permission import Permission
     db = core.connect()
     if not start:
         start = [self.id]
     if not end:
         end = [self.id, {}]
     results = Permission.readable_by_user_and_created(db, limit=limit)
     return Permission.joinData(core.objects(results[start:end]))
Ejemplo n.º 14
0
 def favorites(self, start=None, end=None, limit=25):
     from server.models.favorite import Favorite
     db = core.connect("shiftspace/shared")
     if not start:
         start = [self.id]
     if not end:
         end = [self.id, {}]
     results = Favorite.by_user_and_created(db, limit=limit)
     favs = core.objects(results[start:end])
     return core.fetch(db, keys=[fav.shiftId for fav in favs])
Ejemplo n.º 15
0
 def delete(self):
     from server.models.permission import Permission
     server = core.sharedServer()
     # delete the metadata
     db = core.connect()
     del db[self.id]
     # delete the group database
     del server[Group.db(self.id)]
     # delete all permissions
     [perm.delete() for perm in core.objects(Permission.by_group(core.connect(), key=self.id))]
Ejemplo n.º 16
0
 def favorites(self, start=None, end=None, limit=25):
     from server.models.favorite import Favorite
     db = core.connect("shiftspace/shared")
     if not start:
         start = [self.id]
     if not end:
         end = [self.id, {}]
     results = Favorite.by_user_and_created(db, limit=limit)
     favs = core.objects(results[start:end])
     return core.fetch(db, keys=[fav.shiftId for fav in favs])
Ejemplo n.º 17
0
    def users(cls, start=None, end=None, limit=25, groupId=None):
        results = User.all_by_joined(core.connect(), limit=25)
        if start and not end:
            users = core.objects(results[start:])
        elif not start and end:
            users = core.objects(results[:end])
        elif start and end:
            users = core.objects(results[start:end])
        else:
            users = core.objects(results)
        if groupId:
            from server.models.permission import Permission

            keys = [[user.id, groupId] for user in users]
            isMembers = core.fetch(core.connect(), view=Permission.is_member, keys=keys)
            for i in range(len(users)):
                if isMembers[i]:
                    users[i]["member"] = True
                else:
                    users[i]["member"] = False
        return users
Ejemplo n.º 18
0
 def users(cls, start=None, end=None, limit=25, groupId=None):
     results = User.all_by_joined(core.connect(), limit=25)
     if start and not end:
         users = core.objects(results[start:])
     elif not start and end:
         users = core.objects(results[:end])
     elif start and end:
         users = core.objects(results[start:end])
     else:
         users = core.objects(results)
     if groupId:
         from server.models.permission import Permission
         keys = [[user.id, groupId] for user in users]
         isMembers = core.fetch(core.connect(),
                                view=Permission.is_member,
                                keys=keys)
         for i in range(len(users)):
             if isMembers[i]:
                 users[i]["member"] = True
             else:
                 users[i]["member"] = False
     return users
Ejemplo n.º 19
0
 def comments(self, start=None, end=None, limit=25):
     from server.models.comment import Comment
     if not self.hasThread():
         return []
     db = core.connect(Comment.db(self.id))
     return Comment.joinData(core.objects(Comment.by_created(db, limit=limit)))