Admin part: can import, export and drop themes

This commit is contained in:
Némunaire 2013-11-08 20:46:48 +01:00
commit ffe0c2a7c4
8 changed files with 217 additions and 7 deletions

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<theme>
<title>{$theme->get_name()}</title>
{if $theme->get_exercicesOrdered()}
{foreach from=$theme->get_exercicesOrdered() item=e}
<exercice id="{$e->id}" level="{$e->level}"{if $e->require} depends="{$e->require}"{/if}>
<title>{$e->get_name()}</title>
<points>{$e->points}</points>
<statement>{$e->statement}</statement>
{if $e->keys}
{foreach from=$e->keys item=k}
<key format="{$k.format}">{$k.value}</key>
{/foreach}
{/if}
{if $e->files}
{foreach from=$e->files item=f}
<file path="{$f.path}" sha1="{$f.sha1}">{$f.name}</file>
{/foreach}
{/if}
</exercice>
{/foreach}
{/if}
</theme>

View file

@ -1,4 +1,4 @@
{extends file="layout-nav.tpl"}
{extends file="admin/layout.tpl"}
{block name=head}
<link href="/css/common.css" rel="stylesheet">
{/block}
@ -6,11 +6,11 @@
<h1>
Import d'exercices
</h1>
<form action="/exercices/import" method="post" enctype="multipart/form-data">
<form action="/{$SALT_ADMIN}/themes/import" method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="inputFile">File to import:</label>
<label for="inputFile">Fichier XML à importer :</label>
<input type="file" id="inputFile" name="inputFile">
</div>
<button type="submit" class="btn btn-default">Submit</button>
<button type="submit" class="btn btn-primary">Importer</button>
</form>
{/block}

View file

@ -0,0 +1,44 @@
{extends file="admin/layout.tpl"}
{block name=content}
<table class="table">
<thead>
<tr>
<th>id</th>
<th>Nom</th>
<th>Exercices</th>
<th>Résolus</th>
</tr>
</thead>
{if $themes}
<tbody>
{foreach from=$themes item=t}
<tr>
<td>
{$t->id}<br>
<a href="?delete={$t->id}"><span class="glyphicon glyphicon-trash"></span></a>
<a href="/{$SALT_ADMIN}/themes/export?id={$t->id}" role="button"><span class="glyphicon glyphicon-floppy-save"></span> Exporter</a>
</td>
<td><a href="/{$SALT_ADMIN}/{$t->id}-{$t->name}">{$t->name}</a></td>
<td><ul>
{foreach from=$t->get_exercicesOrdered() item=e}
<li><a href="/{$SALT_ADMIN}/{$t->id}-{$t->name}/{$e->id}">{$e->get_name()}</a></li>
{/foreach}
</ul></td>
<td>FIXME</td>
</tr>
{/foreach}
</tbody>
{/if}
<tfoot>
<tr>
<td colspan="6">
<a class="btn btn-success" href="/{$SALT_ADMIN}/themes/import" role="button"><span class="glyphicon glyphicon-cloud-upload"></span> Importer</a>
{if $themes}
<a class="btn btn-danger" href="/{$SALT_ADMIN}/themes/?drop" onclick="return confirm('Êtes-vous sûr de vouloir vider la table des thèmes ainsi que les exercices associés ?')" role="button"><span class="glyphicon glyphicon-floppy-trash"></span> Vider</a>
{/if}
</td>
</tr>
</tfoot>
</table>
{/block}