mirror of https://github.com/snachodog/mybuddy.git
Add a timer edit flow.
This commit is contained in:
parent
476b7ece70
commit
32da7873fa
|
@ -137,12 +137,14 @@ class TimerForm(forms.ModelForm):
|
|||
fields = ['name']
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.user = kwargs.pop('user')
|
||||
if 'user' in kwargs:
|
||||
self.user = kwargs.pop('user')
|
||||
super(TimerForm, self).__init__(*args, **kwargs)
|
||||
|
||||
def save(self, commit=True):
|
||||
instance = super(TimerForm, self).save(commit=False)
|
||||
instance.user = self.user
|
||||
if 'user' in self:
|
||||
instance.user = self.user
|
||||
instance.save()
|
||||
return instance
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
{% endif %}
|
||||
</p>
|
||||
<p class="text-muted">
|
||||
Created by {{ object.user }}
|
||||
{{ timer }} created by {{ object.user }}
|
||||
</p>
|
||||
|
||||
{% if perms.core.add_feeding %}
|
||||
|
@ -49,7 +49,11 @@
|
|||
{% endif %}
|
||||
|
||||
{% if perms.core.change_timer %}
|
||||
<a class="btn btn-secondary"
|
||||
<a class="btn btn-primary"
|
||||
href="{% url 'timer-update' timer.id %}"
|
||||
role="button"><i class="fa fa-pencil" aria-hidden="true"></i></a>
|
||||
|
||||
<a class="btn btn-dark"
|
||||
href="{% url 'timer-restart' timer.id %}"
|
||||
role="button"><i class="fa fa-refresh" aria-hidden="true"></i></a>
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
<button type="submit" class="btn btn-success">Start Timer</button>
|
||||
<button type="submit" class="btn btn-success">Submit</button>
|
||||
<a href="{% url 'timer-list' %}" class="btn btn-default">Cancel</a>
|
||||
</form>
|
||||
{% endblock %}
|
|
@ -49,6 +49,8 @@ urlpatterns = [
|
|||
|
||||
url(r'^timers/$', views.TimerList.as_view(), name='timer-list'),
|
||||
url(r'^timer/add/$', views.TimerAdd.as_view(), name='timer-add'),
|
||||
url(r'^timer/(?P<pk>[0-9]+)/edit$', views.TimerUpdate.as_view(),
|
||||
name='timer-update'),
|
||||
url(r'^timer/add/quick/$', views.TimerAddQuick.as_view(),
|
||||
name='timer-add-quick'),
|
||||
url(r'^timer/(?P<pk>[0-9]+)/$', views.TimerDetail.as_view(),
|
||||
|
|
|
@ -173,6 +173,17 @@ class TimerAdd(PermissionRequiredMixin, CreateView):
|
|||
return kwargs
|
||||
|
||||
|
||||
class TimerUpdate(PermissionRequiredMixin, UpdateView):
|
||||
model = Timer
|
||||
permission_required = ('core.change_timer',)
|
||||
form_class = TimerForm
|
||||
success_url = '/timers'
|
||||
|
||||
def get_success_url(self):
|
||||
instance = self.get_object()
|
||||
return '/timer/{}/'.format(instance.id)
|
||||
|
||||
|
||||
class TimerAddQuick(PermissionRequiredMixin, RedirectView):
|
||||
permission_required = ('core.add_timer',)
|
||||
|
||||
|
|
Loading…
Reference in New Issue