Skip to content

Commit

Permalink
Add a create controller view.
Browse files Browse the repository at this point in the history
  • Loading branch information
mik3y committed Jun 26, 2017
1 parent 56d2423 commit d66b9cc
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 8 deletions.
2 changes: 0 additions & 2 deletions pykeg/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,6 @@
}
}

CACHE_MIDDLEWARE_ANONYMOUS_ONLY = True

INTERNAL_IPS = ('127.0.0.1',)

# Set to true if the database admin module should be enabled.
Expand Down
11 changes: 11 additions & 0 deletions pykeg/web/kegadmin/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -755,6 +755,17 @@ class Meta:
model = models.Controller
fields = ('name', 'model_name', 'serial_number')

helper = FormHelper()
helper.form_class = 'form-horizontal'
helper.layout = Layout(
Field('name', css_class='input-xlarge'),
Field('model_name', css_class='input-xlarge'),
Field('serial_number', css_class='input-xlarge'),
FormActions(
Submit('submit_controller_form', 'Save Controller', css_class='btn-success'),
)
)


class LinkDeviceForm(forms.Form):
code = forms.CharField(required=True,
Expand Down
10 changes: 10 additions & 0 deletions pykeg/web/kegadmin/templates/kegadmin/add_controller.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{% extends "kegadmin/base.html" %}
{% load kegweblib %}
{% load crispy_forms_tags %}

{% block title %}Kegbot Admin: Add Controller | {{ block.super }}{% endblock %}
{% block pagetitle %}Kegbot Admin: Add Controller{% endblock %}

{% block kegadmin-main %}
{% crispy form %}
{% endblock %}
12 changes: 6 additions & 6 deletions pykeg/web/kegadmin/templates/kegadmin/controller_list.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@
{% block pagetitle %}Kegbot Admin: Controllers{% endblock %}

{% block kegadmin-main %}
<div class="alert alert-info">
<strong>Note:</strong> Controllers can be created and edited in the Kegbot app.
</div>

{% if controllers %}
<table class="table table-hover table-bordered">
<thead>
<tr>
Expand All @@ -35,8 +30,13 @@
</td>
</tr>
{% endfor %}
<tr class="info">
<td colspan="3" style="text-align:right;">
<a class="btn btn-small btn-success"
href="{% url 'kegadmin-add-controller' %}"><i class="icon-plus icon-white"></i> Add Controller</a>
</td>
</tr>
</tbody>
</table>
{% endif %}

{% endblock %}
1 change: 1 addition & 0 deletions pykeg/web/kegadmin/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
name='kegadmin-edit-beverage-producer'),

url(r'^controllers/$', views.controller_list, name='kegadmin-controllers'),
url(r'^controllers/create/$', views.add_controller, name='kegadmin-add-controller'),
url(r'^controllers/(?P<controller_id>\d+)/$',
views.controller_detail, name='kegadmin-edit-controller'),

Expand Down
14 changes: 14 additions & 0 deletions pykeg/web/kegadmin/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,20 @@ def controller_list(request):
return render(request, 'kegadmin/controller_list.html', context=context)


@staff_member_required
def add_controller(request):
context = {}
form = forms.ControllerForm()
if request.method == 'POST':
form = forms.ControllerForm(request.POST)
if form.is_valid():
form.save()
messages.success(request, 'Controller created.')
return redirect('kegadmin-controllers')
context['form'] = form
return render(request, 'kegadmin/add_controller.html', context=context)


@staff_member_required
def controller_detail(request, controller_id):
controller = get_object_or_404(models.Controller, id=controller_id)
Expand Down

0 comments on commit d66b9cc

Please sign in to comment.