HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/dvpis2025/dvpis.kaunokolegija.lt/src/Controller/DeleteDataController.php
<?php

namespace App\Controller;

use App\Entity\AcademicGroup;
use App\Entity\AcademicGroupPlan;
use App\Entity\ActivitiesPlan;
use App\Entity\FinalEgzam;
use App\Entity\FinalEgzamHistory;
use App\Entity\FinalProject;
use App\Entity\FinalProjectHistory;
use App\Entity\LecturerAgreement;
use App\Entity\LecturerPlan;
use App\Entity\LecturerPlanHistory;
use App\Entity\LecturerWorkTimePlan;
use App\Entity\Poll\Answer;
use App\Entity\Poll\AnswerRow;
use App\Entity\Poll\Summary;
use App\Entity\StudentCountProgramPlan;
use App\Entity\StudiesModule;
use App\Entity\StudiesProgramPlan;
use App\Entity\StudiesProgramPostFinance;
use Doctrine\DBAL\Exception;
use Doctrine\ORM\EntityManagerInterface;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use App\Entity\KtvLecturer;
use App\Entity\Lecturer;
use App\Entity\LecturerApprovedActivities;
use App\Entity\LecturerTeachingLanguage;
use App\Entity\MeovLecturer;
use App\Entity\TmmvLecturer;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;

/**
 * ProcessDates controller.
 *
 * @Security("is_granted('ROLE_STUDY_DEPARTMENT')")
 */
#[Route(path: 'deletedata')]
class DeleteDataController extends AbstractController
{
    public function __construct(
        private readonly EntityManagerInterface $em,
    ) {
    }

    /**
     * Lists all processDate entities.
     *
     * @Method("GET")
     */
    #[Route(path: '/', name: 'deletedata_index')]
    public function indexAction()
    {

        return $this->render('deletedata/index.html.twig');
    }

    /**
     * Creates a new processDate entity.
     *
     * @Method({"POST"})
     */
    #[Route(path: '/delete', name: 'deletedata_delete')]
    public function deleteAction(Request $request)
    {


        if ($request->request->get('lecturerworktimeplan') === "1") {
            try {
                $this->em->getRepository(LecturerWorkTimePlan::class)->deleteAll();

                $this->addFlash('success', "Duomenys pašalinti: 0 Dėstytojai > Dėstytojo darbo laiko apribojimai");
            } catch (Exception $ex) {
                $this->addFlash('alert', "lecturerworktimeplan: Ištrinti nepavyko! Įrašai gali turėti susijusių įrašų, juos reiktų pašalinti pirmiausia. " . $ex->getMessage());
            }
        }

        if ($request->request->get('studiesprogrampostfinance') === "1") {
            try {
                $this->em->getRepository(StudiesProgramPostFinance::class)->deleteAll();

                $this->addFlash('success', "Duomenys pašalinti: 0 Finansavimas > Studijų programos finansavimas");
            } catch (Exception $ex) {
                $this->addFlash('alert', "studiesprogrampostfinance: Ištrinti nepavyko! Įrašai gali turėti susijusių įrašų, juos reiktų pašalinti pirmiausia. " . $ex->getMessage());
            }
        }

        if ($request->request->get('studentcount') === "1") {
            try {
                $this->em->getRepository(StudentCountProgramPlan::class)->deleteAll();

                $this->addFlash('success', "Duomenys pašalinti: 0 Informacija > Studentų skaičiai");
            } catch (Exception $ex) {
                $this->addFlash('alert', "studentcount:Ištrinti nepavyko! Įrašai gali turėti susijusių įrašų, juos reiktų pašalinti pirmiausia. " . $ex->getMessage());
            }
        }

        if ($request->request->get('ktvmeovtmmv') === "1") {
            try {
                $this->em->getRepository(TmmvLecturer::class)->deleteAll();
                $this->em->getRepository(MeovLecturer::class)->deleteAll();
                $this->em->getRepository(KtvLecturer::class)->deleteAll();

                $this->em->getRepository(LecturerApprovedActivities::class)->deleteAll();

                $this->addFlash('success', "Duomenys pašalinti: 1 Tmmv, Meov, Ktv > Planavimas/Įvykdymas");
            } catch (Exception $ex) {
                $this->addFlash('alert', "fact:Ištrinti nepavyko! Įrašai gali turėti susijusių įrašų, juos reiktų pašalinti pirmiausia. " . $ex->getMessage());
            }
        }

        if ($request->request->get('planning') === "1") {
            try {
                $this->em->getRepository(FinalEgzam::class)->deleteAll();
                $this->em->getRepository(FinalEgzamHistory::class)->deleteAll();
                $this->em->getRepository(FinalProject::class)->deleteAll();
                $this->em->getRepository(FinalProjectHistory::class)->deleteAll();
                $this->em->getRepository(LecturerPlan::class)->deleteAll();
                $this->em->getRepository(LecturerPlanHistory::class)->deleteAll();
                $this->em->getRepository(AcademicGroupPlan::class)->deleteAll();
                $this->em->getRepository(ActivitiesPlan::class)->deleteAll();

                $this->addFlash('success', "Duomenys pašalinti: 2 Planavimas > visa planavimo informacija");
            } catch (Exception $ex) {
                $this->addFlash('alert', "planning: Ištrinti nepavyko! Įrašai gali turėti susijusių įrašų, juos reiktų pašalinti pirmiausia. " . $ex->getMessage());
            }
        }

        if ($request->request->get('lecturerplan') === "1") {
            try {
                $this->em->getRepository(LecturerPlan::class)->deleteAll();

                $this->addFlash('success', "Duomenys pašalinti: Studiju programų vykdymo plano duomenys(destytoju valandas)");
            } catch (Exception $ex) {
                $this->addFlash('alert', "lecturerplan: Ištrinti nepavyko! Įrašai gali turėti susijusių įrašų, juos reiktų pašalinti pirmiausia. " . $ex->getMessage());
            }
        }

        if ($request->request->get('studiesprogramplan') === "1") {
            try {
                $this->em->getRepository(StudiesProgramPlan::class)->deleteAll();

                $this->addFlash('success', "Duomenys pašalinti: 3. Informacija > Studijų programų planai");
            } catch (Exception $ex) {
                $this->addFlash('alert', "studiesprogramplan: Ištrinti nepavyko! Įrašai gali turėti susijusių įrašų, juos reiktų pašalinti pirmiausia. " . $ex->getMessage());
            }
        }

        if ($request->request->get('studiesmodule') === "1") {
            try {
                $this->em->getRepository(StudiesModule::class)->deleteAll();

                $this->addFlash('success', "Duomenys pašalinti: 4. Informacija > Studijų dalykai/moduliai");
            } catch (Exception $ex) {
                $this->addFlash('alert', "studiesmodule: Ištrinti nepavyko! Įrašai gali turėti susijusių įrašų, juos reiktų pašalinti pirmiausia. " . $ex->getMessage());
            }
        }


        if ($request->request->get('academicgroup') === "1") {
            try {
                $this->em->getRepository(AcademicGroup::class)->deleteAll();

                $this->addFlash('success', "Duomenys pašalinti: 5. Informacija > Akademinės grupės");
            } catch (Exception $ex) {
                $this->addFlash('alert', "academicgroup: Ištrinti nepavyko! Įrašai gali turėti susijusių įrašų, juos reiktų pašalinti pirmiausia. " . $ex->getMessage());
            }
        }

        if ($request->request->get('poll') === "1") {
            try {
                $this->em->getRepository(Summary::class)->deleteAll();
                $this->em->getRepository(Answer::class)->deleteAll();
                $this->em->getRepository(AnswerRow::class)->deleteAll();
                $this->addFlash('success', "Duomenys pašalinti: Dėstytojo metų veiklos savianalizės formos rezultatai ");
            } catch (Exception $ex) {
                $this->addFlash('alert', "Poll\\Summary: Ištrinti nepavyko! Įrašai gali turėti susijusių įrašų, juos reiktų pašalinti pirmiausia. " . $ex->getMessage());
            }
        }

        if ($request->request->get('lecturerteachinglanguage') === "1") {
            try {
                $this->em->getRepository(LecturerTeachingLanguage::class)->deleteAll();

                $this->addFlash('success', "Duomenys pašalinti: Dėstytojai -> Dėstytojų dėstymo kalbos");
            } catch (Exception $ex) {
                $this->addFlash('alert', "lecturerteachinglanguage: Ištrinti nepavyko! Įrašai gali turėti susijusių įrašų, juos reiktų pašalinti pirmiausia. " . $ex->getMessage());
            }
        }

        if ($request->request->get('lectureragreement') === "1") {
            try {
                $this->em->getRepository(LecturerAgreement::class)->deleteAll();

                $this->addFlash('success', "Duomenys pašalinti: Dėstytojai -> Sutartys");
            } catch (Exception $ex) {
                $this->addFlash('alert', "lectureragreement: Ištrinti nepavyko! Įrašai gali turėti susijusių įrašų, juos reiktų pašalinti pirmiausia. " . $ex->getMessage());
            }
        }

        if ($request->request->get('lecturer') === "1") {
            try {
                $this->em->getRepository(Lecturer::class)->deleteAll();

                $this->addFlash('success', "Duomenys pašalinti: Dėstytojai -> Dėstytojai");
            } catch (Exception $ex) {
                $this->addFlash('alert', "lecturer: Ištrinti nepavyko! Įrašai gali turėti susijusių įrašų, juos reiktų pašalinti pirmiausia. " . $ex->getMessage());
            }
        }

        return $this->redirect($this->generateUrl('deletedata_index'));
    }
}