"liste + delete composants"
This commit is contained in:
132
templates/componant.html
Normal file
132
templates/componant.html
Normal file
@@ -0,0 +1,132 @@
|
||||
{% extends "index.html" %}
|
||||
{% block title %}Éditer un composant{% endblock %}
|
||||
{% block top_menu %}
|
||||
<span class='top_menu_item' onclick='javascript:document.location="/componants/new";'>Nouveau composant</span>
|
||||
<span class='top_menu_item' onclick='javascript:document.location="/componants/search";'>Rechercher un composant</span>
|
||||
<span class='top_menu_item_selected' onclick='javascript:document.location="/componants/search";'>Éditer un composant</span>
|
||||
<span class='top_menu_item' onclick='javascript:document.location="/componants/in";'>Entrée de stock</span>
|
||||
<span class='top_menu_item' onclick='javascript:document.location="/componants/out";'>Sortie de stock</span>
|
||||
{% endblock %}
|
||||
|
||||
{% block left_menu %}
|
||||
<div class='left_menu_item' onclick='javascript:document.location="/";'>
|
||||
Accueil
|
||||
</div>
|
||||
<div class='left_menu_item_selected' onclick='javascript:document.location="/componants";'>
|
||||
Composants
|
||||
</div>
|
||||
<div class='left_menu_item' onclick='javascript:document.location="/kits";'>
|
||||
Kits
|
||||
</div>
|
||||
<div class='left_menu_item' onclick='javascript:document.location="/providers";'>
|
||||
Fournisseurs
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h3>Note:</h3>
|
||||
<p>Cette page vous permet de modifier directement un composant.</p>
|
||||
<p>À moins de vouloir corriger une erreur de saisie, ou de saisir un inventaire vous ne devez
|
||||
<strong>PAS</strong> modifier directement
|
||||
les quantités d'un composant.</p>
|
||||
<p>Cliquez sur les liens suivants pour saisir des <a href='/componant/in/{{ componant.id }}'>entrées</a>
|
||||
ou <a href='/componant/out/{{ componant.id }}'>sorties</a> de stock.</p>
|
||||
<h3>Composant:</h3>
|
||||
<div class='block margin_bottom no_border'>
|
||||
<label class='editable'>Référence (unique)</label>
|
||||
<input
|
||||
id='reference'
|
||||
type='text'
|
||||
class='editable'
|
||||
onchange='javascript:update_componant(this, {{ componant.id }}, "text");'
|
||||
maxlength='20'
|
||||
title='Référence interne unique (max. 20)'
|
||||
placeholder='Référence interne unique (max. 20)'
|
||||
value='{{ componant.reference }}' />
|
||||
</div>
|
||||
<div class='block margin_bottom no_border'>
|
||||
<label class='editable'>Désignation</label>
|
||||
<input
|
||||
id='designation'
|
||||
type='text'
|
||||
class='editable'
|
||||
onchange='javascript:update_componant(this, {{ componant.id }}, "text");'
|
||||
maxlength='50'
|
||||
title='Désignation (max. 50)'
|
||||
placeholder='Désignation (max. 50)'
|
||||
value='{{ componant.designation }}' />
|
||||
</div>
|
||||
<div class='block margin_bottom no_border'>
|
||||
<label class='editable'>Dernier prix d'achat</label>
|
||||
<input
|
||||
id='last_price'
|
||||
type='text'
|
||||
class='editable'
|
||||
onchange='javascript:update_componant(this, {{ componant.id }}, "numeric");'
|
||||
maxlength='15'
|
||||
title="Dernier prix d'achat"
|
||||
placeholder="Dernier prix d'achat"
|
||||
value='{{ componant.last_price }}' />
|
||||
</div>
|
||||
<div class='block margin_bottom no_border'>
|
||||
<label class='editable'>Coût d'achat moyen pondéré</label>
|
||||
<input
|
||||
id='mean_price'
|
||||
type='text'
|
||||
class='editable'
|
||||
maxlength='15'
|
||||
title='CMP (non éditable)'
|
||||
readonly value='{{ componant.mean_price }}' />
|
||||
</div>
|
||||
<div class='block margin_bottom no_border'>
|
||||
<label class='editable'>Quantité</label>
|
||||
<input
|
||||
id='quantity'
|
||||
type='text'
|
||||
class='editable'
|
||||
onchange='javascript:update_componant(this, {{ componant.id }}, "numeric");'
|
||||
maxlength='15'
|
||||
title='Quantité'
|
||||
placeholder='Quantité'
|
||||
value='{{ componant.quantity }}' />
|
||||
</div>
|
||||
<div class='block margin_bottom no_border'>
|
||||
<label class='editable'>Quantité minimum</label>
|
||||
<input
|
||||
id='min_quantity'
|
||||
type='text'
|
||||
class='editable'
|
||||
onchange='javascript:update_componant(this, {{ componant.id }}, "numeric");'
|
||||
maxlength='15'
|
||||
title='Quantité minimum'
|
||||
placeholder='Quantité minimum'
|
||||
value='{{ componant.min_quantity }}' />
|
||||
</div>
|
||||
<div class='block margin_bottom no_border'>
|
||||
<label class='editable'>Emplacement</label>
|
||||
<input
|
||||
id='place'
|
||||
type='text'
|
||||
class='editable'
|
||||
onchange='javascript:update_componant(this, {{ componant.id }}, "text");'
|
||||
maxlength='15'
|
||||
title='Emplacement (max. 15)'
|
||||
placeholder='Emplacement (max. 15)'
|
||||
value='{{ componant.place }}' />
|
||||
</div>
|
||||
<div class='block margin_bottom no_border'>
|
||||
<label class='editable'>Fournisseur</label>
|
||||
<select
|
||||
id='provider_id'
|
||||
onchange='javascript:update_componant(this, {{ componant.id }}, "numeric");'
|
||||
title='Fournisseur'>
|
||||
{% for prov in providers %}
|
||||
{% set option_selected = '' %}
|
||||
{% if prov.id == provider.id %}
|
||||
{% set option_selected = 'selected="selected"' %}
|
||||
{% endif %}
|
||||
<option {{ option_selected }} value='prov.id'>{{ prov.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
{% endblock %}
|
||||
52
templates/componants.html
Normal file
52
templates/componants.html
Normal file
@@ -0,0 +1,52 @@
|
||||
{% extends "index.html" %}
|
||||
{% block title %}Liste des composants{% endblock %}
|
||||
{% block top_menu %}
|
||||
<span class='top_menu_item' onclick='javascript:document.location="/componants/new";'>Nouveau composant</span>
|
||||
<span class='top_menu_item' onclick='javascript:document.location="/componants/search";'>Rechercher un composant</span>
|
||||
<span class='top_menu_item' onclick='javascript:document.location="/componants/in";'>Entrée de stock</span>
|
||||
<span class='top_menu_item' onclick='javascript:document.location="/componants/out";'>Sortie de stock</span>
|
||||
{% endblock %}
|
||||
|
||||
{% block left_menu %}
|
||||
<div class='left_menu_item' onclick='javascript:document.location="/";'>
|
||||
Accueil
|
||||
</div>
|
||||
<div class='left_menu_item_selected' onclick='javascript:document.location="/componants";'>
|
||||
Composants
|
||||
</div>
|
||||
<div class='left_menu_item' onclick='javascript:document.location="/kits";'>
|
||||
Kits
|
||||
</div>
|
||||
<div class='left_menu_item' onclick='javascript:document.location="/providers";'>
|
||||
Fournisseurs
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h3>Liste des composants</h3>
|
||||
<div class='block' style='border-top-style: none;'>
|
||||
<label onclick='document.location="/componants?offset={{ offset }}&s=reference&o={{ norder }}";'>Référence</label>
|
||||
<label onclick='document.location="/componants?offset={{ offset }}&s=designation&o={{ norder }}";' class='border_left' style='width: 440px;'>Désignation</label>
|
||||
<label onclick='document.location="/componants?offset={{ offset }}&s=quantity&o={{ norder }}";' class='border_left' style='width: 100px;'>Quantité</label>
|
||||
<label onclick='document.location="/componants?offset={{ offset }}&s=place&o={{ norder }}";' class='border_right border_left' style='width: 160px;'>Emplacement</label>
|
||||
<label style='width: 95px; cursor: default;'>Action</label>
|
||||
</div>
|
||||
{% set row_class = cycler('odd', 'even') %}
|
||||
{% for componant in componants %}
|
||||
<div class='block {{ row_class.next() }}'>
|
||||
<text style='width: 192px;'>{{ componant.reference }}</text>
|
||||
<text class='border_left' style='width: 432px;'>{{ componant.designation }}</text>
|
||||
<text class='num border_left' style='width: 92px;'>{{ componant.quantity }}</text>
|
||||
<text class='num border_right border_left' style='width: 152px;'>{{ componant.place }}</text>
|
||||
<div class='inner' style='width: 95px;'>
|
||||
<text class='edit' onclick='javascript:document.location="/componants/{{ componant.id }}"'></text>
|
||||
<text class='trash' onclick='javascript:confirm_delete()?document.location="/componants/delete/{{ componant.id }}":false;'></text>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<div class='pages_nav_bar'>
|
||||
<text><span class='prev_page' onclick='javascript:document.location="/componants?offset={{ prevhop }}&s={{ sort }}&o={{ order }}"'><</span></text>
|
||||
<text><span class='page_num'>{{ page }} / {{ page_count }}</span></text>
|
||||
<text><span class='next_page' onclick='javascript:document.location="/componants?offset={{ nexthop }}&s={{ sort }}&o={{ order }}"'>></span></text>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -1,8 +1,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
|
||||
<head>
|
||||
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.5.21" />
|
||||
<title>Stock Tetalab - {% block title %}Accueil{% endblock %}</title>
|
||||
<title>Tetastock - {% block title %}Accueil{% endblock %}</title>
|
||||
<meta name="viewport" content="initial-scale=1.0" />
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="stylesheet" type="text/css" href="/static/style/style.css" />
|
||||
@@ -12,7 +11,7 @@
|
||||
<div class='main_wrapper'>
|
||||
<div class='center'>
|
||||
<div class='banner' title='Stock Tetalab'>
|
||||
Stock Tetalab
|
||||
Tetastock
|
||||
</div>
|
||||
<div class='top_menu'>
|
||||
{% block top_menu %} <span class='top_menu_item_selected' onclick='javascript:document.location="./";'>Accueil</span> {% endblock %}
|
||||
|
||||
56
templates/users.html
Normal file
56
templates/users.html
Normal file
@@ -0,0 +1,56 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
|
||||
<head>
|
||||
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.5.21" />
|
||||
<title>Stock Tetalab - {% block title %}Accueil{% endblock %}</title>
|
||||
<meta name="viewport" content="initial-scale=1.0" />
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link rel="stylesheet" type="text/css" href="/static/style/style.css" />
|
||||
<script type="text/javascript" src="/static/scripts/tetalab.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class='main_wrapper'>
|
||||
<div class='center'>
|
||||
<div class='banner' title='Stock Tetalab'>
|
||||
Stock Tetalab
|
||||
</div>
|
||||
<div class='top_menu'>
|
||||
{% block top_menu %} <span class='top_menu_item_selected' onclick='javascript:document.location="./";'>Accueil</span> {% endblock %}
|
||||
</div>
|
||||
<div class='content_wrapper'>
|
||||
<div class='left_menu'>
|
||||
{% block left_menu %}
|
||||
<div class='left_menu_item_selected' onclick='javascript:document.location="/";'>
|
||||
Accueil
|
||||
</div>
|
||||
<div class='left_menu_item' onclick='javascript:document.location="/componants";'>
|
||||
Composants
|
||||
</div>
|
||||
<div class='left_menu_item' onclick='javascript:document.location="/kits";'>
|
||||
Kits
|
||||
</div>
|
||||
<div class='left_menu_item' onclick='javascript:document.location="/providers";'>
|
||||
Fournisseurs
|
||||
</div>{% endblock %}
|
||||
</div>
|
||||
<div class='content'>
|
||||
{% block content %}
|
||||
<h1>Gestion du stock</h1>
|
||||
<p>Ceci est l'outil de gestion de stock du <a href='https://www.tetalab.org'>Tetalab</a>.</p>
|
||||
<p>Cet outil vous permet:
|
||||
<ul>
|
||||
<li>De gérer la liste des composants électroniques en possession du Tetalab</li>
|
||||
<li>De gérer la liste des fournisseurs de composants</li>
|
||||
<li>De gérer la liste des kits de montage</li>
|
||||
</ul>
|
||||
</p>
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
<div class='footer'>
|
||||
Tetalab - Le Hacker Space Toulousaing' Putaing' Cong' -
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user