예제 #1
0
파일: taxlots.py 프로젝트: riahtu/seed
    def retrieve(self, request, pk):
        """
        Get taxlot details
        ---
        parameters:
            - name: pk
              description: The primary key of the TaxLotView
              required: true
              paramType: path
            - name: organization_id
              description: The organization_id for this user's organization
              required: true
              paramType: query
        """
        result = self._get_taxlot_view(pk)
        if result.get('status', None) != 'error':
            taxlot_view = result.pop('taxlot_view')
            result.update(TaxLotViewSerializer(taxlot_view).data)
            # remove TaxLotView id from result
            result.pop('id')

            result['state'] = TaxLotStateSerializer(taxlot_view.state).data
            result['properties'] = self._get_properties(taxlot_view.pk)
            result['history'], master = self.get_history(taxlot_view)
            result = update_result_with_master(result, master)
            return JsonResponse(result, status=status.HTTP_200_OK)
        else:
            return JsonResponse(result, status=status.HTTP_404_NOT_FOUND)
예제 #2
0
 def retrieve(self, request, pk=None):
     """
     Get property details
     ---
     parameters:
         - name: cycle_id
           description: The cycle id for filtering the property view
           required: true
           paramType: query
         - name: organization_id
           description: The organization_id for this user's organization
           required: true
           paramType: query
     """
     cycle_pk = request.query_params.get('cycle_id', None)
     if not cycle_pk:
         return JsonResponse(
             {'status': 'error', 'message': 'Must pass in cycle_id as query parameter'})
     result = self._get_property_view(pk, cycle_pk)
     if result.get('status', None) != 'error':
         property_view = result.pop('property_view')
         result.update(PropertyViewSerializer(property_view).data)
         # remove PropertyView id from result
         result.pop('id')
         result['state'] = PropertyStateSerializer(property_view.state).data
         result['taxlots'] = self._get_taxlots(property_view.pk)
         result['history'], master = self.get_history(property_view)
         result = update_result_with_master(result, master)
         status_code = status.HTTP_200_OK
     else:
         status_code = status.HTTP_404_NOT_FOUND
     return Response(result, status=status_code)
예제 #3
0
 def retrieve(self, request, pk=None):
     """
     Get property details
     ---
     parameters:
         - name: pk
           description: The primary key of the PropertyView
           required: true
           paramType: path
         - name: organization_id
           description: The organization_id for this user's organization
           required: true
           paramType: query
     """
     result = self._get_property_view(pk)
     if result.get('status', None) != 'error':
         property_view = result.pop('property_view')
         result = {'status': 'success'}
         result.update(PropertyViewSerializer(property_view).data)
         # remove PropertyView id from result
         result.pop('id')
         result['state'] = PropertyStateSerializer(property_view.state).data
         result['taxlots'] = self._get_taxlots(property_view.pk)
         result['history'], master = self.get_history(property_view)
         result = update_result_with_master(result, master)
         return JsonResponse(result,
                             encoder=PintJSONEncoder,
                             status=status.HTTP_200_OK)
     else:
         return JsonResponse(result)
예제 #4
0
    def retrieve(self, request, pk):
        """
        Get taxlot details
        """
        result = self._get_taxlot_view(pk)
        if result.get('status', None) != 'error':
            taxlot_view = result.pop('taxlot_view')
            result.update(TaxLotViewSerializer(taxlot_view).data)
            # remove TaxLotView id from result
            result.pop('id')

            result['state'] = TaxLotStateSerializer(taxlot_view.state).data
            result['properties'] = self._get_properties(taxlot_view.pk)
            result['history'], master = self.get_history(taxlot_view)
            result = update_result_with_master(result, master)
            return JsonResponse(result, status=status.HTTP_200_OK)
        else:
            return JsonResponse(result, status=status.HTTP_404_NOT_FOUND)
예제 #5
0
    def retrieve(self, request, pk=None):
        """
        Get property details
        ---
        parameters:
            - name: pk
              description: The primary key of the PropertyView
              required: true
              paramType: path
            - name: organization_id
              description: The organization_id for this user's organization
              required: true
              paramType: query
        """
        result = self._get_property_view(pk)
        if result.get('status', None) != 'error':
            property_view = result.pop('property_view')
            result = {'status': 'success'}
            result.update(PropertyViewSerializer(property_view).data)
            # remove PropertyView id from result
            result.pop('id')

            # Grab extra_data columns to be shown in the result
            organization_id = request.query_params['organization_id']
            all_extra_data_columns = Column.objects.filter(
                organization_id=organization_id,
                is_extra_data=True,
                table_name='PropertyState').values_list('column_name',
                                                        flat=True)

            result['state'] = PropertyStateSerializer(
                property_view.state,
                all_extra_data_columns=all_extra_data_columns).data
            result['taxlots'] = self._get_taxlots(property_view.pk)
            result['history'], master = self.get_history(property_view)
            result = update_result_with_master(result, master)
            return JsonResponse(result,
                                encoder=PintJSONEncoder,
                                status=status.HTTP_200_OK)
        else:
            return JsonResponse(result)