Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ExhibitionSurveyObject(models.Model):
- owner = models.ForeignKey(User, verbose_name="Owner of this Survey object", blank=False,)
- name = models.CharField(max_length=15, blank=False, verbose_name="Survey Object name", help_text="Please give a single word name for your farm",)
- farmer_email = models.EmailField(max_length=254, blank=False, verbose_name="Email of the farmer", )
- farmer_name = models.CharField(max_length=25, blank=False, verbose_name="Name of the farmer", )
- address = models.TextField(help_text="Please provide the address without the postal code", blank=True,)
- postal_code = models.CharField(max_length=5, blank=True, default='12043')
- size = models.DecimalField(max_digits=9, decimal_places=6, blank=False, )
- path = models.CharField(max_length=1000, blank=False)
- def setpath(self, x):
- self.path = json.dumps(x)
- def getpath(self, x):
- return json.loads(self.path)
- OBJECT_TYPES = (
- ('FARM', 'Farm'),
- ('SOLARPANEL', 'Solarpanel'),
- ('PLAIN', 'plain')
- )
- object_type = models.CharField(max_length=100, choices=OBJECT_TYPES)
- CYCLES = (
- ('ONCE', 'once'),
- ('WEEKLY', 'weekly'),
- ('MONTHLY', 'monthly')
- )
- cycle = models.CharField(max_length=100, choices=CYCLES)
- #To add user's full name in the admin interface for better readability
- def get_owner_full_name(self):
- return self.owner.get_full_name()
- #Works like a verbose_name but for a method
- get_owner_full_name.short_description = 'Owners full name'
- class ExhibitionSurveyObjectSerializer(serializers.ModelSerializer):
- class Meta:
- model = ExhibitionSurveyObject
- fields = '__all__'
- def create(self, validated_data):
- return ExhibitionSurveyObject.objects.create(**validated_data)
- def update(self, instance, validated_data):
- instance.name = validated_data.get('name', instance.name)
- instance.farmer_email = validated_data.get('farmer_email', instance.farmer_email)
- instance.farmer_name = validated_data.get('farmer_name', instance.farmer_name)
- instance.address = validated_data.get('address', instance.address)
- instance.postal_code = validated_data.get('postal_code', instance.postal_code)
- instance.size = validated_data.get('size', instance.size)
- instance.path = validated_data.get('path', instance.path)
- instance.object_type = validated_data.get('object_type', instance.object_type)
- instance.cycle = validated_data.get('cycle', instance.cycle)
- instance.save()
- return instance
- class ExhibitionSurveyObjectForm(forms.ModelForm):
- owner = CustomUserChoiceField(queryset=User.objects.all())
- class Meta:
- model = ExhibitionSurveyObject
- fields = "__all__"
- class ExhibitionSurveyObjectList(generics.ListCreateAPIView):
- queryset = ExhibitionSurveyObject.objects.all()
- serializer_class = ExhibitionSurveyObjectSerializer
- addObject(
- name: string,
- farmer_email: string,
- farmer_name: string,
- size: string,
- path: Array<google.maps.LatLngLiteral>,
- cycle: string,
- object_type: string) {
- let obj = new ExhibitionSurveyObjectModel(name, farmer_email, farmer_name, size, path, cycle, object_type);
- let body = JSON.stringify(obj);
- let headers = new Headers({ 'Content-Type': 'application/json; charset=utf-8', 'Authorization': 'Token ' + localStorage.getItem('auth_token') });
- let options = new RequestOptions({ headers: headers });
- console.log(body);
- return this.http.post(this._exhibitionSurveyObjectURL, body, options)
- .map(this.extractData)
- .catch(this.handleError)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement