Skip to content
Snippets Groups Projects
Select Git revision
  • 3922cc4c544f109efcc8029b834faca41a7c1781
  • main default protected
  • issue-56
  • testing-systems
4 results

TracToGitlabPlugin.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    TracToGitlabPlugin.php 1.31 KiB
    <?php
    require_once __DIR__ . '/bootstrap.php';
    
    final class TracToGitlabPlugin extends StudIPPlugin implements StandardPlugin, SystemPlugin
    {
        public function getIconNavigation($course_id, $last_visit, $user_id)
        {
            return null;
        }
    
        public function getTabNavigation($course_id)
        {
            return [
                'trac2gitlab' => new Navigation('trac2gitlab', PluginEngine::getURL($this, [], 'convert')),
            ];
        }
    
        public function getInfoTemplate($course_id)
        {
            return null;
        }
    
        public function getPluginName()
        {
            return 'Tickets von trac zu GitLab migrieren';
        }
    
        public function isActivatableForContext(Range $context)
        {
            if (!$context instanceof Course) {
                return false;
            }
    
            $query = "SELECT 1
                      FROM `tools_activated`
                      WHERE `plugin_id` = ?
                        AND `range_id` != ?";
            $activated = DBManager::get()->fetchColumn($query, [
                $this->getPluginId(),
                $context->id
            ]);
    
            return !$activated;
        }
    
        public function perform($unconsumed)
        {
            $this->addStylesheet('assets/style.scss');
            $this->addScript('assets/script.js');
    
            require_once __DIR__ . '/vendor/autoload.php';
    
            parent::perform($unconsumed);
        }
    }