Ticket: Migrate ticket_project_user_roles to setting

pull/4020/head^2
Angel Fernando Quiroz Campos 4 years ago
parent 4560b82e5f
commit 58e412a634
  1. 6
      public/main/install/configuration.dist.php
  2. 17
      src/CoreBundle/Migrations/Schema/V200/Version20170627122900.php
  3. 5
      src/CoreBundle/Settings/TicketSettingsSchema.php

@ -386,12 +386,6 @@ $_configuration['send_all_emails_to'] = [
'admin2@example.com',
]
];*/
// Allow ticket projects to be access by specific chamilo roles
/*$_configuration['ticket_project_user_roles'] = [
'permissions' => [
1 => [17] // project_id = 1, STUDENT_BOSS = 17
]
];*/
// Allow additional data (exercise and learningpath) in the ticket
// - Required DB change
// ALTER TABLE ticket_ticket ADD exercise_id INT DEFAULT NULL AFTER course_id;

@ -330,6 +330,23 @@ class Version20170627122900 extends AbstractMigrationChamilo
}
$this->addSql('UPDATE settings_current SET category = LOWER(category)');
// ticket configuration
$ticketProjectUserRoles = $this->getConfigurationValue('ticket_project_user_roles');
if ($ticketProjectUserRoles && isset($ticketProjectUserRoles['permissions'])) {
$selectedValue = array_map(
fn($projectId, $roles) => "$projectId:".implode(',', $roles),
array_keys($ticketProjectUserRoles['permissions']),
array_values($ticketProjectUserRoles['permissions'])
);
$selectedValue = implode(PHP_EOL, $selectedValue);
$this->addSql(
"INSERT INTO settings_current (access_url, variable, category, selected_value, title, access_url_changeable, access_url_locked) VALUES (1, 'ticket_project_user_roles', 'Ticket', '$selectedValue', 'ticket_project_user_roles', 1, 1)"
);
}
}
public function down(Schema $schema): void

@ -6,8 +6,11 @@ declare(strict_types=1);
namespace Chamilo\CoreBundle\Settings;
use Chamilo\CoreBundle\Form\Type\IndexedConfigurationType;
use Chamilo\CoreBundle\Form\Type\YesNoType;
use Mpdf\Tag\TextArea;
use Sylius\Bundle\SettingsBundle\Schema\AbstractSettingsBuilder;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\FormBuilderInterface;
class TicketSettingsSchema extends AbstractSettingsSchema
@ -22,6 +25,7 @@ class TicketSettingsSchema extends AbstractSettingsSchema
'ticket_allow_student_add' => 'false',
'ticket_send_warning_to_all_admins' => 'false',
'ticket_warn_admin_no_user_in_category' => 'false',
'ticket_project_user_roles' => '',
]
)
;
@ -40,6 +44,7 @@ class TicketSettingsSchema extends AbstractSettingsSchema
->add('ticket_allow_student_add')
->add('ticket_send_warning_to_all_admins', YesNoType::class)
->add('ticket_warn_admin_no_user_in_category', YesNoType::class)
->add('ticket_project_user_roles', TextareaType::class)
;
}
}

Loading…
Cancel
Save