Add option to send email when a user being subscribed - refs BT#9896 #TMI

1.10.x
Angel Fernando Quiroz Campos 10 years ago
parent 6010ecd34e
commit 5f23187321
  1. 41
      app/Migrations/Schema/V110/Version20150805161000.php
  2. 24
      main/inc/lib/sessionmanager.lib.php
  3. 5
      main/session/session_add.php
  4. 6
      main/session/session_edit.php
  5. 6
      src/Chamilo/CoreBundle/Entity/Session.php

@ -0,0 +1,41 @@
<?php
/* For licensing terms, see /license.txt */
namespace Application\Migrations\Schema\V110;
use Application\Migrations\AbstractMigrationChamilo;
use Doctrine\DBAL\Schema\Schema;
/**
* Class Version20150713132630
*
* @package Application\Migrations\Schema\V11010
*/
class Version20150805161000 extends AbstractMigrationChamilo
{
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$sessionTable = $schema->getTable('session');
$sessionTable->addColumn(
'send_subscription_notification',
\Doctrine\DBAL\Types\Type::BOOLEAN,
['default' => false]
);
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$sessionTable = $schema->getTable('session');
$sessionTable->dropColumn('send_subscription_notification');
}
}

@ -63,6 +63,8 @@ class SessionManager
* @param int $showDescription Optional. Whether show the session description
* @param array $extraFields
* @param int $sessionAdminId Optional. If this sessions was created by a session admin, assign it to him
* @param boolean $sendSubscritionNotification Optional.
* Whether send a mail notification to users being subscribed
* @todo use an array to replace all this parameters or use the model.lib.php ...
* @return mixed Session ID on success, error message otherwise
* */
@ -82,7 +84,8 @@ class SessionManager
$description = null,
$showDescription = 0,
$extraFields = array(),
$sessionAdminId = 0
$sessionAdminId = 0,
$sendSubscritionNotification = false
) {
global $_configuration;
@ -154,7 +157,8 @@ class SessionManager
'session_admin_id' => $sessionAdminId,
'visibility' => $visibility,
'description' => $description,
'show_description' => intval($showDescription)
'show_description' => intval($showDescription),
'send_subscription_notification' => $sendSubscritionNotification
);
if (!empty($startDate)) {
@ -1312,6 +1316,8 @@ class SessionManager
* @param int $duration
* @param array $extraFields
* @param int $sessionAdminId
* @param boolean $sendSubscritionNotification Optional.
* Whether send a mail notification to users being subscribed
* @return mixed
*/
public static function edit_session(
@ -1330,7 +1336,8 @@ class SessionManager
$showDescription = 0,
$duration = null,
$extraFields = array(),
$sessionAdminId = 0
$sessionAdminId = 0,
$sendSubscritionNotification = false
) {
$name = trim(stripslashes($name));
$coachId = intval($coachId);
@ -1373,7 +1380,8 @@ class SessionManager
'id_coach' => $coachId,
'description'=> $description,
'show_description' => intval($showDescription),
'visibility' => $visibility
'visibility' => $visibility,
'send_subscription_notification' => $sendSubscritionNotification
];
if (!empty($sessionAdminId)) {
@ -6582,6 +6590,14 @@ class SessionManager
$form->addElement('html', '</div>');
$form->addCheckBox(
'send_subscription_notification',
[
get_lang('SendSubscriptionNotification'),
get_lang('SendAnEmailWhenAUserBeingSubscribed')
]
);
// Extra fields
$extra_field = new ExtraField('session');
$extra = $extra_field->addElements($form, $sessionId);

@ -173,6 +173,7 @@ if ($form->validate()) {
$duration = isset($params['duration']) ? $params['duration'] : null;
$description = $params['description'];
$showDescription = isset($params['show_description']) ? 1: 0;
$sendSubscritionNotification = isset($params['send_subscription_notification']);
$extraFields = array();
foreach ($params as $key => $value) {
@ -196,7 +197,9 @@ if ($form->validate()) {
$duration,
$description,
$showDescription,
$extraFields
$extraFields,
null,
$sendSubscritionNotification
);
if ($return == strval(intval($return))) {

@ -98,7 +98,6 @@ $(function() {
$form->addButtonUpdate(get_lang('ModifyThisSession'));
$formDefaults = $sessionInfo;
$formDefaults['coach_username'] = $sessionInfo['id_coach'];
@ -129,6 +128,7 @@ if ($form->validate()) {
$duration = isset($params['duration']) ? $params['duration'] : null;
$description = $params['description'];
$showDescription = isset($params['show_description']) ? 1: 0;
$sendSubscritionNotification = isset($params['send_subscription_notification']);
$extraFields = array();
foreach ($params as $key => $value) {
@ -152,7 +152,9 @@ if ($form->validate()) {
$description,
$showDescription,
$duration,
$extraFields
$extraFields,
null,
$sendSubscritionNotification
);
if ($return == strval(intval($return))) {

@ -196,6 +196,12 @@ class Session
**/
protected $currentCourse;
/**
* @var boolean
* @ORM\Column(name="send_subscription_notification", type="boolean", nullable=false, options={"default":false})
*/
private $sendSubscriptionNotification;
/**
* Constructor
*/

Loading…
Cancel
Save