Beispiel #1
0
    def delete(self):
        team_id = self.request.matchdict.get('team_id')
        team = Team_m.query.get(team_id)
        if not team:
            raise HTTPNotFound()

        TeamMember.query.filter(TeamMember.team_id==team.id).delete(synchronize_session=False)
        DBSession.delete(team)

        return HTTPOk('OK')
Beispiel #2
0
 def dispatch(self):
     sprint_id = self.request.GET.get('sprint_id')
     sprint =  Sprint.query.get(sprint_id)
     form = DeleteForm(self.request.POST)
     if self.request.method == 'POST' and form.validate():
         DBSession.delete(sprint)
         back_url = self.request.url_for('/scrum/sprint/list')
         return HTTPFound(location=back_url)
     return dict(
         type_name=u'sprint',
         title=u'%s' % sprint.name,
         url=self.request.url_for('/scrum/sprint/delete', sprint_id=sprint.id),
         back_url=self.request.url_for('/scrum/sprint/list'),
         form=form
     )
Beispiel #3
0
    def delete(self):
        board_id = self.request.matchdict.get('board_id')
        board = m.SprintBoard.query.get(board_id)

        if not board:
            raise HTTPNotFound()

        can_delete = (board.user_id == self.request.user.id)

        if not can_delete:
            raise HTTPForbidden

        DBSession.delete(board)

        return HTTPOk('OK')
Beispiel #4
0
 def dispatch(self):
     client_id = self.request.GET.get('client_id')
     client = Client.query.get(client_id)
     form = DeleteForm(self.request.POST)
     back_url = self.request.url_for('/client/list')
     if self.request.method == 'POST' and form.validate():
         client.projects.delete()
         DBSession.delete(client)
         return HTTPFound(location=back_url)
     return dict(
         type_name=u'client',
         title=client.name,
         url=self.request.url_for('/client/delete', client_id=client.id),
         back_url=back_url,
         form=form)
Beispiel #5
0
    def delete(self):
        board_id = self.request.matchdict.get('board_id')
        board = m.SprintBoard.query.get(board_id)

        if not board:
            raise HTTPNotFound()

        can_delete = (board.user_id == self.request.user.id)

        if not can_delete:
            raise HTTPForbidden

        DBSession.delete(board)

        return HTTPOk('OK')
Beispiel #6
0
 def dispatch(self):
     sprint_id = self.request.GET.get("sprint_id")
     sprint = Sprint.query.get(sprint_id)
     form = DeleteForm(self.request.POST)
     if self.request.method == "POST" and form.validate():
         DBSession.delete(sprint)
         back_url = self.request.url_for("/scrum/sprint/list")
         return HTTPFound(location=back_url)
     return dict(
         type_name=u"sprint",
         title=u"%s" % sprint.name,
         url=self.request.url_for("/scrum/sprint/delete", sprint_id=sprint.id),
         back_url=self.request.url_for("/scrum/sprint/list"),
         form=form,
     )
Beispiel #7
0
 def dispatch(self):
     project_id = self.request.GET.get('project_id')
     project = Project.query.get(project_id)
     form = DeleteForm(self.request.POST)
     back_url = self.request.url_for('/client/view',
                                     client_id=project.client_id)
     if self.request.method == 'POST' and form.validate():
         DBSession.delete(project)
         SelectorMapping.invalidate_for(project.tracker_id)
         return HTTPFound(location=back_url)
     return dict(type_name=u'project',
                 title=project.name,
                 url=self.request.url_for('/project/delete',
                                          project_id=project.id),
                 back_url=back_url,
                 form=form)
Beispiel #8
0
 def dispatch(self):
     tracker_id = self.request.GET.get('tracker_id')
     tracker = Tracker.query.get(tracker_id)
     form = DeleteForm(self.request.POST)
     if self.request.method == 'POST' and form.validate():
         tracker.credentials.delete()
         tracker.projects.delete()
         DBSession.delete(tracker)
         back_url = self.request.url_for('/tracker/list')
         return HTTPFound(location=back_url)
     return dict(type_name=u'tracker',
                 title=u'%s' % tracker.name,
                 url=self.request.url_for('/tracker/delete',
                                          tracker_id=tracker.id),
                 back_url=self.request.url_for('/tracker/list'),
                 form=form)
Beispiel #9
0
 def dispatch(self):
     project_id = self.request.GET.get('project_id')
     project =  Project.query.get(project_id)
     form = DeleteForm(self.request.POST)
     back_url = self.request.url_for('/client/view', client_id=project.client_id)
     if self.request.method == 'POST' and form.validate():
         DBSession.delete(project)
         SelectorMapping.invalidate_for(project.tracker_id)
         return HTTPFound(location=back_url)
     return dict(
         type_name=u'project',
         title=project.name,
         url=self.request.url_for('/project/delete', project_id=project.id),
         back_url=back_url,
         form=form
     )
Beispiel #10
0
 def dispatch(self):
     tracker_id = self.request.GET.get('tracker_id')
     tracker =  Tracker.query.get(tracker_id)
     form = DeleteForm(self.request.POST)
     if self.request.method == 'POST' and form.validate():
         credentials = tracker.credentials.filter(TrackerCredentials.user_id==self.request.user.id).one()
         DBSession.delete(credentials)
         back_url = self.request.url_for('/tracker/list')
         return HTTPFound(location=back_url)
     return dict(
         type_name=u'tracker',
         title=self._(u'Credentials for user ${name} on tracker ${tracker}', name=self.request.user.name, tracker=tracker.name),
         url=self.request.url_for('/tracker/delete_login', tracker_id=tracker.id),
         back_url=self.request.url_for('/tracker/list'),
         form=form
     )
Beispiel #11
0
 def dispatch(self):
     tracker_id = self.request.GET.get('tracker_id')
     tracker =  Tracker.query.get(tracker_id)
     form = DeleteForm(self.request.POST)
     if self.request.method == 'POST' and form.validate():
         tracker.credentials.delete()
         tracker.projects.delete()
         DBSession.delete(tracker)
         back_url = self.request.url_for('/tracker/list')
         return HTTPFound(location=back_url)
     return dict(
         type_name=u'tracker',
         title=u'%s' % tracker.name,
         url=self.request.url_for('/tracker/delete', tracker_id=tracker.id),
         back_url=self.request.url_for('/tracker/list'),
         form=form
     )
Beispiel #12
0
 def dispatch(self):
     tracker_id = self.request.GET.get('tracker_id')
     tracker = Tracker.query.get(tracker_id)
     form = DeleteForm(self.request.POST)
     if self.request.method == 'POST' and form.validate():
         credentials = tracker.credentials.filter(
             TrackerCredentials.user_id == self.request.user.id).one()
         DBSession.delete(credentials)
         back_url = self.request.url_for('/tracker/list')
         return HTTPFound(location=back_url)
     return dict(type_name=u'tracker',
                 title=self._(
                     u'Credentials for user ${name} on tracker ${tracker}',
                     name=self.request.user.name,
                     tracker=tracker.name),
                 url=self.request.url_for('/tracker/delete_login',
                                          tracker_id=tracker.id),
                 back_url=self.request.url_for('/tracker/list'),
                 form=form)
Beispiel #13
0
    def post(self):
        form = DeleteForm(self.request.POST)
        timeentry = self.v['timeentry']

        next_ = self.request.GET.get('next')
        if not next_:
            next_ = self.request.url_for(
                '/times/list',
                date=timeentry.date.strftime('%d.%m.%Y'),
            )

        if form.validate():
            # if time entry was added today or later,
            # it might be just removed from the database
            if timeentry.date >= datetime.date.today():
                DBSession.delete(timeentry)
            else:
                # otherwise timeentry must stay in the DB
                # to show as 'late' modification
                timeentry.deleted = True
                timeentry.modified_ts = datetime.datetime.now()
            LOG(u"Deleted time entry")
            self.flash(self._(u"Deleted time entry"))
            return HTTPFound(next_)

        return dict(
            type_name=self._(u'time entry'),
            title=self._(u'from ${date} for ${desc}', date=timeentry.date.strftime('%d.%m.%Y'), desc=timeentry.description),
            url=self.request.url_for(
                '/times/delete',
                timeentry_id=timeentry.id,
                next=next_,
            ),
            back_url=next_,
            form=form
        )
Beispiel #14
0
    def post(self):
        form = DeleteForm(self.request.POST)
        timeentry = self.v['timeentry']

        next_ = self.request.GET.get('next')
        if not next_:
            next_ = self.request.url_for(
                '/times/list',
                date=timeentry.date.strftime('%d.%m.%Y'),
            )

        if form.validate():
            # if time entry was added today or later,
            # it might be just removed from the database
            if timeentry.date >= datetime.date.today():
                DBSession.delete(timeentry)
            else:
                # otherwise timeentry must stay in the DB
                # to show as 'late' modification
                timeentry.deleted = True
                timeentry.modified_ts = datetime.datetime.now()
            LOG(u"Deleted time entry")
            self.flash(self._(u"Deleted time entry"))
            return HTTPFound(next_)

        return dict(type_name=self._(u'time entry'),
                    title=self._(u'from ${date} for ${desc}',
                                 date=timeentry.date.strftime('%d.%m.%Y'),
                                 desc=timeentry.description),
                    url=self.request.url_for(
                        '/times/delete',
                        timeentry_id=timeentry.id,
                        next=next_,
                    ),
                    back_url=next_,
                    form=form)