コード例 #1
0
ファイル: AsyncHandlers.py プロジェクト: churay/datbigcuke
    def _valid_request(self, user, attr, deadline_id, value):
        # User parameters must be defined
        if not user or not attr or not value or not deadline_id:
            print "Invalid Request. Parameters Missing"
            return False

        notes = value[0].decode("utf-8")

        # The deadline associated with the deadline_id must exist
        deadline_repo = DeadlineRepository()
        dead = deadline_repo.deadline_for_user(user.id, deadline_id)
        deadline_repo.close()

        if not dead or not dead.meta or not dead.group_id:
            print "Something is wrong with the deadline object."
            return False

        group_repo = GroupRepository()
        group = group_repo.fetch(dead.group_id)
        group_repo.close()

        if not group:
            print "Associated group doesn't exist."
            return False

        if not (dead.type == "PER" or
                (group.maintainerId == dead.group_id and dead.type == "END")):
            print "User cannot modify this deadline"
            return False

        return True
コード例 #2
0
ファイル: AsyncHandlers.py プロジェクト: churay/datbigcuke
    def _perform_request(self, user, attr, deadline_id, value):
        notes = value[0].decode("utf-8")

        deadline_repo = DeadlineRepository()
        dead = deadline_repo.deadline_for_user(user.id, deadline_id)
        dead.meta.notes = notes
        deadline_repo.persist(dead)
        deadline_repo.close()
コード例 #3
0
ファイル: AsyncHandlers.py プロジェクト: churay/datbigcuke
    def _perform_request(self, user, attr, deadline_id, value):
        new_name = value[0].decode("utf-8")

        deadline_repo = DeadlineRepository()
        dd = deadline_repo.deadline_for_user(user.id, deadline_id)
        dd.name = new_name
        deadline_repo.persist(dd)
        deadline_repo.close()
コード例 #4
0
ファイル: AsyncHandlers.py プロジェクト: churay/datbigcuke
    def _perform_request(self, user, attr, deadline_id, value):
        new_time = value[0].decode("utf-8")
        # Strip the 0000- year off the time.
        new_time = datetime.strptime(new_time[5:], "%m-%d %H:%M")
        # Add the correct year
        new_time = new_time + (date(datetime.now().year, 1, 1) - date(new_time.year, 1, 1))

        deadline_repo = DeadlineRepository()
        dead = deadline_repo.deadline_for_user(user.id, deadline_id)
        dead.deadline = new_time
        deadline_repo.persist(dead)
        deadline_repo.close()
コード例 #5
0
ファイル: AsyncHandlers.py プロジェクト: churay/datbigcuke
    def _perform_request(self, user, name, values):
        print "Performing request"
        deadline_id = values["deadline_id"]
        curr_user = self.get_current_user()

        dr = DeadlineRepository()
        gr = GroupRepository()

        deadline = dr.deadline_for_user(curr_user.id, deadline_id)
        group = gr.fetch(deadline.group_id)
        if(group.maintainerId == curr_user.id or group.type == 'PER'):
            dr.delete(deadline.id)
        else:
            dr.drop_metadata(deadline)
コード例 #6
0
ファイル: AsyncHandlers.py プロジェクト: churay/datbigcuke
    def _valid_request(self, user, attr, deadline_id, value):
        # User parameters must be defined
        if not user or not attr or not value or not deadline_id:
            print "Invalid Request. Parameters Missing"
            return False

        new_time = value[0].decode("utf-8")

        # Strip the 0000- year off the time.
        new_time = datetime.strptime(new_time[5:], "%m-%d %H:%M")
        # Add the correct year
        new_time = new_time + (date(datetime.now().year, 1, 1) - date(new_time.year, 1, 1))
        if new_time < datetime.now():
            print "Invalid time"
            return False

        # The deadline associated with the deadline_id must exist
        deadline_repo = DeadlineRepository()
        dead = deadline_repo.deadline_for_user(user.id, deadline_id)
        deadline_repo.close()

        if not dead or not dead.name or not dead.group_id:
            print "Something is wrong with the deadline object."
            return False

        group_repo = GroupRepository()
        group = group_repo.fetch(dead.group_id)
        group_repo.close()
        if not group:
            print "Associated group doesn't exist."
            return False

        if not (dead.type == "PER" or
                (group.maintainerId == dead.group_id and dead.type == "END")):
            print "User cannot modify this deadline"
            return False

        return True