Exemple #1
0
def family_home(request, project_id, family_id):

    project = get_object_or_404(Project, project_id=project_id)
    family = get_object_or_404(Family, project=project, family_id=family_id)
    if not project.can_view(request.user):
        raise PermissionDenied
    else:
        exported_to_matchmaker = None
        submission_records = settings.SEQR_ID_TO_MME_ID_MAP.find({
            'project_id':
            project_id,
            'family_id':
            family_id
        }).sort('insertion_date', -1)
        latest_submissions_from_family = find_latest_family_member_submissions(
            submission_records)
        if len(latest_submissions_from_family) > 0:
            exported_to_matchmaker = {}
        for individual, submission in latest_submissions_from_family.iteritems(
        ):
            exported_to_matchmaker[individual] = submission['insertion_date']
        phenotips_supported = True
        if settings.PROJECTS_WITHOUT_PHENOTIPS is not None and project_id in settings.PROJECTS_WITHOUT_PHENOTIPS:
            phenotips_supported = False

        matchmaker_supported = False
        if settings.PROJECTS_WITH_MATCHMAKER is not None and project_id in settings.PROJECTS_WITH_MATCHMAKER or 'ALL' in settings.PROJECTS_WITH_MATCHMAKER:
            matchmaker_supported = True

        analysis_status_json = family.get_analysis_status_json()
        analysis_status_choices = dict(ANALYSIS_STATUS_CHOICES)
        analysis_status_desc_and_icon = analysis_status_choices[
            family.analysis_status]

        return render(
            request, 'family/family_home.html', {
                'phenotips_supported':
                phenotips_supported,
                'matchmaker_supported':
                matchmaker_supported,
                'project':
                project,
                'family':
                family,
                'user_can_edit':
                family.can_edit(request.user),
                'user_is_admin':
                project.can_admin(request.user),
                'saved_variants':
                FamilySearchFlag.objects.filter(
                    family=family).order_by('-date_saved'),
                'analysis_status_desc_and_icon':
                analysis_status_desc_and_icon,
                'analysis_status_json':
                analysis_status_json,
                'exported_to_matchmaker':
                exported_to_matchmaker
            })
Exemple #2
0
def family_home(request, project_id, family_id):

    project = get_object_or_404(Project, project_id=project_id)
    family = get_object_or_404(Family, project=project, family_id=family_id)
    if not project.can_view(request.user):
        raise PermissionDenied
    else:
        exported_to_matchmaker=None
        submission_records=settings.SEQR_ID_TO_MME_ID_MAP.find({'project_id':project_id,'family_id':family_id}).sort('insertion_date',-1)
        latest_submissions_from_family = find_latest_family_member_submissions(submission_records)
        if len(latest_submissions_from_family)>0:
            exported_to_matchmaker={}
        for individual,submission in latest_submissions_from_family.iteritems():
            was_deleted_on=None
            was_deleted_by=None
            if submission.has_key("deletion"):
                was_deleted_on = submission['deletion']['date'].strftime('%d %b %Y')
                was_deleted_by = submission['deletion']['by']
            exported_to_matchmaker[individual] = {'insertion_date':submission['insertion_date'],'deletion_date':was_deleted_on, 'by':was_deleted_by}                  
        phenotips_supported=True
        if settings.PROJECTS_WITHOUT_PHENOTIPS is not None and project_id in settings.PROJECTS_WITHOUT_PHENOTIPS:
          phenotips_supported=False
         
        #Activating all projects
        matchmaker_supported=project.is_mme_enabled

        analysis_status_json = family.get_analysis_status_json()
        analysis_status_choices = dict(ANALYSIS_STATUS_CHOICES)
        analysis_status_desc_and_icon = analysis_status_choices[family.analysis_status]

        return render(request, 'family/family_home.html', {
            'phenotips_supported':phenotips_supported,
            'matchmaker_supported':matchmaker_supported,
            'project': project,
            'family': family,
            'user_can_edit': family.can_edit(request.user),
            'user_is_admin': project.can_admin(request.user),
            'saved_variants': FamilySearchFlag.objects.filter(family=family).order_by('-date_saved'),
            'analysis_status_desc_and_icon': analysis_status_desc_and_icon,
            'analysis_status_json': analysis_status_json,
            'exported_to_matchmaker':exported_to_matchmaker,
            'new_page_url': '/project/{0}/family_page/{1}'.format(
                family.seqr_family.project.guid, family.seqr_family.guid) if family.seqr_family else None,
        })