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']
|
fields = ['name']
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
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)
|
super(TimerForm, self).__init__(*args, **kwargs)
|
||||||
|
|
||||||
def save(self, commit=True):
|
def save(self, commit=True):
|
||||||
instance = super(TimerForm, self).save(commit=False)
|
instance = super(TimerForm, self).save(commit=False)
|
||||||
instance.user = self.user
|
if 'user' in self:
|
||||||
|
instance.user = self.user
|
||||||
instance.save()
|
instance.save()
|
||||||
return instance
|
return instance
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
<p class="text-muted">
|
<p class="text-muted">
|
||||||
Created by {{ object.user }}
|
{{ timer }} created by {{ object.user }}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
{% if perms.core.add_feeding %}
|
{% if perms.core.add_feeding %}
|
||||||
|
@ -49,7 +49,11 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if perms.core.change_timer %}
|
{% 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 %}"
|
href="{% url 'timer-restart' timer.id %}"
|
||||||
role="button"><i class="fa fa-refresh" aria-hidden="true"></i></a>
|
role="button"><i class="fa fa-refresh" aria-hidden="true"></i></a>
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% 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>
|
<a href="{% url 'timer-list' %}" class="btn btn-default">Cancel</a>
|
||||||
</form>
|
</form>
|
||||||
{% endblock %}
|
{% endblock %}
|
|
@ -49,6 +49,8 @@ urlpatterns = [
|
||||||
|
|
||||||
url(r'^timers/$', views.TimerList.as_view(), name='timer-list'),
|
url(r'^timers/$', views.TimerList.as_view(), name='timer-list'),
|
||||||
url(r'^timer/add/$', views.TimerAdd.as_view(), name='timer-add'),
|
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(),
|
url(r'^timer/add/quick/$', views.TimerAddQuick.as_view(),
|
||||||
name='timer-add-quick'),
|
name='timer-add-quick'),
|
||||||
url(r'^timer/(?P<pk>[0-9]+)/$', views.TimerDetail.as_view(),
|
url(r'^timer/(?P<pk>[0-9]+)/$', views.TimerDetail.as_view(),
|
||||||
|
|
|
@ -173,6 +173,17 @@ class TimerAdd(PermissionRequiredMixin, CreateView):
|
||||||
return kwargs
|
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):
|
class TimerAddQuick(PermissionRequiredMixin, RedirectView):
|
||||||
permission_required = ('core.add_timer',)
|
permission_required = ('core.add_timer',)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue