Exemple #1
0
def refresh_master_no_indicator(request, document_id):

    mr = MasterRefresh(document_id=document_id, indicator_id=None, user_id=request.user.id)

    mr.source_dps_to_dps()

    return HttpResponseRedirect(reverse("source_data:field_mapping", kwargs={"document_id": document_id}))
Exemple #2
0
    def odk_form_data_to_datapoints(self):
        '''
        First transalate the csv into source datapoitns ( very similair to the
        csv upload process), and once the sdps are created, call
        "refresh_master" and pass the list of sdps.
        '''

        self.to_process_df.columns = map(str.lower, self.to_process_df)
        column_list = self.to_process_df.columns.tolist()

        #### DataFrame --> Source DP ####
        all_sdps = []
        for row_number, row in enumerate(self.to_process_df.values):

            row_dict = dict(zip(column_list,row))
            sdps = self.process_row(row_dict,row_number)
            all_sdps.extend(sdps)

        #### Source DP --> Master DP ####

        mr = MasterRefresh(self.user_id,self.document_id)
        dps = mr.source_dps_to_dps()

        response_string = 'created %s new soure_datapoints by processing: %s \
            nows for document_id: %s, yielding in: %s master datapoints' % \
            (len(all_sdps),len(self.to_process_df),self.document_id,len(dps))

        return response_string
Exemple #3
0
    def test_mapping(self):
        '''
        Here we ensure that after mapping all of the meta data that we have the
        expected number of rows with the appropiate data associated.
        '''

        self.set_up()

        mr = MasterRefresh(self.source_datapoints,self.user.id\
            ,self.document.id,self.indicator.id)

        ## create the source metadata ##
        create_source_meta_data(self.document.id)

        ## create mappings ( this is mimicking how bo would map metadata ) ##
        rm_1 = RegionMap.objects.create(
            mapped_by_id = self.user.id,
            source_id = SourceRegion.objects.get(region_code=self\
                .region_1_code).id,
            master_id = self.region_1.id)

        cm_1 = CampaignMap.objects.create(
            mapped_by_id = self.user.id,
            source_id = SourceCampaign.objects.get(campaign_string=\
                self.campaign_string).id,
            master_id = self.campaign.id)

        im_1 = IndicatorMap.objects.create(
            mapped_by_id = self.user.id,
            source_id = SourceIndicator.objects.get(indicator_string=\
                self.indicator_string).id,
            master_id = self.indicator.id)

        mr.source_dps_to_dps()

        x = DataPoint.objects.filter(
            region_id = self.region_1.id,
            campaign_id = self.campaign.id,
            indicator_id = self.indicator.id,
        )

        self.assertEqual(len(x),1)