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 = triaAlumneForm( data = request.POST)
        formData= dataForm( data = request.POST  )
        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:
                msg.save()
                strTutors = u''
                separador = ''
                for tutor in tutors:
                    txt = u'''Missatge relatiu al teu alumne tutorat {0}: Amb data {1}, {2}'''.format( unicode(alumne), unicode(data), msg.text_missatge)
                    msg.text_missatge = txt
                    msg.envia_a_usuari(tutor.getUser(), 'IN')
                    msg.enllac = '/tutoria/justificaFaltes/{0}/{1}/{2}/{3}'.format( alumne.pk, data.year, data.month, data.day )
                    msg.save()
                    strTutors += separador + u'Sr(a)' + unicode(tutor )
                    separador = u', '
                txtMsg = msg.text_missatge
                
                #envio al que ho envia:
                msg = Missatge( remitent = user, text_missatge = u'''Avís a tutors de l'alumne {0} enviat a {1}. El text de l'avís és: "{2}"'''.format( alumne, strTutors, txtMsg ) )
                msg.envia_a_usuari(user, 'PI')
                
                url = '/missatgeria/elMeuMur/'  
                return HttpResponseRedirect( url )  
    else:
        formAlumne = triaAlumneForm( )
        formData = dataForm(  label='Data', help_text=u'El text del missatge començarà per: Amb data ______, ' )        
        msgForm = msgFormF(  )
    
    formData.fields['data'].required = True
    
    formset.append( formAlumne )
    formset.append( formData )
    formset.append( msgForm )
        
    return render_to_response(
                'formset.html',
                    {'formset': formset,
                     'head': 'Avís a tutors.' ,
                    },
                    context_instance=RequestContext(request))
Exemplo n.º 2
0
def enviaMissatgeProfessorsPas(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
        formProfessorConserge = triaProfessorsConsergesSelect2Form(data=request.POST)
        msgForm = msgFormF(data=request.POST, instance=msg)

        if formProfessorConserge.is_valid() and msgForm.is_valid():
            msg.tipus_de_missatge = 'MISSATGERIA'
            msg.save()
            professors_conserges = formProfessorConserge.cleaned_data['professors_conserges']
            destinataris_txt = ", ".join( unicode(pc) for pc in professors_conserges)
            for professor_conserge in professors_conserges:
                msg.envia_a_usuari(professor_conserge.getUser(), 'IN')

            # envio al que ho envia:
            missatge = ACUS_REBUT_ENVIAT_A_PROFE_O_PAS
            tipus_de_missatge = tipusMissatge(missatge)
            msg2 = Missatge(remitent=user,
                           text_missatge=missatge.format(
                               destinataris_txt,
                               msg.text_missatge),
                            tipus_de_missatge= tipus_de_missatge)
            msg2.envia_a_usuari(user, 'PI')
            msg2.destinatari_set.filter(destinatari = user).update(moment_lectura=datetime.now())

            messages.info(request, u"Missatge a {destinataris} enviat correctament".format(destinataris=destinataris_txt))

            if user.groups.filter(name="consergeria").exists():
                url = '/missatgeria/enviaMissatgeProfessorsPas/'
            else:
                url = '/missatgeria/elMeuMur/'
            return HttpResponseRedirect(url)
    else:
        formProfessorConserge = triaProfessorsConsergesSelect2Form()
        msgForm = msgFormF()

    formset.append(formProfessorConserge)
    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 i/o PAS",
         'head': u"Missatge a membres del professorat o consergeria",
         },
        )
Exemplo n.º 3
0
def enviaMissatgeAdministradors( 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
        msgForm = msgFormF( data = request.POST, instance = msg )        
        
        if msgForm.is_valid():           
            administradors = Group.objects.get_or_create( name = 'administradors' )[0].user_set.all()
            if len( administradors ) == 0:
                msgForm._errors.setdefault(NON_FIELD_ERRORS, []).append(  u'''No estan definits els administradors, sorry.'''  )
            else:
                missatge = ERROR_AL_PROGRAMA
                msg.text_missatge = missatge.format(msg.text_missatge)
                tipus_de_missatge = tipusMissatge(missatge)
                msg.tipus_de_missatge = tipus_de_missatge
                msg.save()
                strAdmins = u''
                separador = ''
                for administrador in administradors:
                    msg.envia_a_usuari(administrador, 'VI')
                    strAdmins += separador + u'Sr(a)' + unicode( administrador )
                    separador = u', '
                txtMsg = msg.text_missatge
                
                #envio al que ho envia:
                missatge = ACUS_REBUT_ERROR_AL_PROGRAMA
                tipus_de_missatge = tipusMissatge(missatge)
                msg = Missatge( remitent = user, text_missatge = missatge.format( txtMsg ), tipus_de_missatge = tipus_de_missatge )
                msg.envia_a_usuari(user, 'PI')
                
                url = '/missatgeria/elMeuMur/'
                return HttpResponseRedirect( url )  
    else:
        msgForm = msgFormF(  )
    
    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,
                     'head': u'''Avís a administradors. En cas d'error, sisplau, detalla clarament totes les passes per reproduir l'error.''' ,
                    },
                )
Exemplo n.º 4
0
def enviaMissatgeProfessorsPas(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
        formProfessorConserge = triaProfessorsConsergesSelect2Form(data=request.POST)
        msgForm = msgFormF(data=request.POST, instance=msg)

        if formProfessorConserge.is_valid() and msgForm.is_valid():
            msg.save()
            professors_conserges = formProfessorConserge.cleaned_data['professors_conserges']
            destinataris_txt = ", ".join( unicode(pc) for pc in professors_conserges)
            for professor_conserge in professors_conserges:
                msg.envia_a_usuari(professor_conserge.getUser(), 'IN')

            # envio al que ho envia:
            msg2 = Missatge(remitent=user,
                           text_missatge=u'''Missatge enviat a {0}. El text del missatge és: "{1}"'''.format(
                               destinataris_txt,
                               msg.text_missatge))
            msg2.envia_a_usuari(user, 'PI')
            msg2.destinatari_set.filter(destinatari = user).update(moment_lectura=datetime.now())

            messages.info(request, u"Missatge a {destinataris} enviat correctament".format(destinataris=destinataris_txt))

            if user.groups.filter(name="consergeria").exists():
                url = '/missatgeria/enviaMissatgeProfessorsPas/'
            else:
                url = '/missatgeria/elMeuMur/'
            return HttpResponseRedirect(url)
    else:
        formProfessorConserge = triaProfessorsConsergesSelect2Form()
        msgForm = msgFormF()

    formset.append(formProfessorConserge)
    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 i/o PAS",
         'head': u"Missatge a membres del professorat o consergeria",
         },
        )
Exemplo n.º 5
0
def enviaMissatgeAdministradors(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
        msgForm = msgFormF(data=request.POST, instance=msg)

        if msgForm.is_valid():
            administradors = Group.objects.get_or_create(
                name='administradors')[0].user_set.all()
            if len(administradors) == 0:
                msgForm._errors.setdefault(NON_FIELD_ERRORS, []).append(
                    u'''No estan definits els administradors, sorry.''')
            else:
                msg.text_missatge = u'''Avís d'error al programa: {0}'''.format(
                    msg.text_missatge)
                msg.save()
                strAdmins = u''
                separador = ''
                for administrador in administradors:
                    msg.envia_a_usuari(administrador, 'VI')
                    strAdmins += separador + u'Sr(a)' + unicode(administrador)
                    separador = u', '
                txtMsg = msg.text_missatge

                #envio al que ho envia:
                msg = Missatge(
                    remitent=user,
                    text_missatge=
                    u'''Avís a administradors enviat correctament. El text de l'avís és: "{0}"'''
                    .format(txtMsg))
                msg.envia_a_usuari(user, 'PI')

                url = '/missatgeria/elMeuMur/'
                return HttpResponseRedirect(url)
    else:
        msgForm = msgFormF()

    formset.append(msgForm)

    return render_to_response('formset.html', {
        'formset':
        formset,
        'head':
        u'''Avís a administradors. En cas d'error, sisplau, detalla clarament totes les passes per reproduir l'error.''',
    },
                              context_instance=RequestContext(request))
Exemplo n.º 6
0
def enviaMissatgeAdministradors( 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
        msgForm = msgFormF( data = request.POST, instance = msg )        
        
        if msgForm.is_valid():           
            administradors = Group.objects.get_or_create( name = 'administradors' )[0].user_set.all()
            if len( administradors ) == 0:
                msgForm._errors.setdefault(NON_FIELD_ERRORS, []).append(  u'''No estan definits els administradors, sorry.'''  )
            else:
                msg.text_missatge = u'''Avís d'error al programa: {0}'''.format(msg.text_missatge)
                msg.save()
                strAdmins = u''
                separador = ''
                for administrador in administradors:
                    msg.envia_a_usuari(administrador, 'VI')
                    strAdmins += separador + u'Sr(a)' + unicode( administrador )
                    separador = u', '
                txtMsg = msg.text_missatge
                
                #envio al que ho envia:
                msg = Missatge( remitent = user, text_missatge = u'''Avís a administradors enviat correctament. El text de l'avís és: "{0}"'''.format( txtMsg ) )
                msg.envia_a_usuari(user, 'PI')
                
                url = '/missatgeria/elMeuMur/'  
                return HttpResponseRedirect( url )  
    else:
        msgForm = msgFormF(  )
    
    formset.append( msgForm )
        
    return render_to_response(
                'formset.html',
                    {'formset': formset,
                     'head': u'''Avís a administradors. En cas d'error, sisplau, detalla clarament totes les passes per reproduir l'error.''' ,
                    },
                    context_instance=RequestContext(request))
Exemplo n.º 7
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.º 8
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.º 9
0
def enviaMissatgeAdministradors(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
        msgForm = msgFormF(data=request.POST, instance=msg)

        if msgForm.is_valid():
            administradors = Group.objects.get_or_create(
                name='administradors')[0].user_set.all()
            if len(administradors) == 0:
                msgForm._errors.setdefault(NON_FIELD_ERRORS, []).append(
                    u'''No estan definits els administradors, sorry.''')
            else:
                missatge = ERROR_AL_PROGRAMA
                msg.text_missatge = missatge.format(msg.text_missatge)
                tipus_de_missatge = tipusMissatge(missatge)
                msg.tipus_de_missatge = tipus_de_missatge
                msg.save()
                strAdmins = u''
                separador = ''
                for administrador in administradors:
                    msg.envia_a_usuari(administrador, 'VI')
                    strAdmins += separador + u'Sr(a)' + unicode(administrador)
                    separador = u', '
                txtMsg = msg.text_missatge

                #envio al que ho envia:
                missatge = ACUS_REBUT_ERROR_AL_PROGRAMA
                tipus_de_missatge = tipusMissatge(missatge)
                msg = Missatge(remitent=user,
                               text_missatge=missatge.format(txtMsg),
                               tipus_de_missatge=tipus_de_missatge)
                msg.envia_a_usuari(user, 'PI')

                url = '/missatgeria/elMeuMur/'
                return HttpResponseRedirect(url)
    else:
        msgForm = msgFormF()

    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,
            'head':
            u'''Avís a administradors. En cas d'error, sisplau, detalla clarament totes les passes per reproduir l'error.''',
        },
    )
Exemplo n.º 10
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:
                msg.save()
                request.session['consergeria_darrera_data'] = data
                strTutors = u''
                separador = ''
                for tutor in tutors:
                    txt = u'''Missatge relatiu al teu alumne tutorat {0}: Amb data {1}, {2}'''.format(
                        unicode(alumne), unicode(data), msg.text_missatge)
                    msg.text_missatge = txt
                    msg.envia_a_usuari(tutor.getUser(), 'IN')
                    msg.enllac = '/tutoria/justificaFaltes/{0}/{1}/{2}/{3}'.format(
                        alumne.pk, data.year, data.month, data.day)
                    msg.save()
                    strTutors += separador + u'Sr(a)' + unicode(tutor)
                    separador = u', '
                txtMsg = msg.text_missatge

                #envio al que ho envia:
                msg = Missatge(
                    remitent=user,
                    text_missatge=
                    u'''Avís a tutors de l'alumne {0} enviat a {1}. El text de l'avís és: "{2}"'''
                    .format(alumne, strTutors, txtMsg))
                msg.envia_a_usuari(user, 'PI')

                url = '/missatgeria/elMeuMur/'
                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)

    return render_to_response('formset.html', {
        'formset': formset,
        'head': 'Avís a tutors.',
    },
                              context_instance=RequestContext(request))