Skip to content
Snippets Groups Projects
Commit b55cacea authored by Moritz Strohm's avatar Moritz Strohm
Browse files

added support for setting a tandem management e-mail address, re #11

parent 303a03e0
No related branches found
No related tags found
No related merge requests found
......@@ -374,6 +374,32 @@ class TandemManager
}
}
//Send the mail to the tandem management email address,
//if it is specified:
$management_email_address = Config::get()->TANDEMPLUGIN_MANAGEMENT_EMAIL_ADDRESS;
if ($management_email_address) {
$admin_message_title = 'Ein neues Tandem wurde gebildet!';
$admin_message_text = sprintf(
'%s und %s haben ein neues Tandem für die Sprachkombination %s - %s gebildet!',
$pair->request->user->getFullName(),
$pair->offer->user->getFullName(),
($pair->request->target_language->name_ger
? $pair->request->target_language->name_ger
: $pair->request->target_language->name),
($pair->offer->target_language->name_ger
? $pair->offer->target_language->name_ger
: $pair->offer->target_language->name)
);
//send e-mail
StudipMail::sendMessage(
$management_email_address,
$admin_message_title,
$admin_message_text
);
}
return true;
}
......@@ -523,6 +549,33 @@ class TandemManager
}
}
//Send the mail to the tandem management email address,
//if it is specified:
$management_email_address = Config::get()->TANDEMPLUGIN_MANAGEMENT_EMAIL_ADDRESS;
if ($management_email_address) {
$admin_message_title = 'Ein Tandem wurde aufgelöst!';
$admin_message_text = sprintf(
'%s und %s haben ihr Tandem für die Sprachkombination %s - %s aufgelöst!',
$request_profile->user->getFullName(),
$offer_profile->user->getFullName(),
($request_profile->target_language->name_ger
? $request_profile->target_language->name_ger
: $request_profile->target_language->name),
($offer_profile->target_language->name_ger
? $offer_profile->target_language->name_ger
: $offer_profile->target_language->name)
);
//send e-mail
StudipMail::sendMessage(
$management_email_address,
$admin_message_title,
$admin_message_text
);
}
//Before we delete anything we create a TerminatedTandemPair object:
$terminated_pair = $pair->createTerminatedTandemPair();
......
......@@ -506,6 +506,7 @@ class AdminController extends PluginController
$this->delete_old_period = (int)Request::int('delete_old_period', 6);
$this->proof_fields_enabled = (bool)Request::get('proof_fields_enabled', false);
$this->use_tools_navigation = Request::int('use_tools_navigation', 0);
$this->management_email_address = Request::get('management_email_address');
if(($this->delete_old_period < 1) or ($this->delete_old_period > 24)) {
PageLayout::postError(
......@@ -533,6 +534,11 @@ class AdminController extends PluginController
$delete_old_period->value = $this->delete_old_period;
$delete_old_period->store();
}
$management_email_address_field = ConfigEntry::findByField('TANDEMPLUGIN_MANAGEMENT_EMAIL_ADDRESS')[0];
if ($management_email_address_field) {
$management_email_address_field->value = $this->management_email_address;
$management_email_address_field->store();
}
$config->store(
'TANDEMPLUGIN_USE_TOOLS_NAVIGATION',
......@@ -566,6 +572,9 @@ class AdminController extends PluginController
? $config->TANDEMPLUGIN_USE_TOOLS_NAVIGATION
: 0
);
$this->management_email_address =
$config->TANDEMPLUGIN_MANAGEMENT_EMAIL_ADDRESS
?: '';
}
}
}
<?php
class AddManagementEmailAddress extends Migration
{
public function up()
{
Config::get()->create(
'TANDEMPLUGIN_MANAGEMENT_EMAIL_ADDRESS',
[
'type' => 'string',
'value' => '',
'section' => 'tandemplugin',
'description' => 'Sofern die Tandem-Verwaltung eine zentrale E-Mail Adresse hat, an die alle Statusnachrichten zu Tandems gesendet werden sollen, kann diese E-Mail Adresse hier angegeben werden.'
]
);
}
public function down()
{
Config::get()->delete('TANDEMPLUGIN_MANAGEMENT_EMAIL_ADDRESS');
}
}
pluginname=TandemPlugin
pluginclassname=TandemPlugin
origin=data-quest
version=1.0.3
version=1.0.4
description=Dieses Plugin ermöglicht es, Sprachtandems innerhalb der Stud.IP Platform zu bilden.
studipMinVersion=4.0
studipMaxVersion=4.99.99
......@@ -85,6 +85,19 @@
value="1">
</label>
</fieldset>
<fieldset>
<legend>
<?= dgettext('TandemPlugin', 'E-Mail Adresse der Tandem-Verwaltung') ?>
</legend>
<p>
<?= dgettext(
'TandemPlugin',
'Sofern die Tandem-Verwaltung eine zentrale E-Mail Adresse hat, an die alle Statusnachrichten zu Tandems gesendet werden sollen, kann diese E-Mail Adresse hier angegeben werden.'
) ?>
</p>
<input type="email" name="management_email_address"
value="<?= htmlReady($management_email_address) ?>"
</fieldset>
<div>
<?= \Studip\Button::create(
dgettext('TandemPlugin', 'Speichern'),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment