Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.contrib.auth.models import User, Group
- from base.models import *
- from filer.models import Image
- from filer.models import File
- from filer.models import filemodels as fm
- from rest_framework import serializers
- class ImageSerializer(serializers.HyperlinkedModelSerializer):
- class Meta:
- model = Image
- fields = ('url','path','original_filename', 'sha1')
- # fields = '__all__'
- class UserSerializer(serializers.HyperlinkedModelSerializer):
- password = serializers.CharField(read_only =True)
- class Meta:
- model = User
- fields = ('id', 'username', 'email', 'is_staff', 'date_joined', 'password')
- class SiteDataSerializer(serializers.HyperlinkedModelSerializer):
- customer = serializers.StringRelatedField()
- class Meta:
- model = Site
- fields = ('id','customer', 'name')
- class ConveyorDataSerializer(serializers.HyperlinkedModelSerializer):
- site = SiteDataSerializer()
- class Meta:
- model = Conveyor
- fields = ('id','site', 'code')
- class AssetSpecificationSerializer(serializers.HyperlinkedModelSerializer):
- part_spec = serializers.StringRelatedField()
- value = serializers.StringRelatedField()
- class Meta:
- model = AssetSpecification
- fields = ('id', 'part_spec', 'value')
- class ConveyorAssetSerializer(serializers.HyperlinkedModelSerializer):
- part = serializers.StringRelatedField()
- conveyor = ConveyorDataSerializer()
- asset_specifications = AssetSpecificationSerializer(many = True , read_only =True)
- class Meta:
- model = ConveyorAsset
- fields = ('url', 'code', 'part', 'description', 'conveyor', 'brand', 'status', 'active', 'installed_date', 'asset_specifications', )
- class ConveyorSerializer(serializers.HyperlinkedModelSerializer):
- area = serializers.StringRelatedField()
- site = SiteDataSerializer()
- assets = serializers.StringRelatedField(many = True , read_only =True)
- def validate(self, attrs):
- instance = Conveyor(**attrs)
- instance.clean()
- return attrs
- class Meta:
- model = Conveyor
- fields = ('url', 'sequence_order', 'code', 'main_conveyor', 'description', 'site', 'area', 'active', 'assets')
- class AreaSerializer(serializers.HyperlinkedModelSerializer):
- conveyors = serializers.StringRelatedField(many = True , read_only =True)
- site = SiteDataSerializer()
- class Meta:
- model = Area
- fields = ('url', 'site', 'name', 'description', 'active', 'conveyors')
- class SiteSerializer(serializers.HyperlinkedModelSerializer):
- conveyors = serializers.StringRelatedField(many = True , read_only =True)
- customer = serializers.StringRelatedField()
- areas = serializers.StringRelatedField(many = True , read_only =True)
- class Meta:
- model = Site
- fields = ('url', 'customer', 'name', 'description', 'active', 'areas', 'conveyors', 'code')
- class CustomerSerializer(serializers.HyperlinkedModelSerializer):
- logo = serializers.ImageField()
- sites = SiteSerializer(many = True , read_only =True)
- class Meta:
- model = Customer
- fields = ('url', 'name', 'description', 'co_type', 'active', 'logo', 'sites', 'code')
- class PartSerializer(serializers.HyperlinkedModelSerializer):
- class Meta:
- model = Part
- fields = ('url', 'name', 'code', 'icon', 'important_level', 'point', 'depend')
- class PartTypeSerializer(serializers.HyperlinkedModelSerializer):
- class Meta:
- model = PartType
- fields = ('url', 'name', 'code', 'part')
- class BrandSerializer(serializers.HyperlinkedModelSerializer):
- class Meta:
- model = Brand
- fields = ('url', 'name', 'active')
- class WorkSerializer(serializers.HyperlinkedModelSerializer):
- class Meta:
- model = Work
- fields = ('url', 'name', 'category', 'part')
- class WorkStepSerializer(serializers.HyperlinkedModelSerializer):
- class Meta:
- model = WorkStep
- fields = ('url', 'name', 'description', 'seq', 'active', 'work')
- class EmployeeSerializer(serializers.HyperlinkedModelSerializer):
- user = UserSerializer()
- customer = serializers.StringRelatedField()
- site = serializers.StringRelatedField()
- pict = serializers.ImageField()
- def validate(self, attrs):
- instance = Employee(**attrs)
- instance.clean()
- return attrs
- class Meta:
- model = Employee
- fields = ('id', 'pict', 'customer', 'site', 'user')
- class FileSerializer(serializers.HyperlinkedModelSerializer):
- class Meta:
- model = File
- fields = ('url',)
- class FileFilerSerializer(serializers.HyperlinkedModelSerializer):
- class Meta:
- model = fm.File
- fields = ('id','original_filename','url', 'file', 'path', 'folder', 'owner')
- # file = serializers.ReadOnlyField()
- # account = serializers.SlugRelatedField(queryset=Account.objects.all(), slug_field="vat_perc")
- class FolderFilerSerializer(serializers.HyperlinkedModelSerializer):
- class Meta:
- model = fm.File
- fields = ('id',)
- class ActionSerializer(serializers.HyperlinkedModelSerializer):
- conveyor = serializers.StringRelatedField()
- def validate(self, attrs):
- instance = Action(**attrs)
- instance.clean()
- return attrs
- class Meta:
- model = Action
- fields = ('url', 'id', 'maintenance_type', 'schedule_date', 'conveyor', 'status', 'action_no')
- # class ActionTeamSerializer(serializers.HyperlinkedModelSerializer):
- # class Meta:
- # model = ActionTeam
- # fields = ('url', 'description', 'action', 'employee')
- # class PartToInspectSerializer(serializers.HyperlinkedModelSerializer):
- # class Meta:
- # model = PartToInspect
- # fields = ('url', 'is_planned', 'part', 'action', 'do_action')
- class DoActionSerializer(serializers.HyperlinkedModelSerializer):
- def validate(self, attrs):
- instance = DoAction(**attrs)
- instance.clean()
- return attrs
- class Meta:
- model = DoAction
- fields = ('url', 'sequence', 'start_on', 'end_on', 'status', 'cancel_notes', 'is_clean','action', 'inspection_results')
- class InspectionResultSerializer(serializers.HyperlinkedModelSerializer):
- class Meta:
- model = InspectionResult
- fields = ('url', 'result_found_on', 'broken_level', 'notes', 'correction', 'action_notes', 'is_new_thread', 'recomendation', 'remarks', 'part', 'do_action', 'conveyor_asset', 'part_to_inspect', 'old_thread_ref')
- # class InspectionResultFileSerializer(serializers.HyperlinkedModelSerializer):
- # class Meta:
- # model = InspectionResultFile
- # fields = ('url', 'correction', 'notes', 'path', 'inspection_result')
- # class ActionWorkSerializer(serializers.HyperlinkedModelSerializer):
- # class Meta:
- # model = ActionWork
- # fields = ('url', 'no', 'do_on', 'progress_calc', 'status', 'action', 'do_action', 'asset', 'part', 'work', 'inspection_ref')
- class UserLoginSerializer(serializers.ModelSerializer):
- username = serializers.CharField(required = False, allow_blank=True)
- email = serializers.EmailField(label = "Email Address", required = False, allow_blank=True)
- token = serializers.CharField(allow_blank=True, read_only= True)
- class Meta:
- model = User
- fields = (
- 'username',
- 'password',
- 'token',
- 'email'
- )
- extra_kwargs = {"password":
- {"write_only":True}
- }
- def validate(self, data):
- user_obj = None
- email = data.get('email', None)
- username = data.get('username', None)
- password = data.get('password', None)
- if not email and not username:
- raise ValidationError("A username or email is required to login")
- user = User.objects.filter(
- Q(email = email) |
- Q(username = username)
- ).distinct()
- user = user.exclude(email__isnull = True).exclude(email__iexact='')
- if user.exists() and user.count() == 1:
- user_obj = user.first()
- else:
- raise ValidationError("This username/email is not valid.")
- if user_obj:
- if not user_obj.check_password(password):
- raise ValidationError("Incorrect credentials please try again.")
- data["token"] = "Some Randon Token"
- return data
- '''
- baris bawah api untuk download
- '''
- class AssetDownload(serializers.HyperlinkedModelSerializer):
- class Meta:
- model = ConveyorAsset
- fields = ('id', 'code')
- class CustomerDownload(serializers.HyperlinkedModelSerializer):
- class Meta:
- model = Customer
- fields = ('id', 'name')
- class SiteDownload(serializers.HyperlinkedModelSerializer):
- class Meta:
- model = Site
- fields = ('id', 'name')
- class ConveyorDownload(serializers.HyperlinkedModelSerializer):
- assets = AssetDownload(many = True, read_only=True)
- class Meta:
- model = Conveyor
- fields = ('id', 'code', 'assets')
- class PartToInspectDownload(serializers.HyperlinkedModelSerializer):
- part = serializers.StringRelatedField()
- class Meta:
- model = PartToInspect
- fields = ('id', 'part')
- class ActionTeamDownload(serializers.HyperlinkedModelSerializer):
- employee = serializers.StringRelatedField()
- class Meta:
- model = ActionTeam
- fields = ('id', 'employee')
- class ActionDownloadSerializer(serializers.HyperlinkedModelSerializer):
- conveyor = ConveyorDownload()
- customer = CustomerDownload()
- site = SiteDownload()
- part_to_inspects = PartToInspectDownload(many = True, read_only=True)
- action_teams = ActionTeamDownload(many = True, read_only=True)
- def validate(self, attrs):
- instance = Action(**attrs)
- instance.clean()
- return attrs
- class Meta:
- model = Action
- fields = ('url', 'id', 'maintenance_type', 'schedule_date', 'conveyor', 'status', 'action_no', 'action_ref', 'notes', 'customer', 'site', 'part_to_inspects', 'action_teams')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement