summaryrefslogtreecommitdiff
path: root/app/Template/project
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2015-10-17 22:19:49 -0400
committerFrederic Guillot <fred@kanboard.net>2015-10-17 22:19:49 -0400
commit09da289c2fb18475f372bee24e885617da484e0b (patch)
tree95d1869ba3236ccdd9234d7909fc16c495c84d44 /app/Template/project
parent9283fb88d80cb355ff98364a9a57b657fc511d98 (diff)
Move slack, hipchat and jabber integrations to plugins
Diffstat (limited to 'app/Template/project')
-rw-r--r--app/Template/project/integrations.php74
-rw-r--r--app/Template/project/notifications.php20
-rw-r--r--app/Template/project/sidebar.php7
3 files changed, 27 insertions, 74 deletions
diff --git a/app/Template/project/integrations.php b/app/Template/project/integrations.php
index eb5faddf..c4d9385b 100644
--- a/app/Template/project/integrations.php
+++ b/app/Template/project/integrations.php
@@ -2,9 +2,10 @@
<h2><?= t('Integration with third-party services') ?></h2>
</div>
-<form method="post" action="<?= $this->url->href('project', 'integration', array('project_id' => $project['id'])) ?>" autocomplete="off">
+<form method="post" action="<?= $this->url->href('project', 'integrations', array('project_id' => $project['id'])) ?>" autocomplete="off">
<?= $this->form->csrf() ?>
+ <?= $this->hook->render('template:project:integrations', array('values' => $values)) ?>
<h3><i class="fa fa-github fa-fw"></i>&nbsp;<?= t('Github webhooks') ?></h3>
<div class="listing">
@@ -12,86 +13,15 @@
<p class="form-help"><?= $this->url->doc(t('Help on Github webhooks'), 'github-webhooks') ?></p>
</div>
-
<h3><img src="<?= $this->url->dir() ?>assets/img/gitlab-icon.png"/>&nbsp;<?= t('Gitlab webhooks') ?></h3>
<div class="listing">
<input type="text" class="auto-select" readonly="readonly" value="<?= $this->url->href('webhook', 'gitlab', array('token' => $webhook_token, 'project_id' => $project['id']), false, '', true) ?>"/><br/>
<p class="form-help"><?= $this->url->doc(t('Help on Gitlab webhooks'), 'gitlab-webhooks') ?></p>
</div>
-
<h3><i class="fa fa-bitbucket fa-fw"></i>&nbsp;<?= t('Bitbucket webhooks') ?></h3>
<div class="listing">
<input type="text" class="auto-select" readonly="readonly" value="<?= $this->url->href('webhook', 'bitbucket', array('token' => $webhook_token, 'project_id' => $project['id']), false, '', true) ?>"/><br/>
<p class="form-help"><?= $this->url->doc(t('Help on Bitbucket webhooks'), 'bitbucket-webhooks') ?></p>
</div>
-
-
- <h3><img src="<?= $this->url->dir() ?>assets/img/jabber-icon.png"/> <?= t('Jabber (XMPP)') ?></h3>
- <div class="listing">
- <?= $this->form->checkbox('jabber', t('Send notifications to Jabber'), 1, isset($values['jabber']) && $values['jabber'] == 1) ?>
-
- <?= $this->form->label(t('XMPP server address'), 'jabber_server') ?>
- <?= $this->form->text('jabber_server', $values, $errors, array('placeholder="tcp://myserver:5222"')) ?>
- <p class="form-help"><?= t('The server address must use this format: "tcp://hostname:5222"') ?></p>
-
- <?= $this->form->label(t('Jabber domain'), 'jabber_domain') ?>
- <?= $this->form->text('jabber_domain', $values, $errors, array('placeholder="example.com"')) ?>
-
- <?= $this->form->label(t('Username'), 'jabber_username') ?>
- <?= $this->form->text('jabber_username', $values, $errors) ?>
-
- <?= $this->form->label(t('Password'), 'jabber_password') ?>
- <?= $this->form->password('jabber_password', $values, $errors) ?>
-
- <?= $this->form->label(t('Jabber nickname'), 'jabber_nickname') ?>
- <?= $this->form->text('jabber_nickname', $values, $errors) ?>
-
- <?= $this->form->label(t('Multi-user chat room'), 'jabber_room') ?>
- <?= $this->form->text('jabber_room', $values, $errors, array('placeholder="myroom@conference.example.com"')) ?>
-
- <p class="form-help"><?= $this->url->doc(t('Help on Jabber integration'), 'jabber') ?></p>
-
- <div class="form-actions">
- <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
- </div>
- </div>
-
-
- <h3><img src="<?= $this->url->dir() ?>assets/img/hipchat-icon.png"/> <?= t('Hipchat') ?></h3>
- <div class="listing">
- <?= $this->form->checkbox('hipchat', t('Send notifications to Hipchat'), 1, isset($values['hipchat']) && $values['hipchat'] == 1) ?>
-
- <?= $this->form->label(t('API URL'), 'hipchat_api_url') ?>
- <?= $this->form->text('hipchat_api_url', $values, $errors) ?>
-
- <?= $this->form->label(t('Room API ID or name'), 'hipchat_room_id') ?>
- <?= $this->form->text('hipchat_room_id', $values, $errors) ?>
-
- <?= $this->form->label(t('Room notification token'), 'hipchat_room_token') ?>
- <?= $this->form->text('hipchat_room_token', $values, $errors) ?>
-
- <p class="form-help"><?= $this->url->doc(t('Help on Hipchat integration'), 'hipchat') ?></a></p>
-
- <div class="form-actions">
- <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
- </div>
- </div>
-
-
- <h3><i class="fa fa-slack fa-fw"></i>&nbsp;<?= t('Slack') ?></h3>
- <div class="listing">
- <?= $this->form->checkbox('slack', t('Send notifications to a Slack channel'), 1, isset($values['slack']) && $values['slack'] == 1) ?>
-
- <?= $this->form->label(t('Webhook URL'), 'slack_webhook_url') ?>
- <?= $this->form->text('slack_webhook_url', $values, $errors) ?>
- <?= $this->form->label(t('Channel/Group/User (Optional)'), 'slack_webhook_channel') ?>
- <?= $this->form->text('slack_webhook_channel', $values, $errors) ?>
-
- <p class="form-help"><?= $this->url->doc(t('Help on Slack integration'), 'slack') ?></p>
-
- <div class="form-actions">
- <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
- </div>
- </div>
</form> \ No newline at end of file
diff --git a/app/Template/project/notifications.php b/app/Template/project/notifications.php
new file mode 100644
index 00000000..ac743087
--- /dev/null
+++ b/app/Template/project/notifications.php
@@ -0,0 +1,20 @@
+<div class="page-header">
+ <h2><?= t('Notifications') ?></h2>
+</div>
+<?php if (empty($types)): ?>
+ <p class="alert"><?= t('There is no notification method registered.') ?></p>
+<?php else: ?>
+ <form method="post" action="<?= $this->url->href('project', 'notifications', array('project_id' => $project['id'])) ?>" autocomplete="off">
+
+ <?= $this->form->csrf() ?>
+
+ <h4><?= t('Notification methods:') ?></h4>
+ <?= $this->form->checkboxes('notification_types', $types, $notifications) ?>
+
+ <div class="form-actions">
+ <input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
+ <?= t('or') ?>
+ <?= $this->url->link(t('cancel'), 'project', 'show', array('project_id' => $project['id'])) ?>
+ </div>
+ </form>
+<?php endif ?> \ No newline at end of file
diff --git a/app/Template/project/sidebar.php b/app/Template/project/sidebar.php
index 971ed950..fb5dd3bd 100644
--- a/app/Template/project/sidebar.php
+++ b/app/Template/project/sidebar.php
@@ -12,8 +12,11 @@
<li <?= $this->app->getRouterController() === 'project' && $this->app->getRouterAction() === 'share' ? 'class="active"' : '' ?>>
<?= $this->url->link(t('Public access'), 'project', 'share', array('project_id' => $project['id'])) ?>
</li>
- <li <?= $this->app->getRouterController() === 'project' && $this->app->getRouterAction() === 'integration' ? 'class="active"' : '' ?>>
- <?= $this->url->link(t('Integrations'), 'project', 'integration', array('project_id' => $project['id'])) ?>
+ <li <?= $this->app->getRouterController() === 'project' && $this->app->getRouterAction() === 'notifications' ? 'class="active"' : '' ?>>
+ <?= $this->url->link(t('Notifications'), 'project', 'notifications', array('project_id' => $project['id'])) ?>
+ </li>
+ <li <?= $this->app->getRouterController() === 'project' && $this->app->getRouterAction() === 'integrations' ? 'class="active"' : '' ?>>
+ <?= $this->url->link(t('Integrations'), 'project', 'integrations', array('project_id' => $project['id'])) ?>
</li>
<li <?= $this->app->getRouterController() === 'project' && $this->app->getRouterAction() === 'edit' ? 'class="active"' : '' ?>>
<?= $this->url->link(t('Edit project'), 'project', 'edit', array('project_id' => $project['id'])) ?>