parent
6992114ce6
commit
170878441e
11 changed files with 83 additions and 181 deletions
@ -1,28 +0,0 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.11.1 on 2017-05-27 02:53 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.conf import settings |
||||
import django.core.validators |
||||
from django.db import migrations, models |
||||
import django.db.models.deletion |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
initial = True |
||||
|
||||
dependencies = [ |
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.CreateModel( |
||||
name='UserInfo', |
||||
fields=[ |
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('phone_number', models.CharField(blank=True, max_length=16, validators=[django.core.validators.RegexValidator(message="Phone number must be entered in the format: '+999999999'. Up to 15 digits allowed.", regex='^\\+?1?\\d{9,15}$')])), |
||||
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), |
||||
], |
||||
), |
||||
] |
@ -1,22 +0,0 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.11.1 on 2017-05-27 03:38 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.conf import settings |
||||
from django.db import migrations, models |
||||
import django.db.models.deletion |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('api', '0001_initial'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AlterField( |
||||
model_name='userinfo', |
||||
name='user', |
||||
field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='user_info', to=settings.AUTH_USER_MODEL), |
||||
), |
||||
] |
@ -1,22 +0,0 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.11.1 on 2017-05-27 04:39 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.conf import settings |
||||
from django.db import migrations, models |
||||
import django.db.models.deletion |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('api', '0002_auto_20170527_0338'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AlterField( |
||||
model_name='userinfo', |
||||
name='user', |
||||
field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), |
||||
), |
||||
] |
@ -1,34 +0,0 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.11.1 on 2017-05-27 07:30 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.conf import settings |
||||
from django.db import migrations, models |
||||
import django.db.models.deletion |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL), |
||||
('api', '0003_auto_20170527_0439'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.CreateModel( |
||||
name='Client', |
||||
fields=[ |
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('business_number', models.CharField(blank=True, max_length=16)), |
||||
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), |
||||
], |
||||
), |
||||
migrations.CreateModel( |
||||
name='Provider', |
||||
fields=[ |
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('sin', models.CharField(blank=True, max_length=16)), |
||||
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), |
||||
], |
||||
), |
||||
] |
@ -1,65 +0,0 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.11.1 on 2017-05-27 22:47 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.db import migrations, models |
||||
import django.db.models.deletion |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('api', '0004_client_provider'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.CreateModel( |
||||
name='Manage', |
||||
fields=[ |
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('note', models.CharField(blank=True, max_length=500)), |
||||
('client', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.Client')), |
||||
('provider', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.Provider')), |
||||
], |
||||
), |
||||
migrations.CreateModel( |
||||
name='Price', |
||||
fields=[ |
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('amount', models.DecimalField(decimal_places=2, max_digits=8)), |
||||
('client', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.Client')), |
||||
('provider', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.Provider')), |
||||
], |
||||
), |
||||
migrations.CreateModel( |
||||
name='Shift', |
||||
fields=[ |
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('set_start', models.DateTimeField()), |
||||
('set_end', models.DateTimeField()), |
||||
('amount', models.DecimalField(decimal_places=2, max_digits=8)), |
||||
('description', models.CharField(blank=True, max_length=100)), |
||||
('client', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.Client')), |
||||
('provider', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.Provider')), |
||||
], |
||||
), |
||||
migrations.CreateModel( |
||||
name='Work', |
||||
fields=[ |
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('color', models.CharField(blank=True, max_length=16)), |
||||
('label', models.CharField(blank=True, max_length=100)), |
||||
('client', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.Client')), |
||||
], |
||||
), |
||||
migrations.AddField( |
||||
model_name='shift', |
||||
name='work', |
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.Work'), |
||||
), |
||||
migrations.AddField( |
||||
model_name='price', |
||||
name='work', |
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.Work'), |
||||
), |
||||
] |
@ -0,0 +1,20 @@ |
||||
from pprint import pprint |
||||
from rest_framework import permissions |
||||
from caremyway.api.models import Client, Provider |
||||
|
||||
class UserTypePermission(permissions.BasePermission): |
||||
""" |
||||
Disallow creation of client or provider if one already exists |
||||
""" |
||||
message = "User is already either a client or a provider." |
||||
|
||||
def has_permission(self, request, view): |
||||
user = request.data.get('user', None) |
||||
|
||||
if request.method != 'POST' or user is None: |
||||
return True |
||||
elif not Client.objects.filter(user=user).exists() \ |
||||
and not Provider.objects.filter(user=user).exists(): |
||||
return True |
||||
else: |
||||
return False |
Loading…
Reference in new issue