Skip to content
Snippets Groups Projects
Commit 3c1c4f1f authored by Thomas Hackl's avatar Thomas Hackl
Browse files

Resolve "I18N für die Datenfelder der Tabelle user_inst"

Closes #605

Merge request studip/studip!609
parent a47ef634
No related branches found
No related tags found
No related merge requests found
...@@ -339,19 +339,20 @@ class Settings_StatusgruppenController extends Settings_SettingsController ...@@ -339,19 +339,20 @@ class Settings_StatusgruppenController extends Settings_SettingsController
} }
if ($this->shallChange('', 'institute_data')) { if ($this->shallChange('', 'institute_data')) {
$query = "UPDATE user_inst $entry = InstituteMember::findByUserAndInstitute($this->user->user_id, $id);
SET raum = ?, sprechzeiten = ?, Telefon = ?, Fax = ?
WHERE Institut_id = ? AND user_id = ?"; if (!$entry) {
$statement = DBManager::get()->prepare($query); $entry = new InstituteMember();
$statement->execute([ $entry->institut_id = $id;
Request::get('raum'), $entry->user_id = $this->user->user_id;
Request::get('sprech'), }
Request::get('tel'),
Request::get('fax'), $entry->raum = Request::i18n('raum');
$id, $entry->sprechzeiten = Request::i18n('sprech');
$this->user->user_id, $entry->telefon = Request::i18n('tel');
]); $entry->fax = Request::i18n('fax');
if ($statement->rowCount() > 0) {
if ($entry->store() !== false) {
$changed = true; $changed = true;
$success[] = sprintf(_('Ihre Daten an der Einrichtung %s wurden geändert.'), htmlReady(Request::get('name'))); $success[] = sprintf(_('Ihre Daten an der Einrichtung %s wurden geändert.'), htmlReady(Request::get('name')));
......
...@@ -25,27 +25,23 @@ $entries = (array)DataFieldEntry::getDataFieldEntries([$user->user_id, $inst_id] ...@@ -25,27 +25,23 @@ $entries = (array)DataFieldEntry::getDataFieldEntries([$user->user_id, $inst_id]
</label> </label>
<label> <label>
<?= _('Raum') ?> <?= _('Raum') ?>
<input type="text" name="raum" id="raum" <?= I18N::input('raum', $institute['raum'],
value="<?= htmlReady($institute['raum']) ?>" ['id' => 'raum', 'disabled' => $locked ? true : false]) ?>
<? if ($locked) echo 'disabled'; ?>>
</label> </label>
<label> <label>
<?= _('Sprechzeit') ?> <?= _('Sprechzeit') ?>
<input type="text" name="sprech" id="sprech" <?= I18N::input('sprech', $institute['sprechzeiten'],
value="<?= htmlReady($institute['sprechzeiten']) ?>" ['id' => 'sprech', 'disabled' => $locked ? true : false]) ?>
<? if ($locked) echo 'disabled'; ?>>
</label> </label>
<label> <label>
<?= _('Telefon') ?> <?= _('Telefon') ?>
<input type="tel" name="tel" <?= I18N::input('tel', $institute['telefon'],
value="<?= htmlReady($institute['telefon']) ?>" ['id' => 'telefon', 'disabled' => $locked ? true : false]) ?>
<? if ($locked) echo 'disabled'; ?>>
</label> </label>
<label> <label>
<?= _('Fax') ?> <?= _('Fax') ?>
<input type="tel" name="fax" <?= I18N::input('fax', $institute['fax'],
value="<?= htmlReady($institute['fax']) ?>" ['id' => 'fax', 'disabled' => $locked ? true : false]) ?>
<? if ($locked) echo 'disabled'; ?>>
</label> </label>
<? foreach ($entries as $id => $entry): ?> <? foreach ($entries as $id => $entry): ?>
......
...@@ -74,6 +74,11 @@ class InstituteMember extends SimpleORMap implements PrivacyObject ...@@ -74,6 +74,11 @@ class InstituteMember extends SimpleORMap implements PrivacyObject
$config['additional_fields']['institute_name'] = []; $config['additional_fields']['institute_name'] = [];
$config['i18n_fields']['raum'] = true;
$config['i18n_fields']['sprechzeiten'] = true;
$config['i18n_fields']['telefon'] = true;
$config['i18n_fields']['fax'] = true;
$config['registered_callbacks']['after_delete'][] = function ($member) { $config['registered_callbacks']['after_delete'][] = function ($member) {
$institute = $member->institute; $institute = $member->institute;
$user_id = $member->user_id; $user_id = $member->user_id;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment