Browse Source

Add build visit (#36)

* Add build sign-in option.

* Test can signin in with build.

* Add build option.
feature/python-error-tracking
Drew Larson 7 years ago
committed by GitHub
parent
commit
b2e30d34d3
  1. 1
      bikeshop_project/assets/js/components/Purpose.jsx
  2. 20
      bikeshop_project/core/migrations/0003_auto_20170219_1741.py
  3. 4
      bikeshop_project/core/models.py
  4. 11
      bikeshop_project/registration/tests/test_views.py

1
bikeshop_project/assets/js/components/Purpose.jsx

@ -10,6 +10,7 @@ const Purpose = ({ initialValue, handleChange }) => (
>
<MenuItem value={'VOLUNTEER'} primaryText="Volunteer" />
<MenuItem value={'FIX'} primaryText="Fix" />
<MenuItem value={'BUILD'} primaryText="Build" />
<MenuItem value={'WORKSHOP'} primaryText="Workshop" />
<MenuItem value={'DONATE'} primaryText="Donate" />
<MenuItem value={'STAFF'} primaryText="Staff" />

20
bikeshop_project/core/migrations/0003_auto_20170219_1741.py

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.4 on 2017-02-19 17:41
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('core', '0002_auto_20170101_2054'),
]
operations = [
migrations.AlterField(
model_name='visit',
name='purpose',
field=models.CharField(choices=[('VOLUNTEER', 'volunteer'), ('FIX', 'fix bike'), ('BUILD', 'build bike'), ('WORKSHOP', 'workshop'), ('VISIT', 'visit'), ('DONATE', 'donate'), ('STAFF', 'staff')], max_length=50),
),
]

4
bikeshop_project/core/models.py

@ -49,6 +49,7 @@ class Payment(models.Model):
class Visit(models.Model):
VOLUNTEER = 'VOLUNTEER'
FIX = 'FIX'
BUILD = 'BUILD'
WORKSHOP = 'WORKSHOP'
VISIT = 'VISIT'
DONATE = 'DONATE'
@ -56,7 +57,8 @@ class Visit(models.Model):
visit_choices = (
(VOLUNTEER, 'volunteer'),
(FIX, 'fix bike'), # fix
(FIX, 'fix bike'),
(BUILD, 'build bike'),
(WORKSHOP, 'workshop'),
(VISIT, 'visit'),
(DONATE, 'donate'),

11
bikeshop_project/registration/tests/test_views.py

@ -143,3 +143,14 @@ class TestMemberSignIn(TestCase):
self.assertTrue(len(data), 3)
self.assertTrue('banned' in data[0]['member'])
self.assertTrue('suspended' in data[0]['member'])
def test_signin_visit(self):
"""
Sign-in with 'BUILD' works.
"""
url = reverse('member_signin')
c = Client()
c.force_login(self.user)
response = c.post(url, data={'id': self.members[0].id, 'purpose': 'BUILD'})
self.assertEqual(response.status_code, 201)

Loading…
Cancel
Save