Exemplo n.º 1
0
def enviaMissatgeTutors( request ):
    
    credentials = tools.getImpersonateUser(request) 
    (user, l4) = credentials   
    
    formset = []
    msgFormF = modelform_factory(Missatge, fields=( 'text_missatge', ) )
    
    if request.method == 'POST':        
        msg = Missatge( remitent = user )
        msg.credentials = credentials
        formAlumne = triaAlumneSelect2Form( data = request.POST)
        formData= dataForm( data = request.POST  )
        formData.fields['data'].required = True
        msgForm = msgFormF( data = request.POST, instance = msg )        
        
        if formAlumne.is_valid() and msgForm.is_valid() and formData.is_valid():
            alumne = formAlumne.cleaned_data['alumne']
            tutors = alumne.tutorsDeLAlumne()
            data = formData.cleaned_data['data']
            if len( tutors ) == 0:
                formAlumne._errors.setdefault(NON_FIELD_ERRORS, []).append(  u'''No trobat el tutor d'aquest alumne. Cal trucar al cap d'estudis.'''  )
            else:
                request.session['consergeria_darrera_data'] = data
                txt2 = msg.text_missatge
                txt = CONSERGERIA_A_TUTOR
                msg.text_missatge = txt
                msg.enllac = '/tutoria/justificaFaltes/{0}/{1}/{2}/{3}'.format(alumne.pk, data.year, data.month, data.day)
                tipus_de_missatge = tipusMissatge(txt)
                msg.tipus_de_missatge = tipus_de_missatge
                msg.save()
                msg.afegeix_info(u"Alumne: {alumne}".format(alumne=alumne))
                msg.afegeix_info(u"Data relativa a l'avís: {data}".format(data=data))
                msg.afegeix_info(u"Avís: {txt2}".format(txt2=txt2))
                for tutor in tutors:
                    msg.envia_a_usuari(tutor.getUser(), 'IN')
                strTutors = u", ".join(  u'Sr(a) {}'.format( tutor) for tutor in tutors )

                #envio al que ho envia:
                missatge = CONSERGERIA_A_CONSERGERIA
                tipus_de_missatge = tipusMissatge(missatge)
                msg = Missatge( remitent = user,
                                text_missatge = missatge.format( alumne, strTutors, msg.text_missatge ),
                                tipus_de_missatge = tipus_de_missatge)
                msg.envia_a_usuari(user, 'PI')
                msg.destinatari_set.filter(destinatari = user).update(moment_lectura=datetime.now())  #marco com a llegit
                
                url = '/missatgeria/enviaMissatgeTutors/'
                messages.info( request, u"Avís als tutors de {} ({}) enviat correctament".format(unicode(alumne), strTutors ) )
                return HttpResponseRedirect( url )  
    else:
        
        consergeria_darrera_data = request.session.get( 'consergeria_darrera_data' , datetime.today() )
        formAlumne = triaAlumneSelect2Form( )
        formData = dataForm(  label='Data', 
                              help_text=u'El text del missatge començarà per: Amb data ______, ' ,
                              initial = {'data': consergeria_darrera_data })        
        formData.fields['data'].required = True
        msgForm = msgFormF(  )
    
    
    
    formset.append( formAlumne )
    formset.append( formData )
    formset.append( msgForm )

    for form in formset:
        for field in form.fields:
            form.fields[field].widget.attrs['class'] = "form-control"


    return render(
                request,
                'formset.html',
                    {'formset': formset,
                     'titol_formulari': u"Missatge a professors tutors de l'alumne",                    
                     'head': 'Avís a tutors.' ,
                    },
                )
Exemplo n.º 2
0
def enviaMissatgeTutors(request):

    credentials = tools.getImpersonateUser(request)
    (user, l4) = credentials

    formset = []
    msgFormF = modelform_factory(Missatge, fields=('text_missatge', ))

    if request.method == 'POST':
        msg = Missatge(remitent=user)
        msg.credentials = credentials
        formAlumne = triaAlumneSelect2Form(data=request.POST)
        formData = dataForm(data=request.POST)
        formData.fields['data'].required = True
        msgForm = msgFormF(data=request.POST, instance=msg)

        if formAlumne.is_valid() and msgForm.is_valid() and formData.is_valid(
        ):
            alumne = formAlumne.cleaned_data['alumne']
            tutors = alumne.tutorsDeLAlumne()
            data = formData.cleaned_data['data']
            if len(tutors) == 0:
                formAlumne._errors.setdefault(NON_FIELD_ERRORS, []).append(
                    u'''No trobat el tutor d'aquest alumne. Cal trucar al cap d'estudis.'''
                )
            else:
                request.session['consergeria_darrera_data'] = data
                txt2 = msg.text_missatge
                txt = CONSERGERIA_A_TUTOR
                msg.text_missatge = txt
                msg.enllac = '/tutoria/justificaFaltes/{0}/{1}/{2}/{3}'.format(
                    alumne.pk, data.year, data.month, data.day)
                tipus_de_missatge = tipusMissatge(txt)
                msg.tipus_de_missatge = tipus_de_missatge
                msg.save()
                msg.afegeix_info(u"Alumne: {alumne}".format(alumne=alumne))
                msg.afegeix_info(
                    u"Data relativa a l'avís: {data}".format(data=data))
                msg.afegeix_info(u"Avís: {txt2}".format(txt2=txt2))
                for tutor in tutors:
                    msg.envia_a_usuari(tutor.getUser(), 'IN')
                strTutors = u", ".join(u'Sr(a) {}'.format(tutor)
                                       for tutor in tutors)

                #envio al que ho envia:
                missatge = CONSERGERIA_A_CONSERGERIA
                tipus_de_missatge = tipusMissatge(missatge)
                msg = Missatge(remitent=user,
                               text_missatge=missatge.format(
                                   alumne, strTutors, msg.text_missatge),
                               tipus_de_missatge=tipus_de_missatge)
                msg.envia_a_usuari(user, 'PI')
                msg.destinatari_set.filter(destinatari=user).update(
                    moment_lectura=datetime.now())  #marco com a llegit

                url = '/missatgeria/enviaMissatgeTutors/'
                messages.info(
                    request,
                    u"Avís als tutors de {} ({}) enviat correctament".format(
                        unicode(alumne), strTutors))
                return HttpResponseRedirect(url)
    else:

        consergeria_darrera_data = request.session.get(
            'consergeria_darrera_data', datetime.today())
        formAlumne = triaAlumneSelect2Form()
        formData = dataForm(
            label='Data',
            help_text=u'El text del missatge començarà per: Amb data ______, ',
            initial={'data': consergeria_darrera_data})
        formData.fields['data'].required = True
        msgForm = msgFormF()

    formset.append(formAlumne)
    formset.append(formData)
    formset.append(msgForm)

    for form in formset:
        for field in form.fields:
            form.fields[field].widget.attrs['class'] = "form-control"

    return render(
        request,
        'formset.html',
        {
            'formset': formset,
            'titol_formulari': u"Missatge a professors tutors de l'alumne",
            'head': 'Avís a tutors.',
        },
    )