def post(self): if not self.request.is_xhr: return HTTPBadRequest() date = self.v['date'] form = TimeEntryForm(self.request.POST) if form.validate(): project_id = form.project_id.data time = TimeEntry( date = date, user_id = self.request.user.id, time = form.time.data, description = form.description.data, ticket_id = form.ticket_id.data, project_id = project_id if project_id else None ) DBSession.add(time) LOG(u'Ajax - Time entry added') entries = self._get_time_entries(date) total_sum = sum(entry.time for (tracker, entry) in entries if not entry.deleted) template = render( '/times/_list.html', dict(entries=entries, total_sum=total_sum), request=self.request ) return dict(status='success', html=template) errors = u'<br />'.join((u"%s - %s" % (field, u', '.join(errors)) for field, errors in form.errors.iteritems())) return dict(status='error', errors=errors)
def post(self): if not self.request.is_xhr: return HTTPBadRequest() date = self.v['date'] form = TimeEntryForm(self.request.POST) if form.validate(): project_id = form.project_id.data time = TimeEntry(date=date, user_id=self.request.user.id, time=form.time.data, description=form.description.data, ticket_id=form.ticket_id.data, project_id=project_id if project_id else None) DBSession.add(time) LOG(u'Ajax - Time entry added') entries = self._get_time_entries(date) total_sum = sum(entry.time for (tracker, entry) in entries if not entry.deleted) template = render('/times/_list.html', dict(entries=entries, total_sum=total_sum), request=self.request) return dict(status='success', html=template) errors = u'<br />'.join((u"%s - %s" % (field, u', '.join(errors)) for field, errors in form.errors.iteritems())) return dict(status='error', errors=errors)
def post(self): 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'), ) form = TimeEntryForm(self.request.POST, obj=timeentry) date = timeentry.date today = datetime.date.today() if form.validate(): if timeentry.project_id != int( form.project_id.data) and today > date: timeentry.deleted = True timeentry.modified_ts = datetime.datetime.now() time = TimeEntry(date=date, user_id=timeentry.user_id, time=form.time.data, description=form.description.data, ticket_id=form.ticket_id.data, project_id=form.project_id.data if form.project_id.data else None, timer_ts=datetime.datetime.now() if form.timer.data else None) DBSession.add(time) else: ticket_id = form.ticket_id.data if timeentry.time != form.time.data or\ timeentry.project_id != form.project_id.data: timeentry.modified_ts = datetime.datetime.now() timeentry.time = form.time.data timeentry.description = form.description.data timeentry.ticket_id = ticket_id timeentry.project_id = form.project_id.data if form.project_id.data else None self.flash(self._(u'Time entry saved')) LOG(u'Time entry saved') return HTTPFound(next_) return dict( timeentry_id=timeentry.id, form=form, date=date, next=next_, )
def post(self): 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'), ) form = TimeEntryForm(self.request.POST, obj=timeentry) date = timeentry.date today = datetime.date.today() if form.validate(): if timeentry.project_id != int(form.project_id.data) and today > date: timeentry.deleted = True timeentry.modified_ts = datetime.datetime.now() time = TimeEntry( date=date, user_id = timeentry.user_id, time = form.time.data, description = form.description.data, ticket_id = form.ticket_id.data, project_id = form.project_id.data if form.project_id.data else None, timer_ts = datetime.datetime.now() if form.timer.data else None ) DBSession.add(time) else: ticket_id = form.ticket_id.data if timeentry.time != form.time.data or\ timeentry.project_id != form.project_id.data: timeentry.modified_ts = datetime.datetime.now() timeentry.time = form.time.data timeentry.description = form.description.data timeentry.ticket_id = ticket_id timeentry.project_id = form.project_id.data if form.project_id.data else None self.flash(self._(u'Time entry saved')) LOG(u'Time entry saved') return HTTPFound(next_) return dict( timeentry_id=timeentry.id, form=form, date=date, next=next_, )