Modification of single places is now functional.

This commit is contained in:
2019-06-27 16:33:56 +02:00
parent 2da8da6b37
commit b61df340e8
8 changed files with 153 additions and 41 deletions

View File

@@ -248,6 +248,7 @@ class ClubsHelperControllerClub extends AbstractClubsHelperController
$this->registerFcn('iban', 'editIban');
$this->registerFcn('bic', 'editBic');
$this->registerFcn('offers', 'editOffers');
$this->registerFcn('place', 'editPlace');
}
protected function editName($user, $post)
@@ -358,6 +359,41 @@ class ClubsHelperControllerClub extends AbstractClubsHelperController
throw new InvalidUserDataException('Es gab ein Problem mit der Eingabe. Bitte Seite neu laden und Daten erneut eintragen.');
}
}
protected function editPlace($user, $post)
{
$factory = new CommonClubsModelFactoryPlace();
$place = $factory->loadById($this->id);
$name = trim($post->getString('name'));
$address = $post->getString('address');
$area = $post->getInt('area');
$validator = new ClubsHelperValidator();
$this->checkLen($name, 5, "Der Name des Saals muss mindestens aus 5 Zeichen bestehen.");
$this->checkLen($address, 10, 'Die Adresse muss mindestens 10 Zeichen lang sein.');
$addr = '';
if(!$validator->validateAddress($address, $addr))
{
throw new InvalidUserDataException('Die Adresse muss mindestens aus 2 Zeilen bestehen.');
}
if($area < 0)
throw new InvalidUserDataException('Die Fläche darf nicht negativ sein.');
if($area == 0)
$area = null;
if($area > 2500)
throw new InvalidUserDataException('Die Fläche erscheint zu groß zu sein. Wenden Sie sich bitte ggf an den Support.');
// TODO ACL needed
$place->setName($name);
$place->setAddress($addr);
$place->setArea($area);
$place->save();
}
}
class ClubsControllerParts extends BaseController