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,9 +20,7 @@ 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'),
@ -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'),
@ -59,6 +55,11 @@ urlpatterns = [
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
path('get_tasks/<int:epic_id>/', views.get_tasks, name='get_tasks'),
path('open_tasks_for_project/<int:project_id>/', views.open_tasks_for_project, name='open_tasks_for_project'),

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

Loading…
Cancel
Save