Skip to content
Snippets Groups Projects
Commit 65e79596 authored by Rasmus Fuhse's avatar Rasmus Fuhse
Browse files

add migration

parent 894d4a3c
No related branches found
No related tags found
No related merge requests found
...@@ -9,7 +9,7 @@ require_once __DIR__ . "/models/BrainstormVote.php"; ...@@ -9,7 +9,7 @@ require_once __DIR__ . "/models/BrainstormVote.php";
* @author Florian Bieringer <florian.bieringer@uni-passau.de> * @author Florian Bieringer <florian.bieringer@uni-passau.de>
* @version 1.0 * @version 1.0
*/ */
class Aladdin extends StudIPPlugin implements StandardPlugin { class Aladdin extends StudIPPlugin implements StandardPlugin, SystemPlugin {
public function __construct() public function __construct()
{ {
...@@ -20,6 +20,7 @@ class Aladdin extends StudIPPlugin implements StandardPlugin { ...@@ -20,6 +20,7 @@ class Aladdin extends StudIPPlugin implements StandardPlugin {
if (stripos(Request::get("page"), "plugins.php/aladdin") !== false && isset($data['Aladdin'])) { if (stripos(Request::get("page"), "plugins.php/aladdin") !== false && isset($data['Aladdin'])) {
$brainstorm = new Brainstorm($data['Aladdin']['brainstorm_id']); $brainstorm = new Brainstorm($data['Aladdin']['brainstorm_id']);
if ($GLOBALS['perm']->have_studip_perm("autor", $brainstorm['seminar_id'])) { if ($GLOBALS['perm']->have_studip_perm("autor", $brainstorm['seminar_id'])) {
$newtime = $brainstorm['chdate']; $newtime = $brainstorm['chdate'];
foreach ($brainstorm->children as $child) { foreach ($brainstorm->children as $child) {
if ($child['chdate'] > $newtime) { if ($child['chdate'] > $newtime) {
...@@ -40,7 +41,7 @@ class Aladdin extends StudIPPlugin implements StandardPlugin { ...@@ -40,7 +41,7 @@ class Aladdin extends StudIPPlugin implements StandardPlugin {
$template->set_attribute("brainstorm", $brainstorm); $template->set_attribute("brainstorm", $brainstorm);
$output['html'] = $template->render(); $output['html'] = $template->render();
$output['lasttime'] = $newtime; $output['lasttime'] = $newtime;
UpdateInformation::setInformation("Aladdin.updateSubbrainstorms", $output); UpdateInformation::setInformation("Aladdin", $output);
} }
} }
} }
......
...@@ -69,7 +69,21 @@ STUDIP.Aladdin = { ...@@ -69,7 +69,21 @@ STUDIP.Aladdin = {
} }
}; };
$(document).ready(function() { $(document).ready(function() {
if (jQuery(".subbrainstorms").length > 0) {
STUDIP.JSUpdater.register(
'Aladdin',
STUDIP.Aladdin.updateSubbrainstorms,
function () {
return {
"brainstorm_id": jQuery(".subbrainstorms").data("brainstorm_id")
}
}
);
}
$('div.brainstorm textarea').autoResize(); $('div.brainstorm textarea').autoResize();
STUDIP.dialogReady(function () {
$('.aladdin-datetimepicker').datetimepicker();
});
}); });
jQuery(document).on("click", ".brainstorm form.voting input[type=image]", STUDIP.Aladdin.vote_brainstorm); jQuery(document).on("click", ".brainstorm form.voting input[type=image]", STUDIP.Aladdin.vote_brainstorm);
......
...@@ -98,9 +98,13 @@ ...@@ -98,9 +98,13 @@
color: #000; color: #000;
} }
} }
&.inactive {
header, .question {
opacity: 0.5;
}
}
} }
.brainstorm_body { .brainstorm_body {
background: url("@{icon-path}/black/arr_1right.png") no-repeat 10px 13px;
border: thin solid @content-color-80; border: thin solid @content-color-80;
padding: 10px; padding: 10px;
padding-left: 30px; padding-left: 30px;
......
...@@ -11,7 +11,11 @@ class LampController extends PluginController { ...@@ -11,7 +11,11 @@ class LampController extends PluginController {
public function index_action() { public function index_action() {
Navigation::activateItem("/course/brainstorm"); Navigation::activateItem("/course/brainstorm");
if ($GLOBALS['perm']->have_studip_perm('tutor', Context::get()->id)) {
$this->brainstorms = Brainstorm::findBySQL("seminar_id = ? AND range_id IS NULL ORDER BY title ASC ", array(Context::get()->id)); $this->brainstorms = Brainstorm::findBySQL("seminar_id = ? AND range_id IS NULL ORDER BY title ASC ", array(Context::get()->id));
} else {
$this->brainstorms = Brainstorm::findBySQL("seminar_id = ? AND range_id IS NULL AND (`start` IS NULL OR `start` < UNIX_TIMESTAMP()) ORDER BY title ASC ", array(Context::get()->id));
}
} }
public function edit_action($brainstorm_id = null) { public function edit_action($brainstorm_id = null) {
...@@ -47,6 +51,7 @@ class LampController extends PluginController { ...@@ -47,6 +51,7 @@ class LampController extends PluginController {
$data['user_id'] = User::findCurrent()->id; $data['user_id'] = User::findCurrent()->id;
$data['range_id'] = $this->parent ? $this->parent->getId() : null; $data['range_id'] = $this->parent ? $this->parent->getId() : null;
$data['seminar_id'] = $this->parent ? $this->parent['seminar_id'] : Context::get()->id; $data['seminar_id'] = $this->parent ? $this->parent['seminar_id'] : Context::get()->id;
$data['start'] = strtotime($data['start']) ?: null;
$this->brainstorm->setData($data); $this->brainstorm->setData($data);
$this->brainstorm->store(); $this->brainstorm->store();
......
<?php
class InitPlugin extends Migration {
public function up() {
DBManager::get()->exec("
ALTER TABLE `brainstorms`
ADD COLUMN `start` int(11) DEFAULT NULL AFTER `text`
");
}
public function down() {
DBManager::get()->exec("
ALTER TABLE `brainstorms`
DROP COLUMN `start`
");
}
}
pluginname=Aladdin pluginname=Aladdin
pluginclassname=Aladdin pluginclassname=Aladdin
origin=intelec origin=intelec
version=2.3 version=2.4
studipMinVersion=4.0 studipMinVersion=4.6
studipMaxVersion=5.1.99 studipMaxVersion=5.1.99
dbscheme=install.sql dbscheme=install.sql
uninstalldbscheme=uninstall.sql uninstalldbscheme=uninstall.sql
......
<article class='linked_brainstorm' id="brainstorm_<?= $brainstorm->id ?>"> <article class='linked_brainstorm studip<?= $brainstorm->start > time() ? ' inactive' : '' ?>'
<div style="float: right;"> id="brainstorm_<?= $brainstorm->id ?>">
<?= date("G:i d.m.Y", $brainstorm['mkdate']) ?> <header>
</div> <h1>
<a href="<?= $controller->url_for('lamp/brainstorm/' . $brainstorm->id) ?>"> <a href="<?= $controller->url_for('lamp/brainstorm/' . $brainstorm->id) ?>">
<h1><?= htmlReady($brainstorm->title) ?></h1> <?= htmlReady($brainstorm->title) ?>
</a>
</h1>
<nav>
<? if ($brainstorm->start > 0 && $GLOBALS['perm']->have_studip_perm('tutor', $brainstorm['seminar_id'])) : ?>
<?= sprintf(dgettext("aladdin","(startet am %s Uhr)"), date("d.m.Y G:i", $brainstorm['start'])) ?>
<? endif ?>
</nav>
</header>
<a href="<?= $controller->url_for('lamp/brainstorm/' . $brainstorm->id) ?>" class="question">
<div class="body"> <div class="body">
<?= formatReady($brainstorm->text) ?> <?= formatReady($brainstorm->text) ?>
</div> </div>
</a> </a>
<? if ($GLOBALS['perm']->have_studip_perm("tutor", Context::get()->id) || $GLOBALS['user']->id === $brainstorm['user_id']) : ?> <? if ($GLOBALS['perm']->have_studip_perm("tutor", Context::get()->id) || $GLOBALS['user']->id === $brainstorm['user_id']) : ?>
<a class="edit" <div class="center">
href="<?= PluginEngine::getLink( <?= \Studip\LinkButton::create(
dgettext("aladdin","Bearbeiten"),
PluginEngine::getURL(
$plugin, $plugin,
[], [],
"lamp/edit/" . $brainstorm->getId() "lamp/edit/" . $brainstorm->getId()
) ?>" data-dialog="size=auto;reload-on-close"> ),
<?= Icon::create("edit", "clickable")->asImg(20) ?> ['data-dialog' => "size=auto;reload-on-close"]
</a> ) ?>
<a class="delete" href="<?= PluginEngine::getLink($plugin, array(), "lamp/delete/".$brainstorm->getId()) ?>" onClick="return window.confirm('<?= dgettext("aladdin","Wirklich löschen?") ?>');"> <?= \Studip\LinkButton::create(
<?= Icon::create("trash", "clickable")->asImg(20) ?> dgettext("aladdin","Löschen"),
</a> PluginEngine::getURL(
$plugin,
[],
"lamp/delete/" . $brainstorm->getId()
),
[
'data-confirm' => dgettext("aladdin","Wirklich löschen?")
]
) ?>
</div>
<? endif ?> <? endif ?>
</article> </article>
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
<?= dgettext("aladdin",'Titel') ?> <?= dgettext("aladdin",'Titel') ?>
<input type="text" <input type="text"
name="brainstorm[title]" name="brainstorm[title]"
required
value="<?= htmlReady($brainstorm['title']) ?>" value="<?= htmlReady($brainstorm['title']) ?>"
placeholder="<?= dgettext("aladdin","Frage oder Thema") ?>"> placeholder="<?= dgettext("aladdin","Frage oder Thema") ?>">
</label> </label>
...@@ -23,6 +24,7 @@ ...@@ -23,6 +24,7 @@
<label> <label>
<?= dgettext("aladdin",'Text') ?> <?= dgettext("aladdin",'Text') ?>
<textarea name="brainstorm[text]" <textarea name="brainstorm[text]"
required
placeholder="<?= dgettext("aladdin","Um was soll's gehen?") ?>"><?= htmlReady($brainstorm['text']) ?></textarea> placeholder="<?= dgettext("aladdin","Um was soll's gehen?") ?>"><?= htmlReady($brainstorm['text']) ?></textarea>
</label> </label>
</fieldset> </fieldset>
...@@ -36,6 +38,7 @@ ...@@ -36,6 +38,7 @@
<?= _("Startet am") ?> <?= _("Startet am") ?>
<input type="text" <input type="text"
name="brainstorm[start]" name="brainstorm[start]"
class="aladdin-datetimepicker"
value="<?= $brainstorm['start'] ? date("d.m.Y H:i", $brainstorm['start']) : "" ?>"> value="<?= $brainstorm['start'] ? date("d.m.Y H:i", $brainstorm['start']) : "" ?>">
</label> </label>
</div> </div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment