emile 1 year ago
parent 6add6729ec
commit d9c93fd213

BIN
.DS_Store vendored

Binary file not shown.

BIN
osinaweb/.DS_Store vendored

Binary file not shown.

@ -0,0 +1,15 @@
# serializers.py in Osina app
from rest_framework import serializers
from osinacore.models import *
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ['id', 'username', 'email', 'password']
class CustomerProfileSerializer(serializers.ModelSerializer):
user = UserSerializer(required=True)
class Meta:
model = CustomerProfile
fields = ['user', 'mobile_number', 'status', 'reference']

@ -0,0 +1,7 @@
from django.urls import path
from . import views
urlpatterns = [
path('register/', views.register_customer, name='register_customer'),
]

@ -0,0 +1,25 @@
from django.contrib.auth.models import User
from rest_framework import status
from rest_framework.decorators import api_view
from rest_framework.response import Response
from osinacore.models import *
from .serializers import CustomerProfileSerializer, UserSerializer
@api_view(['POST'])
def register_customer(request):
if 'user' in request.data and 'customer' in request.data:
user_serializer = UserSerializer(data=request.data['user'])
if user_serializer.is_valid():
user = user_serializer.save()
customer_data = request.data['customer']
customer_data['user'] = user.id
customer_serializer = CustomerProfileSerializer(data=customer_data)
if customer_serializer.is_valid():
customer_serializer.save()
return Response({'message': 'User and Customer registered successfully'}, status=status.HTTP_201_CREATED)
else:
return Response(customer_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
else:
return Response(user_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
else:
return Response({'message': 'User and Customer data are required'}, status=status.HTTP_400_BAD_REQUEST)

@ -20,11 +20,9 @@ from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
path('add/', include('osinacore.add.urls')),
path('edit/', include('osinacore.edit.urls')),
path('delete/', include('osinacore.delete.urls')),
path('api/', include('osinacore.api.urls')),
path('login', views.signin, name='signin'),
path('go_online/', views.go_online, name='go_online'),
path('logout/', views.signout, name='signout'),
@ -47,8 +45,6 @@ urlpatterns = [
path('tags/', views.tags, name='tags'),
#Details Templates
path('customers/<str:customer_id>/', views.customerdetails, name='customerdetails'),
path('businesses/<str:business_id>/', views.businessdetails, name='businessdetails'),
@ -57,6 +53,11 @@ urlpatterns = [
path('tasks/<str:task_id>/', views.taskdetails, name='detailed-task'),
path('show-points/<str:task_id>/', views.show_points_modal, name='showpoints'),
path('timeline/<str:task_id>/', views.timeline_modal, name='timeline'),
path('add/', include('osinacore.add.urls')),
path('edit/', include('osinacore.edit.urls')),
path('delete/', include('osinacore.delete.urls')),
#Fetch urls

@ -40,6 +40,7 @@ LOGIN_URL = 'signin'
# Application definition
INSTALLED_APPS = [
'rest_framework',
'osinacore',
'addressbook',
'billing',

Loading…
Cancel
Save