Advertisement
Guest User

Untitled

a guest
Mar 30th, 2016
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. class UserResource(ModelResource):
  2.  
  3. class Meta:
  4. queryset = User.objects.all()
  5. fields = ['first_name', 'last_name', 'email']
  6. allowed_methods = ['get', 'post']
  7. resource_name = 'user'
  8.  
  9. def override_urls(self):
  10. return [
  11. url(r"^(?P<resource_name>%s)/login%s$" %
  12. (self._meta.resource_name, trailing_slash()),
  13. self.wrap_view('login'), name="api_login"),
  14. url(r'^(?P<resource_name>%s)/logout%s$' %
  15. (self._meta.resource_name, trailing_slash()),
  16. self.wrap_view('logout'), name='api_logout'),
  17. ]
  18.  
  19. def login(self, request, **kwargs):
  20. self.method_check(request, allowed=['post'])
  21.  
  22. data = self.deserialize(request, request.raw_post_data, format=request.META.get('CONTENT_TYPE', 'application/json'))
  23.  
  24. username = data.get('username', '')
  25. password = data.get('password', '')
  26.  
  27. user = authenticate(username=username, password=password)
  28. if user:
  29. if user.is_active:
  30. login(request, user)
  31. return self.create_response(request, {
  32. 'success': True
  33. })
  34. else:
  35. return self.create_response(request, {
  36. 'success': False,
  37. 'reason': 'disabled',
  38. }, HttpForbidden )
  39. else:
  40. return self.create_response(request, {
  41. 'success': False,
  42. 'reason': 'incorrect',
  43. }, HttpUnauthorized )
  44.  
  45. def logout(self, request, **kwargs):
  46. self.method_check(request, allowed=['get'])
  47. if request.user and request.user.is_authenticated():
  48. logout(request)
  49. return self.create_response(request, { 'success': True })
  50. else:
  51. return self.create_response(request, { 'success': False }, HttpUnauthorized)
  52.  
  53. module.controller('LoginController', ['$scope','$http',
  54. function($scope, $http) {
  55. $http({
  56. method: 'POST',
  57. data: {'username' : 'test', 'password' : 'test123' },
  58. url: 'http://localhost:8000/api/v1/user/login/'
  59. }).then(function successCallback(response) {
  60. console.log("OK Respone");
  61. console.log(response.data);
  62. $scope.orders = response.data.objects;
  63. }, function errorCallback(response) {
  64. console.log("NO Response");
  65. });
  66. }]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement