def modify_conventie_input(conventie, nume, functie, email, phone, fax,
                           signature):
    '''
    Actualizeaza contentul conventiei din baza de date cu datele primite ca parametrii
    '''
    content = conventie.get_content()
    replaced_content = ""

    from io import StringIO
    s = StringIO(content)
    for line in s:
        line = line.replace("SupervisorFunction Function",
                            "SupervisorFunction " + nume)
        line = line.replace("SupervisorName Name", "SupervisorName " + functie)
        line = line.replace("SupervisorEmail Email",
                            "SupervisorEmail " + email)
        line = line.replace("SupervisorPhone Phone",
                            "SupervisorPhone " + phone)
        line = line.replace("SupervisorFax Fax", "SupervisorFax " + fax)
        if "SupervizorSignature" in line:
            line = "SupervizorSignature " + signature + "\n"
        replaced_content = replaced_content + line

    conventie.set_content(replaced_content)
    conventie.set_completedByCadruDidacticSupervizor(True)

    conventieRepo = ConventieRepository()
    conventieService = ConventieService(conventieRepo)
    conventieService.update(conventie)
def conventie():
    tInfoRepo = TutorInfoRepository()
    tInfoServ = TutorInfoService(tInfoRepo)
    conventiiDeModificat = []
    conventieRepo = ConventieRepository()
    conventieService = ConventieService(conventieRepo)
    studentInternshipRepo = StudentInternshipRepository()
    studentInternshipServ = StudentInternshipService(studentInternshipRepo)
    conventii = conventieService.getAll()
    for conventie in conventii:
        try:
            if studentInternshipServ.getOne(
                    conventie.get_id()).tutor_id == session["id"]:
                if conventie.get_completedByStudent(
                ) == True and conventie.get_completedByFirmaTutori() == False:
                    conventiiDeModificat.append(conventie)
                    print("s-a adaugat conventia cu id-ul:",
                          conventie.get_id())
        except:
            continue

    if request.method == "POST":
        # tutorname = request.form["tutorname"]
        # tutorfunction = request.form["tutorfunction"]
        info = tInfoServ.getOne(session["id"])
        tutorname = info.name
        tutorfunction = info.function
        signature = request.form["signature"]

        repoStudInf = StudentInfoRepository()
        servStudInf = StudentInfoService(repoStudInf)
        numeStudenti = []
        for conventie in conventiiDeModificat:
            modify_conventie_input(conventie, tutorname, tutorfunction,
                                   signature)
            numeStudenti.append(servStudInf.getOne(conventie.get_id()).name)
        mesaj = "Ati modificat cu succes conventiile urmatorilor studenti: "
        for nume in numeStudenti:
            mesaj = mesaj + str(nume) + "; "
        flash(mesaj)

        return render_template("firmaTutore/homeTutoreFirma.html")
    else:  # GET
        try:
            info = tInfoServ.getOne(session["id"])

            if len(conventiiDeModificat) == 0:
                flash("Nu sunt conventii de completat!")
                return render_template("firmaTutore/homeTutoreFirma.html")
            return render_template("firmaTutore/conventieTutoreFirma.html")
        except:
            flash(
                "Completati datele generale inainte de completarea conventiei!"
            )
            # return render_template("student/homeStudent.html")
            return render_template("firmaTutore/homeTutoreFirma.html")
def conventie():
    supervizorRepo = SupervisorInfoRepository()
    supervizorService = SupervisorInfoService(supervizorRepo)
    conventiiDeModificat = []
    conventieRepo = ConventieRepository()
    conventieService = ConventieService(conventieRepo)
    studentInternshipRepo = StudentInternshipRepository()
    studentInternshipServ = StudentInternshipService(studentInternshipRepo)
    conventii = conventieService.getAll()
    for conventie in conventii:
        try:
            if studentInternshipServ.getOne(
                    conventie.get_id()).supervisor_id == session["id"]:
                if conventie.get_completedByStudent(
                ) == True and conventie.get_completedByFirmaResponsabil(
                ) == True and conventie.get_completedByFirmaTutori(
                ) == True and conventie.get_completedByCadruDidacticSupervizor(
                ) == False:
                    conventiiDeModificat.append(conventie)
        except:
            continue

    if request.method == "POST":
        info = supervizorService.getOne(session["id"])
        nume = info.name
        functie = info.specialization
        email = info.email
        phone = info.phone
        fax = info.fax
        signature = request.form["signature"]

        repoStudInf = StudentInfoRepository()
        servStudInf = StudentInfoService(repoStudInf)
        numeStudenti = []
        for conventie in conventiiDeModificat:
            modify_conventie_input(conventie, nume, functie, email, phone, fax,
                                   signature)
            numeStudenti.append(servStudInf.getOne(conventie.get_id()).name)
        mesaj = "Ati modificat cu succes conventiile urmatorilor studenti: "
        for nume in numeStudenti:
            mesaj = mesaj + str(nume) + "; "
        flash(mesaj)

        return render_template(
            "cadruDidacticSupervizor/homeCadruDidacticSupervizor.html")
    else:
        if len(conventiiDeModificat) == 0:
            flash("Nu sunt conventii de completat!")
            return render_template(
                "cadruDidacticSupervizor/homeCadruDidacticSupervizor.html")
        return render_template(
            "cadruDidacticSupervizor/conventieCadruDidacticSupervizor.html")
Exemple #4
0
def download_conventie():
    conventieRepo = ConventieRepository()
    conventieService = ConventieService(conventieRepo)
    try:
        conventie = conventieService.getOne(session["id"])
        content = conventie.get_blobContent()

        return Response(content,
                        mimetype="application/pdf",
                        headers={
                            "Content-disposition":
                            "attachment; "
                            "filename=conventie.pdf"
                        })
    except:
        flash("Completati mai intai conventia!")
        return redirect(url_for("student.home"))
Exemple #5
0
def conventie():
    repoStudInf = StudentInfoRepository()
    servStudInf = StudentInfoService(repoStudInf)

    conventieRepo = ConventieRepository()
    conventieService = ConventieService(conventieRepo)
    conventii = conventieService.getAll()
    conventiiDeModificat =[]
    numeStudenti = []

    for conventie in conventii:
        if conventie.get_completedByStudent() == True and conventie.get_completedByFirmaResponsabil() == True and conventie.get_completedByFirmaTutori() == True and conventie.get_completedByCadruDidacticSupervizor() == True and conventie.get_completedByDecan() == False:
            conventiiDeModificat.append(conventie)
    if request.method == "POST":
        signature = request.form["signature"]

        for conventie in conventiiDeModificat:
                conventieDeModificat = conventie
                conventieDeModificat = modify_conventie_input(conventieDeModificat,signature)
                infoStud = servStudInf.getOne(conventie.get_id())
                numeStud=infoStud.name
                numeStudenti.append(numeStud)
                mailSubject = infoStud.specialization +","+infoStud.name +",2021,"+"C"  #sectie nume promotie tipdoc(A,C,R,E)
                file_name= infoStud.name+"Conventie.pdf"
                create_pdf_from_files_and_doc("ConventiePractica.pdf", file_name, conventieDeModificat,mailSubject)

        mesaj = "Ati semnat cu succes conventiile urmatorilor studenti: "
        for nume in numeStudenti:
            mesaj = mesaj + str(nume) + "; "
        flash(mesaj)

        return render_template("decan/homeDecan.html")
    else:
        if len(conventiiDeModificat)==0:
            flash("Nu s-au gasit conventii de modificat")
            return render_template("decan/homeDecan.html")

        return render_template("decan/conventieDecan.html")
Exemple #6
0
def modify_conventie_input(conventie,signature):
    '''
    Actualizeaza contentul conventiei din baza de date cu datele primite ca parametrii
    '''
    content = conventie.get_content()
    replaced_content = ""
    from datetime import date, datetime
    from io import StringIO
    s = StringIO(content)
    for line in s:
        line = line.replace("SignUniversityDate Date", "SignUniversityDate " + str(date.today()))
        if "DecanSignature" in line:
            line= "DecanSignature "+signature+"\n"
        replaced_content = replaced_content + line

    conventie.set_content(replaced_content)
    conventie.set_completedByDecan(True)

    conventieRepo = ConventieRepository()
    conventieService = ConventieService(conventieRepo)
    conventieService.update(conventie)

    return conventie
def modify_conventie_input(conventie, name, function, signature):
    '''
    Actualizeaza contentul conventiei din baza de date cu datele primite ca parametrii
    '''
    content = conventie.get_content()
    replaced_content = ""

    from io import StringIO
    s = StringIO(content)
    for line in s:
        if "AcknowledgementTutorName" in line:
            line = "AcknowledgementTutorName " + name
        if "AcknowledgementSupervisorFunction" in line:
            line = "AcknowledgementSupervisorFunction " + function
        if "TutorSignature" in line:
            line = "TutorSignature " + signature
        replaced_content = replaced_content + line + "\n"
    print(conventie.get_content())
    conventie.set_content(replaced_content)
    conventie.set_completedByFirmaTutori(True)

    conventieRepo = ConventieRepository()
    conventieService = ConventieService(conventieRepo)
    conventieService.update(conventie)
def modify_conventie_input(conventie, firm, city, street, number, phone, fax,
                           email, code, account, banca, representative,
                           function, address, hours, startInternshipDate,
                           endInternshipDate, tutor, tutorfunction, tutorphone,
                           tutorfax, tutormail, date, signature, awardsGranted,
                           rewardsGranted, otherConditions, workContract,
                           noWorkContract, EUFinanced, projectBased,
                           projectName):
    '''
    Actualizeaza contentul conventiei din baza de date cu datele primite ca parametrii
    '''
    content = conventie.get_content()
    replaced_content = ""

    from io import StringIO
    s = StringIO(content)
    for line in s:

        line = line.replace("CompanyName Name", "CompanyName " + firm)
        line = line.replace("CompanyCity City", "CompanyCity " + city)
        line = line.replace("CompanyStreet Street", "CompanyStreet  " + street)
        line = line.replace("CompanyStreetNo StreetNo",
                            "CompanyStreetNo " + number)
        line = line.replace("CompanyFax Fax", "CompanyFax " + fax)
        line = line.replace("CompanyPhone 1234567890", "CompanyPhone " + phone)
        line = line.replace("CompanyEmail Email", "CompanyEmail " + email)
        line = line.replace("CompanyFiscalCode FiscalCode",
                            "CompanyFiscalCode " + code)
        line = line.replace("CompanyAccount Account",
                            "CompanyAccount " + account)
        line = line.replace("CompanyBank Bank", "CompanyBank " + banca)
        line = line.replace("CompanyRepresentative RepresentativeName",
                            "CompanyRepresentative " + representative)
        line = line.replace("CompanyRepresentativeRole Role",
                            "CompanyRepresentativeRole " + function)
        line = line.replace("CompanyAddress Address",
                            "CompanyAddress " + address)
        line = line.replace("InternshipLength 120",
                            "InternshipLength " + hours)
        line = line.replace("InternshipStartDate 2020.10.10",
                            "InternshipStartDate " + startInternshipDate)
        line = line.replace("InternshipEndDate 2021.10.10",
                            "InternshipEndDate " + endInternshipDate)
        line = line.replace("TutorName Name", "TutorName " + tutor)
        line = line.replace("TutorPhone Phone", "TutorPhone " + tutorphone)
        line = line.replace("TutorFax Fax", "TutorFax " + tutorfax)
        line = line.replace("TutorEmail Email", "TutorEmail " + tutormail)
        line = line.replace("TutorFunction Function",
                            "TutorFunction " + tutorfunction)
        # art12
        line = line.replace("AwardsGranted None",
                            "AwardsGranted " + awardsGranted)
        line = line.replace("RewardsGranted None",
                            "RewardsGranted " + rewardsGranted)
        line = line.replace("OtherConditions -",
                            "OtherConditions " + otherConditions)
        # art12
        #art14
        if "WorkContract" in line and workContract == "1":
            line = "WorkContract 1\n"
        if "WorkContract" in line and workContract == "0":
            line = ""
        if "noWorkContract" in line and noWorkContract == "1":
            line = "noWorkContract 1\n"
        if "noWorkContract" in line and noWorkContract == "0":
            line = ""
        if "EUFinanced" in line and EUFinanced == "1":
            line = "EUFinanced 1\n"
        if "EUFinanced" in line and EUFinanced == "0":
            line = ""
        if "ProjectBased" in line and projectBased == "1":
            line = "projectBased 1\n"
        if "ProjectBased" in line and projectBased == "0":
            line = ""
        if "ProjectName" in line and projectName != "-":
            line = "ProjectName " + projectName + "\n"
        if "ProjectName" in line and projectName == "-":
            line = ""
        if "ReprezentantSignature" in line:
            line = "ReprezentantSignature " + signature + "\n"
        line = line.replace("ProjectName None", "ProjectName " + projectName)
        #art14 done
        line = line.replace("ConventionSignDate Date",
                            "ConventionSignDate " + date)
        line = line.replace("SignRepresentativeName Name",
                            "SignRepresentativeName " + representative)
        line = line.replace("SignRepresentativeDate Date",
                            "SignRepresentativeDate " + date)
        line = line.replace("AcknowledgementSupervisorName Name",
                            "AcknowledgementSupervisorName " + representative)
        line = line.replace("SignRepresentativeDate Date",
                            "SignRepresentativeDate " + date)
        line = line.replace("AcknowledgementTutorName Name",
                            "AcknowledgementTutorName " + tutor)
        line = line.replace("AcknowledgementTutorFunction Function",
                            "AcknowledgementTutorFunction " + tutorfunction)
        line = line.replace("AcknowledgementTutorDate Date",
                            "AcknowledgementTutorDate " + date)
        line = line.replace("AcknowledgementSupervisorDate Date",
                            "AcknowledgementSupervisorDate " + date)

        replaced_content = replaced_content + line
    #print(replaced_content)
    conventie.set_content(replaced_content)
    conventie.set_completedByFirmaResponsabil(True)

    conventieRepo = ConventieRepository()
    conventieService = ConventieService(conventieRepo)
    conventieService.update(conventie)
def conventie():
    from datetime import date, datetime
    companyInfoRepo = CompanyInfoRepository()
    companyInfoServ = CompanyInfoService(companyInfoRepo)

    intershipRepo = InternshipRepository()
    internshipServ = InternshipService(intershipRepo)
    idintership = internshipServ.get_by_representative_id(session["id"]).id
    internship = internshipServ.getOne(idintership)

    studentInternshipRepo = StudentInternshipRepository()
    studentInternshipServ = StudentInternshipService(studentInternshipRepo)
    tInfoRepo = TutorInfoRepository()
    tInfoServ = TutorInfoService(tInfoRepo)

    conventieRepo = ConventieRepository()
    conventieService = ConventieService(conventieRepo)
    conventii = []  #lista conventiilor

    repoStudInf = StudentInfoRepository()
    servStudInf = StudentInfoService(repoStudInf)
    for studentInternship in studentInternshipServ.getAll():
        if studentInternship.internship_id == idintership:
            conventii.append(
                conventieService.getOne(studentInternship.student_id))

    #conventii = [] contine lista conventiilor ce tin de reprezentatul_firmei logat
    #urmeaza sa filtrez daca acestea au fost modificate de student
    conventiiDeModificat = []

    for conventie in conventii:

        try:
            if conventie.get_completedByStudent(
            ) == True and conventie.get_completedByFirmaTutori(
            ) == True and conventie.get_completedByFirmaResponsabil() == False:
                conventiiDeModificat.append(conventie)
        except:
            continue

    if request.method == "POST":
        info = companyInfoServ.getOne(session["id"])
        firm = info.name
        city = info.city
        street = info.street
        number = info.streetNo
        phone = info.phone
        fax = info.fax
        email = info.email
        code = info.fiscalCode
        account = info.iban
        banca = info.bank
        representative = info.legalRepresentative
        function = info.legalRepresentativeFunction
        address = info.adresaStagiuPractica
        startInternshipDate = str(internship.start_date)
        endInternshipDate = str(internship.end_date)
        awardsGranted = internship.awards
        rewardsGranted = internship.rewards
        otherConditions = internship.otherConditions
        hours = internship.hours

        #au valori de 0, si unul singur are 1. Cele cu 0 nu trebuie adaugate in obiect
        workContract = internship.workContract
        woWorkContract = internship.noWorkContract
        EUFinanced = internship.EUFinanced
        projectBased = internship.projectBased
        projectName = internship.projectName

        date = str(date.today())
        signature = request.form["signature"]
        #numeStudentSelect = request.form['numeStudent']

        numeStudenti = []
        for conventie in conventiiDeModificat:
            numeStudenti.append(servStudInf.getOne(conventie.get_id()).name)
            #adaug aici datele pentru tutorele studentului respectiv
            studentInternship = studentInternshipServ.get_by_student_id(
                conventie.get_id())
            tutorInfo = tInfoServ.getOne(studentInternship.tutor_id)
            tutor = tutorInfo.name
            tutorfunction = tutorInfo.function
            tutorphone = tutorInfo.phone
            tutorfax = tutorInfo.fax
            tutormail = tutorInfo.email

            modify_conventie_input(
                conventie, firm, city, street, number, phone, fax, email, code,
                account, banca, representative, function, address, hours,
                startInternshipDate, endInternshipDate, tutor, tutorfunction,
                tutorphone, tutorfax, tutormail, date, signature,
                awardsGranted, rewardsGranted, otherConditions, workContract,
                woWorkContract, EUFinanced, projectBased, projectName)
        mesaj = "Ati modificat cu succes conventiile urmatorilor studenti: "
        for nume in numeStudenti:
            mesaj = mesaj + str(nume) + "; "
        flash(mesaj)
        return render_template("firmaResponsabil/homeResponsabilFirma.html")
    else:
        try:
            info = companyInfoServ.getAll()
            if len(conventiiDeModificat) == 0:
                flash("Nu sunt conventii de completat!")
                return render_template(
                    "firmaResponsabil/homeResponsabilFirma.html")
            return render_template(
                "firmaResponsabil/conventieResponsabilFirma.html")
        except:
            flash(
                "Completati datele generale inainte de completarea conventiei!"
            )
            # return render_template("student/homeStudent.html")
            return render_template(
                "firmaResponsabil/homeResponsabilFirma.html")
Exemple #10
0
def create_conventie_input(name, country, city, street, number, apartment,
                           county, phone, email, cnp, series, id, birthdate,
                           birthcity, function, year, group, specialty,
                           lineOfStudy, date, signature):
    import os
    dir_location = os.getcwd()
    while dir_location[-1] != "\\":
        dir_location = dir_location[:-1]
    dir_location_input = dir_location[:-1] + "\\forms\\conventie_input.txt"
    k = 0
    file = open(dir_location_input, "r")
    replaced_content = ""
    for line in file:
        line = line.strip()
        if "StudentName" in line and k == 0:
            k = k + 1
            line = "StudentName " + name
        if "StudentCity" in line:
            line = "StudentCity " + city
        if "StudentStreet" in line:
            line = "StudentStreet " + street
        if "StudentPNC" in line:
            line = "StudentPNC " + cnp
        if "StudentDateOfBirth" in line:
            line = "StudentDateOfBirth " + birthdate
        if "StudentPhone" in line:
            line = "StudentPhone " + phone
        if "StudentEmail" in line:
            line = "StudentEmail " + email
        if "StudentCounty" in line:
            line = "StudentCounty " + county
        if "StudentApartment" in line:
            line = "StudentApartment " + apartment
        if "StudentStudyLine" in line:
            line = "StudentStudyLine " + lineOfStudy
        if "StudentRole" in line:
            line = "StudentRole " + function
        if "StudentBirthLocation" in line:
            line = "StudentBirthLocation " + birthcity
        if "StudentSpecialization" in line:
            line = "StudentSpecialization " + specialty
        if "StudentNationality" in line:
            line = "StudentNationality " + country
        if "StudentGroup" in line:
            line = "StudentGroup " + group
        if "StudentYear" in line:
            line = "StudentYear " + str(year)
        if "StudentICSeries" in line:
            line = "StudentICSeries " + series
        if "StudentStreetNo" in line:
            line = "StudentStreetNo " + number
        if "StudentICNo" in line:
            line = "StudentICNo " + id
        if "StudentNationality" in line:
            line = "StudentNationality " + country
        if "SignStudentDate" in line:
            line = "SignStudentDate " + date
        if "StudentSignature" in line:
            line = "StudentSignature " + signature
        if "SignStudentName" in line:
            line = "SignStudentName " + name
        replaced_content = replaced_content + line + "\n"

    file.close()

    from domain.conventie_input import ConventieInput
    conventieRepo = ConventieRepository()
    conventieService = ConventieService(conventieRepo)
    conventie = ConventieInput(session["id"], replaced_content)
    conventie.set_completedByStudent(True)
    try:
        #flash("Ati modificat datele conventiei cu succes!")
        conventieService.update(conventie)
    except:
        flash("Ati completat conventia cu succes!")
        conventieService.add(conventie)

    conv = conventieService.getOne(session["id"])
    blobContent = create_pdf_from_files_and_doc("ConventiePractica.pdf",
                                                "conventie.pdf", conv, None)
    conv.set_blobContent(blobContent)
    conventieService.update(conv)