def delete(self, request, *args, **kwargs): """ Don't delete the object but update its status, and return a simple "OK", not a redirect """ self.object = self.get_object() self.object.github_status = GITHUB_STATUS_CHOICES.WAITING_DELETE self.object.save(update_fields=['github_status']) MilestoneEditJob.add_job(self.object.pk, mode='delete', gh=self.request.user.get_connection()) messages.success(self.request, u'The milestone <strong>%s</strong> will be deleted shortly' % self.object.short_title) return HttpResponse('OK')
def form_valid(self, form): """ Override the default behavior to add a job to create/update the milestone on the github side, and simple return 'OK', not a redirect. """ self.object = form.save() edit_mode = 'update' if self.object.github_status == GITHUB_STATUS_CHOICES.WAITING_CREATE: edit_mode = 'create' MilestoneEditJob.add_job(self.object.pk, mode=edit_mode, gh=self.request.user.get_connection()) messages.success(self.request, u'The milestone <strong>%s</strong> will be %sd shortly' % ( self.object.short_title, edit_mode)) return HttpResponse('OK')