コード例 #1
0
def _referral_messages(request,
                       referral_id,
                       object_id,
                       template_name="messages/messages_referral.html"):
    object = get_object_or_404(
        Client,
        pk=object_id,
        person__organization=request.user.get_profile().org_active)
    client_id = object_id
    referral = Referral.objects.get(
        pk=referral_id,
        service__organization=request.user.get_profile().org_active)

    if not request.user.get_profile().person.is_client():
        # check if professional can read it
        if not _access_check(request,
                             object) and not _access_check_referral_write(
                                 request, referral):
            return render_to_response('403.html', {
                'object':
                _("Oops! You don't have access for this service!"),
            },
                                      context_instance=RequestContext(request))

        if not referral.topics.all():
            return HttpResponseRedirect(
                '/client/%s/referral/%s/messages/newtopic' %
                (object.id, referral.id))
    #topics = MessageTopic.objects.filter(referral=referral, referral__service__organization=request.user.get_profile().org_active).order_by('messages__sent_at').reverse().distinct()
    return render_to_response(template_name,
                              locals(),
                              context_instance=RequestContext(request))
コード例 #2
0
def _topic_messages(request,
                    referral_id,
                    topic_id,
                    object_id,
                    template_name="messages/messages_topic.html"):
    client_id = object_id

    object = get_object_or_404(
        Client,
        pk=object_id,
        person__organization=request.user.get_profile().org_active)
    referral = Referral.objects.get(
        pk=referral_id,
        service__organization=request.user.get_profile().org_active)

    if not _access_check(request, object) and not _access_check_referral_write(
            request, referral):
        return render_to_response(
            '403.html', {
                'object': _("Oops! You don't have access for this service!"),
            },
            context_instance=RequestContext(request))

    messagetopic = MessageTopic.objects.get(pk=topic_id)

    return render_to_response(template_name,
                              locals(),
                              context_instance=RequestContext(request))
コード例 #3
0
ファイル: views.py プロジェクト: chocoelho/gestorpsi
def occupation_save(request, object_id, occupation_id=0):
    object = get_object_or_404(Client, pk=object_id, person__organization=request.user.get_profile().org_active)
    # check access by requested user
    if not _access_check(request, object) or object.is_company():
        return render_to_response('403.html', {'object': _("Oops! You don't have access for this service!"), }, context_instance=RequestContext(request))

    occupation_object = get_object_or_None(Profession, id=occupation_id) or Profession()
    profession_form = ProfessionForm(request.POST, instance=occupation_object)

    ocup = request.POST.get('ocup_class').replace('-','')

    # occupation found
    try:
        profession = profession_form.save(commit=False)
        profession.profession = Occupation.objects.get(cbo_code=ocup)
        profession.client = object
        profession.save()
        messages.success(request, _('Occupation saved successfully'))
        professions = [p for p in object.profession_set.all()]
        return render_to_response('demographic/demographic_occupation.html', {
                                        'object': object,
                                        'demographic_menu': True,
                                        'professions': professions,
                                        'profession_form': profession_form,
                                        }, context_instance=RequestContext(request))
    # occupation not found
    except:
        messages.error(request, _('Occupation not found'))
        professions = [p for p in object.profession_set.all()]
        return render_to_response('demographic/demographic_occupation.html', {
                                        'object': object,
                                        'demographic_menu': True,
                                        'professions': professions,
                                        'profession_form': profession_form,
                                        }, context_instance=RequestContext(request))
コード例 #4
0
ファイル: views.py プロジェクト: GestorPsi-MES/gestorpsi
def education_save(request, object_id):
    object = get_object_or_404(
        Client,
        pk=object_id,
        person__organization=request.user.get_profile().org_active)
    # check access by requested user
    if not _access_check(request, object) or object.is_company():
        return render_to_response(
            '403.html', {
                'object': _("Oops! You don't have access for this service!"),
            },
            context_instance=RequestContext(request))

    if hasattr(object, 'educationallevel'):
        education_form = EducationalLevelForm(request.POST,
                                              instance=object.educationallevel)
    else:
        education_form = EducationalLevelForm(request.POST,
                                              instance=EducationalLevel())
    education = education_form.save(commit=False)
    education.client = object
    education.save()
    messages.success(request, _('Education saved successfully'))
    return render_to_response('demographic/demographic_education.html', {
        'object': object,
        'demographic_menu': True,
        'education_form': education_form,
    },
                              context_instance=RequestContext(request))
コード例 #5
0
ファイル: views.py プロジェクト: GestorPsi-MES/gestorpsi
def occupation(request, object_id, occupation_id=0):
    object = get_object_or_404(
        Client,
        pk=object_id,
        person__organization=request.user.get_profile().org_active)

    # check access by requested user
    if not _access_check(request, object) or object.is_company():
        return render_to_response(
            '403.html', {
                'object': _("Oops! You don't have access for this service!"),
            },
            context_instance=RequestContext(request))

    occupation_object = get_object_or_None(Profession,
                                           id=occupation_id) or Profession()

    profession_form = ProfessionForm(instance=occupation_object)

    professions = [p for p in object.profession_set.all()]
    return render_to_response('demographic/demographic_occupation.html', {
        'object': object,
        'demographic_menu': True,
        'professions': professions,
        'profession_form': profession_form,
        'occupation': occupation_object,
    },
                              context_instance=RequestContext(request))
コード例 #6
0
ファイル: views.py プロジェクト: rodrigoncalves/gestorpsi
def occupation(request, object_id, occupation_id=0):
    object = get_object_or_404(Client, pk=object_id, person__organization=request.user.get_profile().org_active)

    # check access by requested user
    if not _access_check(request, object) or object.is_company():
        return render_to_response(
            "403.html",
            {"object": _("Oops! You don't have access for this service!")},
            context_instance=RequestContext(request),
        )

    occupation_object = get_object_or_None(Profession, id=occupation_id) or Profession()

    profession_form = ProfessionForm(instance=occupation_object)

    professions = [p for p in object.profession_set.all()]
    return render_to_response(
        "demographic/demographic_occupation.html",
        {
            "object": object,
            "demographic_menu": True,
            "professions": professions,
            "profession_form": profession_form,
            "occupation": occupation_object,
        },
        context_instance=RequestContext(request),
    )
コード例 #7
0
ファイル: views.py プロジェクト: Niets/gestorpsi
def save(request, object_id=''):
    object = get_object_or_404(Client, pk=object_id, person__organization=request.user.get_profile().org_active)

    # check access by requested user
    if not _access_check(request, object):
        return render_to_response('403.html', {'object': _("Oops! You don't have access for this service!"), }, context_instance=RequestContext(request))

    object.admission_date = datetime.strptime(request.POST.get('admission_date'), '%d/%m/%Y')
    object.legacyRecord = request.POST.get('legacyRecord')
    object.comments = request.POST.get('comments')

    object.admissionreferral_set.all().delete()
    """ Referral Section """
    if request.POST.get('referral'):
        ar = AdmissionReferral()
        ar.referral_choice_id = ReferralChoice.objects.get(pk=request.POST.get('referral')).id
        ar.referral_organization = get_object_or_None(Organization, id=request.POST.get('referral_organization'))
        ar.referral_professional = get_object_or_None(CareProfessional, id=request.POST.get('referral_professional'))
        ar.signed_bythe_client = True if request.POST.get('signed') else False
        ar.client = object
        ar.save()

    object.save()

    messages.success(request, _('Admission saved successfully'))

    return HttpResponseRedirect('/client/%s/home' % object.id)
コード例 #8
0
def attach_save(request, object_id=None):
    object = get_object_or_404(
        Client,
        pk=object_id,
        person__organization=request.user.get_profile().org_active)

    # check access by requested user
    if not _access_check(request, object):
        return render_to_response(
            '403.html', {
                'object': _("Oops! You don't have access for this service!"),
            },
            context_instance=RequestContext(request))

    if request.method == 'POST':
        user = request.user
        filename = ''

        if 'file' in request.FILES:
            path = '%simg/organization/%s' % (MEDIA_ROOT,
                                              user.get_profile().org_active.id)
            if not os.path.exists(path):
                os.mkdir(path)
                os.chmod(path, 0777)

            path = '%simg/organization/%s/attach' % (
                MEDIA_ROOT, user.get_profile().org_active.id)
            if not os.path.exists(path):
                os.mkdir(path)
                os.chmod(path, 0777)

            try:
                filename = request.FILES['file']
                file = str(uuid.uuid4()) + '.' + (str(filename).split('.')[-1])
                destination = open('%s/%s' % (path, file), 'w+')

                for chunk in filename.chunks():
                    destination.write(chunk)
                destination.close()

                attach = Attach()
                if not request.POST.get('signed'):
                    attach.signed_bythe_client = False
                else:
                    attach.signed_bythe_client = True

                attach.filename = '%s' % filename
                attach.description = request.POST.get('description')
                attach.file = '%s' % file
                attach.type = request.POST.get('doc_type')
                attach.client = object
                attach.save()

            except IOError:
                print "error sending file"

        return HttpResponseRedirect('/admission/%s/' % object_id)
        return HttpResponseRedirect('/admission/%s/' % object_id)
コード例 #9
0
ファイル: views.py プロジェクト: chocoelho/gestorpsi
def home(request, object_id):
    object = get_object_or_404(Client, pk=object_id, person__organization=request.user.get_profile().org_active)
    # check access by requested user
    if not _access_check(request, object) or object.is_company():
        return render_to_response('403.html', {'object': _("Oops! You don't have access for this service!"), }, context_instance=RequestContext(request))

    return render_to_response('demographic/demographic_home.html', {
                                    'object': object,
                                    'demographic_menu': True,
                                    }, context_instance=RequestContext(request))
コード例 #10
0
def _access_check_by_occurrence(request, occurrence):
    from gestorpsi.client.views import _access_check
    denied_to_read = None
    for c in occurrence.event.referral.client.all():
        if not _access_check(request, c):
            denied_to_read = True

    if denied_to_read:
        return False

    return True
コード例 #11
0
def _access_check_by_occurrence(request, occurrence):
    from gestorpsi.client.views import _access_check
    denied_to_read = None
    for c in occurrence.event.referral.client.all():
        if not _access_check(request, c):
            denied_to_read = True

    if denied_to_read:
        return False

    return True
コード例 #12
0
ファイル: views.py プロジェクト: Niets/gestorpsi
def _topic_messages(request, referral_id, topic_id, object_id, template_name="messages/messages_topic.html"):
    client_id = object_id

    object = get_object_or_404(Client, pk=object_id, person__organization=request.user.get_profile().org_active)
    referral = Referral.objects.get(pk=referral_id, service__organization=request.user.get_profile().org_active)

    if not _access_check(request, object) and not _access_check_referral_write(request, referral):
        return render_to_response('403.html', {'object': _("Oops! You don't have access for this service!"), }, context_instance=RequestContext(request))

    messagetopic = MessageTopic.objects.get(pk=topic_id)

    return render_to_response(template_name, locals(), context_instance=RequestContext(request))
コード例 #13
0
def form(request, object_id=''):
    object = get_object_or_404(
        Client,
        pk=object_id,
        person__organization=request.user.get_profile().org_active)

    # check access by requested user
    if not _access_check(request, object):
        return render_to_response(
            '403.html', {
                'object': _("Oops! You don't have access for this service!"),
            },
            context_instance=RequestContext(request))

    attachs = Attach.objects.filter(client=object)

    return render_to_response('admission/admission_form.html', {
        'object':
        object,
        'types':
        ATTACH_TYPE,
        'attachs':
        attachs,
        'org_id':
        request.user.get_profile().org_active.id,
        'contact_organizations':
        Contact.objects.filter_internal(
            org_id=request.user.get_profile().org_active.id,
            person_id=request.user.get_profile().person.id,
            filter_name=None,
            filter_type=1),
        'contact_professionals':
        Contact.objects.filter_internal(
            org_id=request.user.get_profile().org_active.id,
            person_id=request.user.get_profile().person.id,
            filter_name=None,
            filter_type=2),
        'contact_organizations_external':
        Contact.objects.filter_external(
            org_id=request.user.get_profile().org_active.id,
            person_id=request.user.get_profile().person.id,
            filter_name=None,
            filter_type=1),
        'contact_professionals_external':
        Contact.objects.filter_external(
            org_id=request.user.get_profile().org_active.id,
            person_id=request.user.get_profile().person.id,
            filter_name=None,
            filter_type=2),
        'ReferralChoices':
        ReferralChoice.objects.all(),
    },
                              context_instance=RequestContext(request))
コード例 #14
0
def attach_save(request, object_id=None):
    object = get_object_or_404(
        Client, pk=object_id, person__organization=request.user.get_profile().org_active)

    # check access by requested user
    if not _access_check(request, object):
        return render_to_response('403.html', {'object': _("Oops! You don't have access for this service!"), }, context_instance=RequestContext(request))

    if request.method == 'POST':
        user = request.user
        filename = ''

        if 'file' in request.FILES:
            path = '%simg/organization/%s' % (MEDIA_ROOT,
                                              user.get_profile().org_active.id)
            if not os.path.exists(path):
                os.mkdir(path)
                os.chmod(path, 0777)

            path = '%simg/organization/%s/attach' % (
                MEDIA_ROOT, user.get_profile().org_active.id)
            if not os.path.exists(path):
                os.mkdir(path)
                os.chmod(path, 0777)

            try:
                filename = request.FILES['file']
                file = str(uuid.uuid4()) + '.' + (str(filename).split('.')[-1])
                destination = open('%s/%s' % (path,  file), 'w+')

                for chunk in filename.chunks():
                    destination.write(chunk)
                destination.close()

                attach = Attach()
                if not request.POST.get('signed'):
                    attach.signed_bythe_client = False
                else:
                    attach.signed_bythe_client = True

                attach.filename = '%s' % filename
                attach.description = request.POST.get('description')
                attach.file = '%s' % file
                attach.type = request.POST.get('doc_type')
                attach.client = object
                attach.save()

            except IOError:
                print "error sending file"

        return HttpResponseRedirect('/admission/%s/' % object_id)
        return HttpResponseRedirect('/admission/%s/' % object_id)
コード例 #15
0
ファイル: views.py プロジェクト: Niets/gestorpsi
def _referral_messages(request, referral_id, object_id, template_name="messages/messages_referral.html"):
    object = get_object_or_404(Client, pk=object_id, person__organization=request.user.get_profile().org_active)
    client_id = object_id
    referral = Referral.objects.get(pk=referral_id, service__organization=request.user.get_profile().org_active)

    if not request.user.get_profile().person.is_client():
        # check if professional can read it
        if not _access_check(request, object) and not _access_check_referral_write(request, referral):
            return render_to_response('403.html', {'object': _("Oops! You don't have access for this service!"), }, context_instance=RequestContext(request))

        if not referral.topics.all():
            return HttpResponseRedirect('/client/%s/referral/%s/messages/newtopic' % (object.id, referral.id))
    #topics = MessageTopic.objects.filter(referral=referral, referral__service__organization=request.user.get_profile().org_active).order_by('messages__sent_at').reverse().distinct()
    return render_to_response(template_name, locals(), context_instance=RequestContext(request))
コード例 #16
0
ファイル: views.py プロジェクト: GestorPsi-MES/gestorpsi
def occupation_save(request, object_id, occupation_id=0):
    object = get_object_or_404(
        Client,
        pk=object_id,
        person__organization=request.user.get_profile().org_active)
    # check access by requested user
    if not _access_check(request, object) or object.is_company():
        return render_to_response(
            '403.html', {
                'object': _("Oops! You don't have access for this service!"),
            },
            context_instance=RequestContext(request))

    occupation_object = get_object_or_None(Profession,
                                           id=occupation_id) or Profession()
    profession_form = ProfessionForm(request.POST, instance=occupation_object)

    ocup = request.POST.get('ocup_class').replace('-', '')

    # occupation found
    try:
        profession = profession_form.save(commit=False)
        profession.profession = Occupation.objects.get(cbo_code=ocup)
        profession.client = object
        profession.save()

        profession_form.instance = None

        messages.success(request, _('Occupation saved successfully'))
        professions = [p for p in object.profession_set.all()]
        return render_to_response('demographic/demographic_occupation.html', {
            'object': object,
            'demographic_menu': True,
            'professions': professions,
            'profession_form': profession_form,
        },
                                  context_instance=RequestContext(request))
    # occupation not found
    except:
        messages.success(request, _('Occupation not found'))
        professions = [p for p in object.profession_set.all()]
        return render_to_response('demographic/demographic_occupation.html', {
            'object': object,
            'demographic_menu': True,
            'professions': professions,
            'profession_form': profession_form,
            'clss': 'error',
        },
                                  context_instance=RequestContext(request))
コード例 #17
0
ファイル: views.py プロジェクト: rodrigoncalves/gestorpsi
def occupation_save(request, object_id, occupation_id=0):
    object = get_object_or_404(Client, pk=object_id, person__organization=request.user.get_profile().org_active)
    # check access by requested user
    if not _access_check(request, object) or object.is_company():
        return render_to_response(
            "403.html",
            {"object": _("Oops! You don't have access for this service!")},
            context_instance=RequestContext(request),
        )

    occupation_object = get_object_or_None(Profession, id=occupation_id) or Profession()
    profession_form = ProfessionForm(request.POST, instance=occupation_object)

    ocup = request.POST.get("ocup_class").replace("-", "")

    # occupation found
    try:
        profession = profession_form.save(commit=False)
        profession.profession = Occupation.objects.get(cbo_code=ocup)
        profession.client = object
        profession.save()
        messages.success(request, _("Occupation saved successfully"))
        professions = [p for p in object.profession_set.all()]
        return render_to_response(
            "demographic/demographic_occupation.html",
            {
                "object": object,
                "demographic_menu": True,
                "professions": professions,
                "profession_form": profession_form,
            },
            context_instance=RequestContext(request),
        )
    # occupation not found
    except:
        messages.success(request, _("Occupation not found"))
        professions = [p for p in object.profession_set.all()]
        return render_to_response(
            "demographic/demographic_occupation.html",
            {
                "object": object,
                "demographic_menu": True,
                "professions": professions,
                "profession_form": profession_form,
                "clss": "error",
            },
            context_instance=RequestContext(request),
        )
コード例 #18
0
ファイル: views.py プロジェクト: chocoelho/gestorpsi
def education(request, object_id):
    object = get_object_or_404(Client, pk=object_id, person__organization=request.user.get_profile().org_active)
    # check access by requested user
    if not _access_check(request, object) or object.is_company():
        return render_to_response('403.html', {'object': _("Oops! You don't have access for this service!"), }, context_instance=RequestContext(request))

    if hasattr(object, 'educationallevel'):
        education_form = EducationalLevelForm(instance=object.educationallevel)
    else:
        education_form = EducationalLevelForm()

    return render_to_response('demographic/demographic_education.html', {
                                    'object': object,
                                    'demographic_menu': True,
                                    'education_form': education_form,
                                    }, context_instance=RequestContext(request))
コード例 #19
0
ファイル: views.py プロジェクト: GestorPsi-MES/gestorpsi
def home(request, object_id):
    object = get_object_or_404(
        Client,
        pk=object_id,
        person__organization=request.user.get_profile().org_active)
    # check access by requested user
    if not _access_check(request, object) or object.is_company():
        return render_to_response(
            '403.html', {
                'object': _("Oops! You don't have access for this service!"),
            },
            context_instance=RequestContext(request))

    return render_to_response('demographic/demographic_home.html', {
        'object': object,
        'demographic_menu': True,
    },
                              context_instance=RequestContext(request))
コード例 #20
0
def form(request, object_id=''):
    object = get_object_or_404(
        Client, pk=object_id, person__organization=request.user.get_profile().org_active)

    # check access by requested user
    if not _access_check(request, object):
        return render_to_response('403.html', {'object': _("Oops! You don't have access for this service!"), }, context_instance=RequestContext(request))

    attachs = Attach.objects.filter(client=object)

    return render_to_response('admission/admission_form.html', {
        'object': object,
        'types': ATTACH_TYPE,
        'attachs': attachs,
        'org_id': request.user.get_profile().org_active.id,
        'contact_organizations':  Contact.objects.filter_internal(
            org_id=request.user.get_profile().org_active.id,
            person_id=request.user.get_profile().person.id,
            filter_name=None,
            filter_type=1
        ),
        'contact_professionals': Contact.objects.filter_internal(
            org_id=request.user.get_profile().org_active.id,
            person_id=request.user.get_profile().person.id,
            filter_name=None,
            filter_type=2
        ),
        'contact_organizations_external':  Contact.objects.filter_external(
            org_id=request.user.get_profile().org_active.id,
            person_id=request.user.get_profile().person.id,
            filter_name=None,
            filter_type=1
        ),
        'contact_professionals_external': Contact.objects.filter_external(
            org_id=request.user.get_profile().org_active.id,
            person_id=request.user.get_profile().person.id,
            filter_name=None,
            filter_type=2
        ),
        'ReferralChoices': ReferralChoice.objects.all(),
    }, context_instance=RequestContext(request))
コード例 #21
0
def save(request, object_id=''):
    object = get_object_or_404(
        Client,
        pk=object_id,
        person__organization=request.user.get_profile().org_active)

    # check access by requested user
    if not _access_check(request, object):
        return render_to_response(
            '403.html', {
                'object': _("Oops! You don't have access for this service!"),
            },
            context_instance=RequestContext(request))

    object.admission_date = datetime.strptime(
        request.POST.get('admission_date'), '%d/%m/%Y')
    object.legacyRecord = request.POST.get('legacyRecord')
    object.comments = request.POST.get('comments')

    object.admissionreferral_set.all().delete()
    """ Referral Section """
    if request.POST.get('referral'):
        ar = AdmissionReferral()
        ar.referral_choice_id = ReferralChoice.objects.get(
            pk=request.POST.get('referral')).id
        ar.referral_organization = get_object_or_None(
            Organization, id=request.POST.get('referral_organization'))
        ar.referral_professional = get_object_or_None(
            CareProfessional, id=request.POST.get('referral_professional'))
        ar.signed_bythe_client = True if request.POST.get('signed') else False
        ar.client = object
        ar.save()

    object.save()

    messages.success(request, _('Admission saved successfully'))

    return HttpResponseRedirect('/client/%s/home' % object.id)
コード例 #22
0
ファイル: views.py プロジェクト: rodrigoncalves/gestorpsi
def education_save(request, object_id):
    object = get_object_or_404(Client, pk=object_id, person__organization=request.user.get_profile().org_active)
    # check access by requested user
    if not _access_check(request, object) or object.is_company():
        return render_to_response(
            "403.html",
            {"object": _("Oops! You don't have access for this service!")},
            context_instance=RequestContext(request),
        )

    if hasattr(object, "educationallevel"):
        education_form = EducationalLevelForm(request.POST, instance=object.educationallevel)
    else:
        education_form = EducationalLevelForm(request.POST, instance=EducationalLevel())
    education = education_form.save(commit=False)
    education.client = object
    education.save()
    messages.success(request, _("Education saved successfully"))
    return render_to_response(
        "demographic/demographic_education.html",
        {"object": object, "demographic_menu": True, "education_form": education_form},
        context_instance=RequestContext(request),
    )