From 9a9c8ddc4a15423ff977b06067be5c4cf75e33e9 Mon Sep 17 00:00:00 2001 From: ArturBaybulatov Date: Wed, 18 May 2016 19:34:31 +0300 Subject: [PATCH] Fiddle around --- assets/index.js | 17 +++++++++++--- projects/filters.py | 4 ++-- projects/forms.py | 10 ++++++-- .../migrations/0003_auto_20160518_1132.py | 23 +++++++++++++++++++ projects/models.py | 5 ++-- projects/serializers.py | 11 ++++----- projects/views.py | 2 +- users/models.py | 12 +++++----- users/serializers.py | 5 ++-- 9 files changed, 63 insertions(+), 26 deletions(-) create mode 100644 projects/migrations/0003_auto_20160518_1132.py diff --git a/assets/index.js b/assets/index.js index aa4f285..e01a216 100644 --- a/assets/index.js +++ b/assets/index.js @@ -29,7 +29,18 @@ app.run(['$rootScope', '$timeout', '$http', app.controller('TestCtrl', ['$scope', '$http', function TestCtrl($scope, $http) { var test = g.test = this - $http.get('/api/users/?is_admin=False').then(function(res) { - test.users = res.data.results - }) + //$http.get('/api/users/?is_admin=False').then(function(res) { + // test.users = res.data.results + //}) + + test.x = null + + $scope.$watch( + function() {return test.x}, + + function(newVal, oldVal) { + if (newVal !== oldVal) + console.log(test.x) + } + ) }]) diff --git a/projects/filters.py b/projects/filters.py index bf586d7..3225ede 100755 --- a/projects/filters.py +++ b/projects/filters.py @@ -5,8 +5,8 @@ class ProjectFilterSet(FilterSet): name = AllLookupsFilter() price = AllLookupsFilter() text = AllLookupsFilter() - user = RelatedFilter('users.filters.UserFilterSet') - specialization = RelatedFilter('specializations.filters.SpecializationFilterSet') + # user = RelatedFilter('users.filters.UserFilterSet') + # specialization = RelatedFilter('specializations.filters.SpecializationFilterSet') class Meta: model = Project diff --git a/projects/forms.py b/projects/forms.py index 212da06..7c6da07 100644 --- a/projects/forms.py +++ b/projects/forms.py @@ -2,7 +2,13 @@ from django.forms import ModelForm from .models import Project class ProjectForm(ModelForm): - class Meta: model = Project - fields = ['name', 'text', 'price', 'user','specialization'] \ No newline at end of file + + fields = ( + 'name', + 'text', + 'price', + # 'user', + # 'specialization', + ) diff --git a/projects/migrations/0003_auto_20160518_1132.py b/projects/migrations/0003_auto_20160518_1132.py new file mode 100644 index 0000000..b6371b3 --- /dev/null +++ b/projects/migrations/0003_auto_20160518_1132.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.6 on 2016-05-18 11:32 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('projects', '0002_auto_20160517_0903'), + ] + + operations = [ + migrations.RemoveField( + model_name='project', + name='specialization', + ), + migrations.RemoveField( + model_name='project', + name='user', + ), + ] diff --git a/projects/models.py b/projects/models.py index 2407e15..8a6b56a 100644 --- a/projects/models.py +++ b/projects/models.py @@ -8,11 +8,12 @@ class Project(models.Model): name = models.CharField(max_length=255) price = models.DecimalField(max_digits=10, decimal_places=2) text = models.TextField(blank=True) + # user = models.ForeignKey(User, related_name='projects') + # specialization = models.ForeignKey(Specialization, related_name='projects', blank=True, null=True) # TODO: Make required + # type_work = models.CharField() # budget = models.CharField() # cro = models.BooleanField(default=False) - user = models.ForeignKey(User, related_name='projects') - specialization = models.ForeignKey(Specialization, related_name='projects', blank=True, null=True) # TODO: Make required def __str__(self): return self.name diff --git a/projects/serializers.py b/projects/serializers.py index 85866a7..ad61964 100755 --- a/projects/serializers.py +++ b/projects/serializers.py @@ -5,20 +5,17 @@ from specializations.serializers import SpecializationSerializer from users.serializers import UserSerializer class ProjectSerializer(ModelSerializer): - user = UserSerializer() - specialization = SpecializationSerializer() + # specialization = SpecializationSerializer() + # user = UserSerializer() class Meta: model = Project fields = ( 'id', + # 'specialization', + # 'user', 'name', 'price', - 'specialization', 'text', - 'user', ) - - def create(self, validated_data): - return Project.objects.create(**validated_data) diff --git a/projects/views.py b/projects/views.py index aec1b49..a504fce 100644 --- a/projects/views.py +++ b/projects/views.py @@ -16,11 +16,11 @@ class ProjectListView(ListView): context = super(ProjectListView, self).get_context_data(**kwargs) return context + class ProjectDetailView(DetailView): model = Project - class ProjectCreateView(PermissionRequiredMixin, CreateView): model = Project permission_required = ['projects.add_project'] diff --git a/users/models.py b/users/models.py index b292b05..46db232 100644 --- a/users/models.py +++ b/users/models.py @@ -7,12 +7,12 @@ class UserManager(BaseUserManager): def create_user(self, email, password=None): if not email: raise ValueError('Users must have an email address') - + user = self.model(email=UserManager.normalize_email(email),) user.set_password(password) user.save(using=self._db) return user - + def create_superuser(self, email, password): user = self.create_user(email, password) user.is_admin = True @@ -40,16 +40,16 @@ class User(AbstractBaseUser, PermissionsMixin): @property def is_staff(self): return self.is_admin - + def __str__(self): return self.email - + def get_short_name(self): return self.email - + def get_full_name(self): return self.first_name + ' ' + self.last_name - + # def has_perm(self, perm, obj=None): # perm = perm.split('.')[-1] # if self.user and not self.user.is_active: diff --git a/users/serializers.py b/users/serializers.py index 765384c..74e3af5 100755 --- a/users/serializers.py +++ b/users/serializers.py @@ -21,11 +21,10 @@ class UserSerializer(ModelSerializer): read_only_fields = ( 'is_active', 'is_admin', - 'projects', ) - def create(self, validated_data): - return User.objects.create(**validated_data) + # def create(self, validated_data): + # return User.objects.create(**validated_data) # def update(self, inst, validated_data): # inst.email = validated_data.get('email', inst.email)