File: /var/www/dvpis2026/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'));
}
}