11from datetime import timedelta
22from django .conf import settings
3+ from django .views .decorators .csrf import csrf_exempt
34from django .contrib .auth import (
45 authenticate ,
56 login ,
@@ -123,7 +124,7 @@ def contact_us(request):
123124 domain = Site .objects .get_current ().domain
124125
125126 mail_subject = 'Contact Us'
126- message = render_to_string ('contact_us.html' , {
127+ message = render_to_string ('registration/ contact_us.html' , {
127128 'from' : email ,
128129 'name' : name ,
129130 'contact' : phone ,
@@ -329,7 +330,7 @@ def register(request):
329330 )
330331
331332 mail_subject = 'Activate account on miniSASS'
332- message = render_to_string ('activate_account.html' , {
333+ message = render_to_string ('registration/ activate_account.html' , {
333334 'domain' : domain ,
334335 'activation_link' : activation_link ,
335336 'name' : username
@@ -455,19 +456,23 @@ def create_long_lived_refresh_token(user, days=90):
455456 return refresh
456457
457458
458- @api_view (['POST' ])
459- def user_login (request ):
460- if request .method == 'POST' :
459+ from django .utils .decorators import method_decorator
461460
461+
462+ class UserLoginView (APIView ):
463+ permission_classes = [AllowAny ]
464+ authentication_classes = [] # No authentication required for login
465+
466+ def post (self , request ):
462467 email = request .data .get ('email' )
463468 password = request .data .get ('password' )
464469 app = request .GET .get ('app' , 'web' )
465-
470+
466471 user = authenticate (request , email = email , password = password )
467-
472+
468473 if user :
469474 login (request , user )
470-
475+
471476 access_token = RefreshToken .for_user (user ).access_token
472477
473478 # Check if first name is "Anonymous"
@@ -477,6 +482,7 @@ def user_login(request):
477482 else :
478483 is_profile_updated = get_is_user_password_enforced (user , password )
479484 has_consented = get_user_privacy_consent (user )
485+
480486 priv_pol = PrivacyPolicy .objects .order_by ("-published_at" ).first ()
481487 priv_pol_ver = priv_pol .version if priv_pol else None
482488
0 commit comments