Running state of Pegnitz

This commit is contained in:
Markus Scherg 2024-08-07 11:38:32 +02:00
parent 5e2a7fe255
commit e515fd8ca2
16 changed files with 152 additions and 157 deletions

33
.env.dist Normal file
View File

@ -0,0 +1,33 @@
# This file is a "template" of which env vars need to be defined for your application
# Copy this file to .env file for development, create environment variables when deploying to production
# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration
###> symfony/framework-bundle ###
APP_ENV=dev
APP_SECRET=586055cc3c797be63e540ee4ac15fb5a
#TRUSTED_PROXIES=127.0.0.1,127.0.0.2
#TRUSTED_HOSTS=localhost,example.com
###< symfony/framework-bundle ###
###> doctrine/doctrine-bundle ###
# Format described at http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
# For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db"
# Configure your db driver and server_version in config/packages/doctrine.yaml
DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name
###< doctrine/doctrine-bundle ###
EINTRITTSDATUM_ERSTE_HAELFTE=2019-09-10
EINTRITTSDATUM_ZWEITE_HAELFTE=2020-09-11
WECHSEL_NKLASSEN_IMPORTKLASSE=2020-09-11
ADMIN_EMAIL=admin@test.de
ADMIN_PASSWORD=1234
###> symfony/mailer ###
MAILER_DSN=smtp://localhost
###< symfony/mailer ###
### Mail Settings ###
MAIL_HOST=smtp.office365.com
MAIL_USERNAME=test.scherg@schueler.bs1-bt.de
MAIL_PASSWORD=Ruy26605
MAIL_PORT=25
MAIL_SENT_FROM_ADDRESS=test.scherg@schueler.bs1-bt.de
MAIL_SENT_FROM_NAME='Anmeldung BS I Bayreuth'

View File

@ -8,6 +8,8 @@ framework:
# Remove or comment this section to explicitly disable session support.
session:
handler_id: ~
cookie_samesite: 'none'
cookie_secure: true
#esi: true
#fragments: true

View File

@ -8,6 +8,7 @@ services:
volumes:
- ./data:/var/lib/mysql
- ./db-entrypoint.sql:/docker-entrypoint-initdb.d/db_entrypoint.sql:ro
- ./my.cnf:/etc/mysql/my.cnf
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
@ -27,7 +28,7 @@ services:
- ${TMP_DIR}:/tmp
ports:
- "8000:8000" #Port Symfony
- "8080:80" #Port Apache2
- "127.0.0.1:8080:80" #Port Apache2
#Command für Testzwecke sinnvoll: Startet Symfony Testserver
#command: symfony server:start

View File

@ -0,0 +1,10 @@
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4

View File

@ -1,3 +1,6 @@
:root {
--school-primary: #0099ff; /* Default primary color for the school */
}
html{
height: 100%;
@ -20,7 +23,7 @@ body{
}
#progressbar .active {
color: #00377B;
color: var(--school-primary);
}
#progressbar li {
@ -80,8 +83,9 @@ body{
}
/* Farbe von Nummer und Connector */
#progressbar li.active:before, #progressbar li.active:after {
background: #00377B;
#progressbar li.active:before,
#progressbar li.active:after {
background: var(--school-primary);
}
/* Animiertes Fortschrittsbalken */
@ -90,34 +94,26 @@ body{
}
.progress-bar {
background-color: #00377B;
background-color: var(--school-primary);
}
.labelFont{
font-size: 20px;
font-weight: bold;
padding-top: 4%;
/* Buttons and other elements using school-primary */
.buttonFont {
font-weight: bolder !important;
font-size: 20px !important;
color: var(--school-primary);
}
.FontFirst{
font-size: 20px;
font-weight: bold;
.controlButton {
border-color: var(--school-primary) !important;
margin-bottom: 30px;
color: var(--school-primary) !important;
background-color: white;
}
.headlineFont{
font-weight: bold;
color: #00377B;
}
.buttonFont{
font-weight: bolder!important;
font-size: 20px!important;
color: #00377B;
}
.SpacingSides{
padding: inherit;
.controlButton:hover {
background-color: var(--school-primary) !important;
color: white !important;
}
.containerColor{
@ -129,114 +125,39 @@ body{
color: #FFFFFF;
}
.copyright{
background-color: #222222;
}
.SpacingTop{
padding-top: 2%;
}
.blankLink{
text-decoration: none!important;
.containerFooter {
background-color: var(--school-primary);
color: #FFFFFF;
}
.controlButton{
border-color: #00377B!important;
margin-bottom: 30px;
color: #00377B!important;
background-color: white;
}
.controlButton:hover{
background-color: #00377B!important;
color: white!important;
}
.greyFooter{
color: #7e7e7e;
border-bottom-style: dotted;
font-size: 15px!important;
}
.table{
table-layout:fixed;
}
.blankLinkButton{
color: black;
}
.jumbotron{
margin-bottom:0!important;
}
.smallButtonDistance{
margin-top: 2%;
}
.RadioBtnSchool{
margin-right: 10px;
font-size: large;
margin-bottom: 20px;
}
.invisibleItems{
visibility: hidden;
}
.confirmButton{
.confirmButton {
border-color: #00cc00;
}
.confirmButton:hover{
.confirmButton:hover {
background-color: #00cc00;
color: black;
}
.redHighlight{
color: red;
}
.headlineGlobal{
.headlineGlobal {
text-decoration: underline;
}
#copyright{
font-size: small;
text-align: center;
margin-top: 10px;
}
#copyright a{
text-decoration: none;
color: #a6a6a6;
}
.optimizedPicture{
background-image: url("/SchulansichtInDenLogofarbenSlideFarbe.png");
background-size: cover;
height: 120%;
}
/* Additional styles continue... */
@media only screen and (max-width: 768px) {
.hidePictures{
.hidePictures {
display: none;
}
}
@media only screen and (max-width: 400px) {
.hideLogo{
.hideLogo {
display: none;
}
}
.copyrightLine{
background-color: #a6a6a6;
margin-bottom: 10px;
}
/* Additional media queries and classes continue... */
.labelFontData{
font-size: medium;

View File

@ -17,6 +17,7 @@ use Dompdf\Options;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Cell\DataType;
use Doctrine\Persistence\ManagerRegistry;
@ -87,6 +88,27 @@ class AdminExport extends AbstractController
$pathASVxlsx = $dir . '/' . $fileNameASVxlsx;
//Load csv for old registrations
$spreadsheet = $reader->load($pathASV);
// convert all cells to STRING
$sheet = $spreadsheet->getActiveSheet();
foreach ($sheet->getRowIterator() as $row)
{
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell)
{
if (!is_null($cell))
{
$value = $cell->getValue();
if (is_numeric($value))
{
$cell->setValueExplicit($value, DataType::TYPE_STRING);
}
}
}
}
$writer = new Xlsx($spreadsheet);
$writer->save($pathASVxlsx);
$spreadsheet->disconnectWorksheets();

View File

@ -18,6 +18,7 @@ use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpKernel\Attribute\AsController;
use Exception;
use Doctrine\Persistence\ManagerRegistry;
use App\Repository\BetriebRepository;
class AnmeldungController extends AbstractController
{

View File

@ -87,24 +87,26 @@ class MailerController extends AbstractController
try {
//Server settings
$mail->isSMTP(); // Send using SMTP
$mail->Host = $_ENV['MAIL_HOST']; // Set the SMTP server to send through
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = $_ENV['MAIL_USERNAME']; // SMTP username
$mail->Password = $_ENV['MAIL_PASSWORD']; // SMTP password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` also accepted
$mail->Port = $_ENV['MAIL_PORT']; // TCP port to connect to
$mail->isSMTP(); // Send using SMTP
$mail->Host = $_ENV['MAIL_HOST']; // Set the SMTP server to send through
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = $_ENV['MAIL_USERNAME']; // SMTP username
$mail->Password = $_ENV['MAIL_PASSWORD']; // SMTP password
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` also accepted
$mail->Port = $_ENV['MAIL_PORT']; // TCP port to connect to
$mail->setFrom($_ENV['MAIL_SENT_FROM_ADDRESS'], $_ENV['MAIL_SENT_FROM_NAME']);
$mail->addAddress($schueler->getEmail()); // Email Schüler
if ($regtype == 'BIK' or $regtype == 'BGJZ' or $regtype == 'BGJH') {
} else{
$mail->addBCC($_ENV['MAIL_SECRETARY']);
if ($regtype != 'BIK' && $regtype != 'BGJZ' && $regtype != 'BGJH') {
$mail->addCC($ausbildung->getAusbilderemail());
}
}
$mail->isHTML(true);
$mail->CharSet ="UTF-8";
$mail->Subject = 'Online-Anmeldung Staatl. Berufsschule I Bayreuth';
$mail->Subject = 'Online-Anmeldung Staatl. Berufsschule Pegnitz';
$mail->Body = $htmlMail;
$mail->send();
@ -147,7 +149,7 @@ class MailerController extends AbstractController
$now = new DateTime();
//$filename = "./pdfdownload/AnmeldungBS1BT-".$untispasswort."-".$now->format('UY-m-dHis').".pdf";
$dir = $this->getParameter('dir.downloads');
$filename = $dir . "/bestaetigungen/AnmeldungBS1BT-".$untispasswort."-".$now->format('UY-m-dHis').".pdf";
$filename = $dir . "/bestaetigungen/AnmeldungBSPeg-".$untispasswort."-".$now->format('UY-m-dHis').".pdf";
file_put_contents($filename, $output);

View File

@ -20,14 +20,14 @@ class StartType extends AbstractType
'Ausbildung mit Ausbildungsvertrag' => 'AUAU',
'EQ-Maßnahme' => 'EQ',
'Umschüler mit Vertrag' => 'UM',
'Berufsgrundschuljahr: Holztechnik (Schreiner/Holzmechaniker)' => 'BGJH',
'Berufsgrundschuljahr: Zimmerer' => 'BGJZ',
//'Berufsgrundschuljahr: Holztechnik (Schreiner/Holzmechaniker)' => 'BGJH',
//'Berufsgrundschuljahr: Zimmerer' => 'BGJZ',
//'ohne Berufstätigkeit und arbeitslos' => 'OBA',
//'ungelernte Arbeitskräfte' => 'UAR',
//'Mithelfende Familienangehörige' => 'MF',
//'Ausbildung mit Praktikumsvertrag' => 'AUPR',
//'Berufsvorbereitungsjahr' => 'BVJ',
'Berufsintegrationsklasse (BIK)' => 'BIK'
//'Berufsintegrationsklasse (BIK)' => 'BIK'
]
])
->add('datenschutz', CheckboxType::class, [
@ -39,8 +39,8 @@ class StartType extends AbstractType
'label' => 'Schuljahr',
'placeholder' => 'Auswählen...',
'choices' => [
'für das kommende Schuljahr (ab 01.08.' . (intval(date("m")) < 8 ? date("Y") : (date("Y")+1)) . ')' => (intval(date("m")) < 8 ? date("Y") . "_" . (date("Y")+1) : (date("Y")+1) . "_" . (date("Y")+2)),
'für das laufende Schuljahr (bis 31.07.' . (intval(date("m")) < 8 ? date("Y") : (date("Y")+1)) . ')' => (intval(date("m")) < 8 ? date("Y") . "_" . (date("Y")+1) : (date("Y")+1) . "_" . (date("Y")+2))
'für das kommende Schuljahr (ab 01.08.' . (intval(date("m")) < 8 ? date("Y") : (date("Y")+1)) . ')' => (intval(date("m")) < 8 ? date("Y") . "_" . (date("Y")+1) : (date("Y")+1) . "_" . (date("Y")+2)),
'für das laufende Schuljahr (bis 31.07.' . (intval(date("m")) < 8 ? date("Y") : (date("Y")+1)) . ')' => (intval(date("m")) < 8 ? (date("Y") - 1) . "_" . date("Y") : date("Y") . "_" . (date("Y")+1))
],
'expanded' => true
]);

View File

@ -7,7 +7,7 @@
</div>
<label class="labelFont{{ form.wohnheim.vars.required ? ' required' }}">Unterbringung in Wohnheim gewünscht</label>
{{ form_widget(form.wohnheim) }}
<br><a href="https://bs1-bt.de/service-download/heimunterbringung" target="_blank">Hier für weitere Informationen zur Wohnheimunterbringung klicken.</a>
<br><a href="https://www.bs-pegnitz.de/blog/informationen-zum-berufsschulinternat-pegnitz/" target="_blank">Hier für weitere Informationen zur Wohnheimunterbringung klicken.</a>
</div>
</div>

View File

@ -4,11 +4,11 @@
<th style="text-align:left">Unterbringung in Wohnheim gewünscht:</th>
<td>{{ registrierung.wohnheim ? 'Ja' : 'Nein'}}
{% if registrierung.wohnheim == 1 %}<br>
<a href="https://bs1-bt.de/service-download/heimunterbringung" target="_blank">Hier für weitere Informationen zur Wohnheimunterbringung klicken.</a>{% endif %}
<a href="https://www.bs-pegnitz.de/blog/informationen-zum-berufsschulinternat-pegnitz/" target="_blank">Hier für weitere Informationen zur Wohnheimunterbringung klicken.</a>{% endif %}
</tr>
<tr>
<th style="text-align:left">Mitteilung an die Berufsschule I:</th>
<th style="text-align:left">Mitteilung an die Berufsschule Pegnitz:</th>
<td{% if registrierung.mitteilung is null %} class="font-weight-light font-italic"{% endif %}>{% if registrierung.mitteilung is not null %}{{ registrierung.mitteilung }}{% else %}Keine Mitteilung{% endif %}</td>
</tr>

View File

@ -9,7 +9,7 @@
</tr>
<tr>
<th>Mitteilung an die Berufsschule I</th>
<th>Mitteilung an die Berufsschule Pegnitz</th>
<td{% if registrierung.mitteilung is null %} class="font-weight-light font-italic"{% endif %}>{% if registrierung.mitteilung is not null %}{{ registrierung.mitteilung }}{% else %}Keine Mitteilung{% endif %}</td>
</tr>

View File

@ -51,21 +51,21 @@
<h1 class="headlineFont">Hinweise zum Schuljahresbeginn</h1>
<h3 class="headlineFont">Klasseneinteilung</h3>
Ihre vorläufige Klasse ist die {{klasse }}. Die aktuellen Blockpläne finden Sie <a href="https://bs1-bt.de/service-download/blockplaene" target="_blank"> hier</a>.<br>
Ihre vorläufige Klasse ist die {{klasse }}. Die aktuellen Blockpläne finden Sie <a href="https://www.bs-pegnitz.de/blog/blockplan/" target="_blank"> hier</a>.<br>
Eine <b>endgültige Klasseneinteilung</b> erfolgt erst zum neuen Schuljahr.<br>
Diese kann ab dem <b>01. September</b> in <a href="https://hepta.webuntis.com/WebUntis/?school=BS1BT#/basic/main WebUntis" target="_blank">WebUntis</a> eingesehen werden.<br>
Diese kann ab dem <b>01. September</b> in <a href="https://niobe.webuntis.com/WebUntis/?school=sbs-pegnitz#/basic/login" target="_blank">WebUntis</a> eingesehen werden.<br>
<b>Zugangsdaten für WebUntis:</b><br>
Benutzername: {{untisbenutzer}}<br>
Passwort: {{untispasswort}}<br><br>
<h3 class="headlineFont">Mitzubringende Unterlagen am 1. Schultag</h3>
<ul>
<li>Papier und Schreibzeug </li>
<li>Lehrvertrag (wenn bereits vorhanden) </li>
<li>Abschlusszeugnis (Kopie) der zuletzt besuchten Schule </li>
<li>Passbild (Name auf die Rückseite schreiben)</li>
<li>Abmeldebescheinigung der Mittelschule (gibt es nur für Mittelschüler)</li>
<li>Erhebungsbogen für Umschüler (nur Umschüler, <a href=" https://bs1-bt.de/service-download/erhebungsbogen-fuer-umschueler" target="_blank">Download hier</a>) </li>
<li>Kopie des Zeugnisses der zuletzt besuchten Schule (nur 10. Klasse) </li>
<li>Kopie des Ausbildungs- oder Umschulungsvertrages mit Eintragungsnummer und Prüfungsvormerkungen! (nur 10. Klasse oder bei Änderungen) </li>
<li>1 Passfoto (nur 10. Klasse)</li>
<li>Material- und Medienpauschale von 20,00 €</li>
<li>Unterrichtsmaterialien (z.B. Ordner mit Register, Block, Stifte, Textmarker, Taschenrechner, Zeichenmaterialien…)</li>
<li>fachlich korrekte Arbeitskleidung und Sicherheitsschuhe</li>
</ul><br>
<h3 class="headlineFont">Willkommensbroschüre</h3>

View File

@ -25,7 +25,7 @@
<div class="form-error">
{{ form_errors(form.datenschutz) }}
</div>
<span class="datenschutz{{ form.datenschutz.vars.required ? ' required' }}">Ich akzeptiere die <a href="https://www.bs1-bt.de/datenschutz" target="_blank">Datenschutzbestimmungen</a>:</span>
<span class="datenschutz{{ form.datenschutz.vars.required ? ' required' }}">Ich akzeptiere die <a href="https://www.bs-pegnitz.de/blog/datenschutz" target="_blank">Datenschutzbestimmungen</a>:</span>
{{ form_widget(form.datenschutz, {'attr':{'class':'fixSize'}}) }}
<br>
<br>

View File

@ -24,6 +24,7 @@
<body class="">
<!--
<header>
<div class="container containerColor ">
<div class="row SpacingTop SpacingSides">
@ -52,6 +53,7 @@
</div>
</div>
</header>
-->
<div id="content" class="container containerColor jumbotron p-1">
<div class="row">
@ -66,6 +68,7 @@
<br>
</div>
<!--
<div class="" id="footer">
{% block footer %}
<div class="container containerFooter">
@ -99,7 +102,7 @@
<div class="row">
<div class="col" id="copyright">
<hr class="copyrightLine">
<a href="https://www.youtube.com/watch?v=dQw4w9WgXcQ" target="_blank">&copy;</a><a> Schüler IFH11: Paul Baumg</a><a href="https://www.youtube.com/watch?v=hFkbCcEzMdM" target="_blank">ä</a><a>rtner, Felix <a/><a href="https://www.youtube.com/watch?v=d1YBv2mWll0" target="_blank">D</a><a>ietel, Leon Dresse</a><a href="https://www.youtube.com/watch?v=x40hgwSSNYE" target="_blank">l</a><a>, Marko Dzinovic, Niklas Grimm, Daniela Hofmann, Isabell Pan</a><a href="https://www.youtube.com/watch?v=MiuLvLobAs4" target="_blank">k</a><a>alla, Sarah Santo</a><a href="https://www.youtube.com/watch?v=MWIwBlUJjqA" target="_blank">s</a><a>, Sven </a><a href="https://www.youtube.com/watch?v=poa_QBvtIBA" target="_blank">S</a><a>chmidt, Martin Tissarek</a>
&copy; Schüler IFH11: Paul Baumgärtner, Felix Dietel, Leon Dressel, Marko Dzinovic, Niklas Grimm, Daniela Hofmann, Isabell Pankalla, Sarah Santos, Sven Schmidt, Martin Tissarek
<br>
<a href="https://github.com/SimonHaas/schulanmeldung" target="_blank" style="font-size: 5pt;">&copy; Schüler IFH12: Simon Haas, Christian Löwel, Max Großmann, Michelle Krebs, Tim Rochholz, Lisa Heinrich, Jan Kemnitzer - Lehrkraft Johannes Hösl</a>
<hr class="copyrightLine">
@ -111,6 +114,7 @@
{% endblock %}
</div>
</div>
-->
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->

View File

@ -1,5 +1,5 @@
{% block title %}<h1 class="headlineFont">Kopie der Anmeldedaten <br />an der Staatlichen Berufsschule 1 Bayreuth</h1>{% endblock %}
{% block title %}<h1 class="headlineFont">Kopie der Anmeldedaten <br />an der Staatlichen Berufsschule Pegnitz</h1>{% endblock %}
{% block body %}
{% if registrierung.typ != "AUAU" and registrierung.typ != "EQ" and registrierung.typ != "UM" %}
<div class="alert alert-info" role="alert">Sie kommen ohne Vertrag zu uns</div>
@ -39,24 +39,23 @@
<h1 class="headlineFont">Hinweise zum Schuljahresbeginn</h1>
<h3 class="headlineFont">Klasseneinteilung</h3>
Ihre vorläufige Klasse ist die {{klasse }}. Die vorläufigen Blockpläne finden Sie <a href="https://bs1-bt.de/service-download/blockplaene" target="_blank"> hier </a>.<br>
Ihre vorläufige Klasse ist die {{klasse }}. Die vorläufigen Blockpläne finden Sie <a href="https://www.bs-pegnitz.de/blog/blockplan/" target="_blank"> hier </a>.<br>
Eine <b>endgültige Klasseneinteilung</b> erfolgt erst zum neuen Schuljahr.<br>
Diese kann ab dem <b>01. September</b> in <a href="https://hepta.webuntis.com/WebUntis/?school=BS1BT#/basic/main WebUntis" target="_blank">WebUntis</a> eingesehen werden.<br>
Diese kann ab dem <b>01. September</b> in <a href="https://niobe.webuntis.com/WebUntis/?school=sbs-pegnitz#/basic/login" target="_blank">WebUntis</a> eingesehen werden.<br>
<b>Zugangsdaten für WebUntis:</b><br>
Benutzername: {{untisbenutzer}}<br>
Passwort: {{untispasswort}}<br><br>
<h3 class="headlineFont">Mitzubringende Unterlagen am 1. Schultag</h3>
<ul>
<li>Papier und Schreibzeug </li>
<li>Lehrvertrag (wenn bereits vorhanden) </li>
<li>Abschlusszeugnis (Kopie) der zuletzt besuchten Schule </li>
<li>Passbild (Name auf die Rückseite schreiben)</li>
<li>Abmeldebescheinigung der Mittelschule (gibt es nur für Mittelschüler)</li>
<li>Erhebungsbogen für Umschüler (nur Umschüler, <a href=" https://bs1-bt.de/service-download/erhebungsbogen-fuer-umschueler" target="_blank">Download hier</a>)</li>
<li>Kopie des Zeugnisses der zuletzt besuchten Schule (nur 10. Klasse) </li>
<li>Kopie des Ausbildungs- oder Umschulungsvertrages mit Eintragungsnummer und Prüfungsvormerkungen! (nur 10. Klasse oder bei Änderungen) </li>
<li>1 Passfoto (nur 10. Klasse)</li>
<li>Material- und Medienpauschale von 20,00 €</li>
<li>Unterrichtsmaterialien (z.B. Ordner mit Register, Block, Stifte, Textmarker, Taschenrechner, Zeichenmaterialien…)</li>
<li>fachlich korrekte Arbeitskleidung und Sicherheitsschuhe</li>
</ul><br>
<h3 class="headlineFont">Willkommensbroschüre</h3>
Viele weitergehende Fragen können mit Hilfe unserer <a href="https://bs1-bt.de/service-download/willkommensbroschuere" target="_blank">Willkommensbroschüre</a> geklärt werden, welche jeder Schüler zu Beginn des Schuljahres auch in gedruckter Form erhält.<br>
<br>
{% endblock %}