Exemple #1
0
def add_cases_to_case_group(domain, case_group_id, uploaded_data):
    response = {
        'errors': [],
        'success': [],
    }
    try:
        case_group = CommCareCaseGroup.get(case_group_id)
    except ResourceNotFound:
        response['errors'].append(_("The case group was not found."))
        return response

    for row in uploaded_data:
        identifier = row.get('case_identifier')
        case = None
        if identifier is not None:
            case = get_case_by_identifier(domain, str(identifier))
        if not case:
            response['errors'].append(_("Could not find case with identifier '%s'." % identifier))
        elif case.doc_type != 'CommCareCase':
            response['errors'].append(_("It looks like the case with identifier '%s' is deleted" % identifier))
        elif case._id in case_group.cases:
            response['errors'].append(_("A case with identifier %s already exists in this group." % identifier))
        else:
            case_group.cases.append(case._id)
            response['success'].append(_("Case with identifier '%s' has been added to this group." % identifier))

    if response['success']:
        case_group.save()

    return response
Exemple #2
0
 def get_deleted_item_data(self, item_id):
     case_group = CommCareCaseGroup.get(item_id)
     item_data = self._get_item_data(case_group)
     case_group.delete()
     return {
         'itemData': item_data,
         'template': 'deleted-group-template',
     }
Exemple #3
0
 def get_deleted_item_data(self, item_id):
     case_group = CommCareCaseGroup.get(item_id)
     item_data = self._get_item_data(case_group)
     case_group.delete()
     return {
         'itemData': item_data,
         'template': 'deleted-group-template',
     }
Exemple #4
0
 def clean(self):
     cleaned_data = super(UpdateCaseGroupForm, self).clean()
     try:
         self.current_group = CommCareCaseGroup.get(self.cleaned_data.get('item_id'))
     except AttributeError:
         raise forms.ValidationError("You're not passing in the group's id!")
     except ResourceNotFound:
         raise forms.ValidationError("This case group was not found in our database!")
     return cleaned_data
Exemple #5
0
 def clean(self):
     cleaned_data = super(UpdateCaseGroupForm, self).clean()
     try:
         self.current_group = CommCareCaseGroup.get(self.cleaned_data.get('item_id'))
     except AttributeError:
         raise forms.ValidationError("You're not passing in the group's id!")
     except ResourceNotFound:
         raise forms.ValidationError("This case group was not found in our database!")
     return cleaned_data
Exemple #6
0
def add_cases_to_case_group(domain, case_group_id, uploaded_data):
    response = {
        'errors': [],
        'success': [],
    }
    try:
        case_group = CommCareCaseGroup.get(case_group_id)
    except ResourceNotFound:
        response['errors'].append(_("The case group was not found."))
        return response

    for row in uploaded_data:
        identifier = row.get('case_identifier')
        case = None
        if identifier is not None:
            case = get_case_by_identifier(domain, str(identifier))
        if not case:
            response['errors'].append(
                _("Could not find case with identifier '%s'." % identifier))
        elif case.doc_type != 'CommCareCase':
            response['errors'].append(
                _("It looks like the case with identifier '%s' is deleted" %
                  identifier))
Exemple #7
0
 def case_group(self):
     try:
         return CommCareCaseGroup.get(self.group_id)
     except ResourceNotFound:
         raise Http404()
Exemple #8
0
 def case_groups(self):
     return [CommCareCaseGroup.get(g) for g in self.case_group_ids]
Exemple #9
0
 def case_group(self):
     try:
         return CommCareCaseGroup.get(self.group_id)
     except ResourceNotFound:
         raise Http404()
Exemple #10
0
 def case_groups(self):
     return [CommCareCaseGroup.get(g) for g in self.case_group_ids]