Commit dc5fb994 authored by Georges Gressot's avatar Georges Gressot 💬
Browse files

résolution de conflits

parents 97ef4faa 090bafdb
No preview for this file type
File added
......@@ -26,6 +26,9 @@ Version 1.19 (~Nantechilde) beta
Version 1.20 (Wulfégonde) 2021.03.23
Version 1.21 (~Berchilde) beta
Version 2.00 (Chimnechilde) 2021.07.09
Version 2.01 (~Bathilde) beta
(Next names following https://fr.wikipedia.org/wiki/Liste_des_reines_et_imp%C3%A9ratrices_de_France from Basina)
......@@ -37,3 +40,5 @@ Nouveautés de la dernière version master (* = important) :
* routage de retour aux listes
* mise à jour du manuel utilisateur
Version 2 : Version multi-projets (beta tant qu'elle n'est pas testée grandeur nature ...)
from django.contrib import admin
# Register your models here.
from .models import Project, Library, ItemRecord, Instruction, Feature, Exclusion, BddAdmin, ReplyMail
from .models import ReplyMail #there was but not any more : Project, Library, ItemRecord, Instruction, Feature, Exclusion, BddAdmin,
admin.site.register(Project)
admin.site.register(Library)
admin.site.register(ItemRecord)
admin.site.register(Instruction)
admin.site.register(Feature)
admin.site.register(Exclusion)
admin.site.register(BddAdmin)
# admin.site.register(Project)
# admin.site.register(Library)
# admin.site.register(ItemRecord)
# admin.site.register(Instruction)
# admin.site.register(Feature)
# admin.site.register(Exclusion)
# admin.site.register(BddAdmin)
admin.site.register(ReplyMail)
from django import forms
from .models import ItemRecord, Instruction, Library, EXCLUSION_CHOICES, Feature, LIBRARY_CHOICES, FEATURE_CHOICES, CHECKING_CHOICES, Check, Flag, PHASE_CHOICES
from .models import *
from django.utils.translation import ugettext_lazy as _
class PositionForm(forms.ModelForm):
class Meta:
model = ItemRecord
fields = ('rank', 'excl', 'comm',)
widgets = {
'rank' : forms.Select(attrs={'title': _("Choisissez 1 pour la collection mère ; 2, 3 ou 4 selon l'importance de votre collection ou d'autres raisons ...")}),
'excl' : forms.Select(choices=EXCLUSION_CHOICES),
'comm' : forms.Textarea(attrs={'placeholder': _("Commentaire éventuel pour expliquer votre choix (max. 250 caractères)")}),
}
# LIBRARY_CHOICES = ('checker','checker'),
# if Library.objects.using(bdd).all().exclude(name ='checker'):
# for l in Library.objects.using(bdd).all().exclude(name ='checker').order_by('name'):
# LIBRARY_CHOICES += (l.name, l.name),
class InstructionForm(forms.ModelForm):
class Meta:
REM_CHOICES =('',''),
if Library.objects.all().exclude(name ='checker'):
for l in Library.objects.all().exclude(name ='checker').order_by('name'):
REM_CHOICES += (l.name, l.name),
model = Instruction
exclude = ('sid', 'name', 'bound',)
widgets = {
'oname' : forms.Select(choices=REM_CHOICES, attrs={'title': _("Intitulé de la bibliothèque ayant précédemment déclaré une 'exception' ou un 'améliorable'")}),
'descr' : forms.TextInput(attrs={'placeholder': _("1990(2)-1998(12) par ex."), 'title': _("Suite ininterrompue chronologiquement ; le n° de ligne est à déterminer selon l'ordre chronologique de ce champ")}),
'exc' : forms.TextInput(attrs={'placeholder': _("1991(5) par ex."), 'title': \
_("éléments manquants dans le segment pour la forme considérée (pas forcément des lacunes si l'on considère la forme reliée)")}),
'degr' : forms.TextInput(attrs={'placeholder': _("1995(4) par ex."), 'title': \
_("éléments dégradés (un volume relié dégradé peut être remplacé par les fascicules correspondants en bon état)")}),
}
# EXCLUSION_CHOICES = ('', ''),
# for e in Exclusion.objects.using(bdd).all().order_by('label'):
# EXCLUSION_CHOICES += (e.label, e.label),
# EXCLUSION_CHOICES += ("Autre (Commenter)", _("Autre (Commenter)")),
#
#
# class PositionForm(forms.ModelForm):
# class Meta:
# model = ItemRecord
# fields = ('rank', 'excl', 'comm',)
# widgets = {
# 'rank' : forms.Select(attrs={'title': _("Choisissez 1 pour la collection mère ; 2, 3 ou 4 selon l'importance de votre collection ou d'autres raisons ...")}),
# 'excl' : forms.Select(choices=EXCLUSION_CHOICES),
# 'comm' : forms.Textarea(attrs={'placeholder': _("Commentaire éventuel pour expliquer votre choix (max. 250 caractères)")}),
# }
class FeatureForm(forms.ModelForm):
# class InstructionForm(forms.ModelForm):
# class Meta:
# REM_CHOICES =('',''),
# if Library.objects.using(bdd).all().exclude(name ='checker'):
# for l in Library.objects.using(bdd).all().exclude(name ='checker').order_by('name'):
# REM_CHOICES += (l.name, l.name),
# model = Instruction
# exclude = ('sid', 'name', 'bound',)
# widgets = {
# 'oname' : forms.Select(choices=REM_CHOICES, attrs={'title': _("Intitulé de la bibliothèque ayant précédemment déclaré une 'exception' ou un 'améliorable'")}),
# 'descr' : forms.TextInput(attrs={'placeholder': _("1990(2)-1998(12) par ex."), 'title': _("Suite ininterrompue chronologiquement ; le n° de ligne est à déterminer selon l'ordre chronologique de ce champ")}),
# 'exc' : forms.TextInput(attrs={'placeholder': _("1991(5) par ex."), 'title': \
# _("éléments manquants dans le segment pour la forme considérée (pas forcément des lacunes si l'on considère la forme reliée)")}),
# 'degr' : forms.TextInput(attrs={'placeholder': _("1995(4) par ex."), 'title': \
# _("éléments dégradés (un volume relié dégradé peut être remplacé par les fascicules correspondants en bon état)")}),
# }
# class FeatureForm(forms.ModelForm):
# class Meta:
# model = Feature
# fields = ('libname', 'feaname',)
# widgets = {
# 'libname' : forms.Select(choices=LIBRARY_CHOICES),
# 'feaname' : forms.RadioSelect(choices=FEATURE_CHOICES),
# }
class BddAdminForm(forms.ModelForm):
class Meta:
model = Feature
fields = ('libname', 'feaname',)
widgets = {
'libname' : forms.Select(choices=LIBRARY_CHOICES),
'feaname' : forms.RadioSelect(choices=FEATURE_CHOICES),
}
model = BddAdmin
fields = ('contact',)
# widgets = {
# 'contact' : forms.EmailInput(),
# 'active' : forms.CheckBoxInput(),
# }
class CheckForm(forms.ModelForm):
......@@ -58,6 +80,6 @@ class AdminCheckForm(forms.ModelForm):
}
class InstructionCheckerFilter(forms.Form):
name = forms.MultipleChoiceField(required = True, widget=forms.CheckboxSelectMultiple, choices=LIBRARY_CHOICES[1:], label =_("Bibliothèques impliquées (opérateur 'ou')"))
phase = forms.MultipleChoiceField(required = True, widget=forms.CheckboxSelectMultiple, choices=PHASE_CHOICES, label =_("Phase d'instruction"))
# class InstructionCheckerFilter(forms.Form):
# name = forms.MultipleChoiceField(required = True, widget=forms.CheckboxSelectMultiple, choices=LIBRARY_CHOICES[1:], label =_("Bibliothèques impliquées (opérateur 'ou')"))
# phase = forms.MultipleChoiceField(required = True, widget=forms.CheckboxSelectMultiple, choices=PHASE_CHOICES, label =_("Phase d'instruction"))
from django.db import models
from django.utils.translation import ugettext_lazy as _
class Project(models.Model):
"""Model for project."""
name = models.CharField('project code name', max_length=30, blank =True)
......@@ -21,11 +20,6 @@ class Library(models.Model):
def __str__(self):
return self.name
LIBRARY_CHOICES = ('checker','checker'),
if Library.objects.all().exclude(name ='checker'):
for l in Library.objects.all().exclude(name ='checker').order_by('name'):
LIBRARY_CHOICES += (l.name, l.name),
#Reasons to exclude an item record (see under ; class : ItemRecord,
#field : excl) :
class Exclusion(models.Model):
......@@ -34,11 +28,6 @@ class Exclusion(models.Model):
def __str__(self):
return self.label
EXCLUSION_CHOICES = ('', ''),
for e in Exclusion.objects.all().order_by('label'):
EXCLUSION_CHOICES += (e.label, e.label),
EXCLUSION_CHOICES += ("Autre (Commenter)", _("Autre (Commenter)")),
#Ranking choices :
RANKING_CHOICES = ((4, 4), (3, 3), (2, 2), (1, 1),)
......@@ -57,8 +46,7 @@ class ItemRecord(models.Model):
#Ranking is used to order the libraries for treatment based on holdings
#statement or other criteria ; 1 shall be used by the library claiming
#to be the repository for the publication. 0 is used in case of exclusion :
excl = models.CharField("exclusion ?", max_length=100, \
choices=EXCLUSION_CHOICES, blank=True)
excl = models.CharField("exclusion ?", max_length=100, blank=True)
#To let a library declaring that its item must not be taken into account
#for one of the EXCLUSION_CHOICES reasons.
comm = models.CharField('comment', max_length=250, blank=True)
......@@ -119,18 +107,17 @@ FEATURE_CHOICES = (
class Feature(models.Model):
"""Model for features."""
libname = models.CharField('library', max_length=30, blank=False, choices=LIBRARY_CHOICES)
feaname = models.CharField('feature', max_length=120, default="ranking", blank=False, choices=FEATURE_CHOICES)
libname = models.CharField('library', max_length=30, blank=False)
feaname = models.CharField('feature', max_length=120, default="ranking", blank=False)
def __str__(self):
info = self.libname + ' | ' + self.feaname
return info
class BddAdmin(models.Model):
"""Model for BDD administrator(s)"""
name = models.CharField('name', max_length=30, unique=True)
contact = models.EmailField('email')
def __str__(self):
return self.name
return self.contact
#Checking choices :
CHECKING_CHOICES = (('Visa', _("Visa OK (La fiche est conforme)")), ('Notify', _("Anomalie (L'administrateur de la base sera informé)")),)
......@@ -158,3 +145,11 @@ class ReplyMail(models.Model):
sendermail = models.EmailField('email')
def __str__(self):
return self.sendermail
class Utilisateur(models.Model):
"""Model for users"""
username = models.CharField('username', max_length=30, unique =True, blank=False) #Attention : Unique
mail = models.EmailField('user email', unique =True, blank=False) #Attention : Unique
def __str__(self):
info = self.mail + ' | ' + self.username
return info
......@@ -9,7 +9,12 @@
<meta charset="utf-8" />
{% load static %}
<<<<<<< HEAD
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}"> <link rel="shortcut icon" type="image/x-icon" href="{% static './favicon.ico' %}">
=======
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">
<link rel="shortcut icon" type="image/x-icon" href="{% static './favicon.ico' %}">
>>>>>>> multi
......@@ -20,33 +25,34 @@
<div id="logo"><img src="{% static "pictures/signature_eplouribousse.svg" %}" alt="Logo eplouribousse Unistra"/></div>
<div id="content">
{% if k != 0 %}
<p style="text-align:right;"><b><font color= #017a04 >@ </font></b>{{ k }} (<a href="/./disconnect">{% trans "Déconnexion" %}</a>)</p>
{% else %}
<!-- {% if k != 0 %}
<p style="text-align:right;"><b><font color= #017a04 >@ </font></b>{{ k }} (<a href="/./default/disconnect">{% trans "Déconnexion" %}</a>)</p>
{% else %} -->
<!-- <b><font color= #ff0004 >(User : Anonymous)</font></b> -->
<!-- (User : Anonymous) -->
{% endif %}
<!-- {% endif %} -->
</div>
<p></p>
<center>
<p>***eplouribousse est une application web destinée à faciliter la gestion du dédoublonnement des périodiques dans les bibliothèques.***</p>
<p>*** eplouribousse est une application web destinée à faciliter la gestion du dédoublonnement des périodiques dans les bibliothèques ***</p>
<p>Licence : <a target="_blank" href="https://www.gnu.org/licenses/gpl-3.0.txt">GPLv3</a></p>
<p>Version : {{ version }} - Date : {{ date }}</p>
<p>Serveur : {{ host }}</p>
<p>Version : {{ version }}</p>
<p>{{ date }}</p>
<p>Licence : <a target="_blank" href="https://www.gnu.org/licenses/gpl-3.0.txt">GPLv3</a></p>
<p>Développée avec Django 2.2.12 (LTS) et Python 3.5.2, ReportLab open-source [3.5.42], HTML5, CSS3.</p>
<p>Développée avec : Django 2.2.12 (LTS), Python 3.5.2, ReportLab open-source [3.5.42], HTML5, CSS3.</p>
<p>Code en accès libre sur le <a target="_blank" href="https://git.unistra.fr/gressot/yellow"> GitLab</a> de l'Université de Strasbourg et sur les miroirs suivants :</p>
<p>
<a target="_blank" href="https://github.com/abes-esr/eplouribousse">GitHub</a> de l'Abes
·
<a target="_blank" href="https://sourcesup.renater.fr/projects/eplouribousse/">SourceSup</a> (accès Renater)
·
<a target="_blank" href="https://code.launchpad.net/eplouribousse">Launchpad</a> (Help by Canonical Ltd)
<a target="_blank" href="https://code.launchpad.net/eplouribousse">Launchpad</a> (by Canonical Ltd)
</p>
<p>Pour demander une information, signaler un bug, faire une réclamation, faire une suggestion, donner un avis ou pour toute autre raison : contacter le <a target="_blank" href="/contact">développeur</a> de l'application.</p>
<p><a target="_blank" href="https://groupes.renater.fr/sympa/info/eplouribousse-newsletter">{% trans "Me tenir au courant" %}</a> · <a target="_blank" href="https://groupes.renater.fr/sympa/info/eplouribousse">{% trans "Forum des utilisateurs" %}</a> · <a target="_blank" href="https://bugs.launchpad.net/eplouribousse">{% trans "Suivi des bugs" %}</a>{% if webmaster != "" %} · Contacter l'<a target="_blank" href="/webmaster">{% trans "administrateur" %}</a> du site{% endif %}</p>
<p>Pour demander une information, signaler un bug, faire une réclamation, faire une suggestion, donner un avis ou pour toute autre raison : contacter le <a target="_blank" href="/default/contact">développeur</a> de l'application.</p>
<p><a target="_blank" href="https://groupes.renater.fr/sympa/info/eplouribousse-newsletter">{% trans "Me tenir au courant" %}</a> · <a target="_blank" href="https://groupes.renater.fr/sympa/info/eplouribousse">{% trans "Forum des utilisateurs" %}</a> · <a target="_blank" href="https://bugs.launchpad.net/eplouribousse">{% trans "Suivi des bugs" %}</a>{% if webmaster != "" %} · Contacter l'<a target="_blank" href="/default/webmaster">{% trans "administrateur" %}</a> du site{% endif %}</p>
<p>Crédits : eplouribousse utilise des données sous <a target="_blank" href="http://www.abes.fr/Media/Fichiers/Footer/Presentation-de-l-ABES/licence-Etalab-francais">licence etalab</a> fournies par l'<a target="_blank" href="https://abes.fr/l-abes/presentation/">Abes</a>.</p>
<p>Copyright (C) 2018-{% now 'Y' %} : Georges Gressot, Conservation et valorisation des collections · Service des bibliothèques de l'Université de Strasbourg.</p></center>
<p>Copyright (C) 2018-{% now 'Y' %} : G. Gressot, Service des bibliothèques de l'Université de Strasbourg.</p></center>
</body>
......
......@@ -16,16 +16,17 @@
</head>
<div id="sticky-section">
<nav id="sticky-menu">
<a href="/router/{{ lid }}">{% trans "Retour à la liste" %}</a>
<a href="/">{% trans "Accueil" %}</a>
<a href="/dashboard">{% trans "Supervision" %}</a>
<a href="/search">{% trans "Recherche (bêta)" %}</a>
<a href="/{{ bdd }}/router/{{ lid }}">{% trans "Retour à la liste" %}</a>
<a href="/{{ bdd }}">{% trans "Accueil" %}</a>
<a href="/{{ bdd }}/dashboard">{% trans "Supervision" %}</a>
<a href="/{{ bdd }}/search">{% trans "Recherche (bêta)" %}</a>
<a target="_blank" href="{% static 'doc/User_Documentation.pdf' %}">{% trans "Manuel de l'utilisateur" %}</a>
<a target="_blank" href="/about">{% trans "A propos" %}</a>
<a target="_blank" href="/./{{ bdd }}/projectmaster">{% trans "Contact du projet" %}</a>
<a target="_blank" href="/./default/about">{% trans "A propos" %}</a>
</nav>
{% if k != 0 %}
<p style="text-align:right;"><b><font color= #017a04 >@ </font></b>{{ k }} (<a href="/./disconnect">{% trans "Déconnexion" %}</a>)</p>
<p style="text-align:right;"><b><font color= #017a04 >@ </font></b>{{ k }} (<a href="/./default/disconnect">{% trans "Déconnexion" %}</a>)</p>
{% else %}
<!-- <b><font color= #ff0004 >(User : Anonymous)</font></b> -->
<!-- (User : Anonymous) -->
......@@ -97,7 +98,7 @@
<p>{% trans "[Segment] = Suite ininterrompue chronologiquement, [Exceptions] = éléments manquant dans le segment pour la forme considérée" %}.</p>
<div id="menucontextuel">
<button><b><a href="/add/{{ sid }}/{{ lid }}">{% trans "Vider le formulaire ci-dessous" %}</a></b></button>
<button><b><a href="/{{ bdd }}/add/{{ sid }}/{{ lid }}">{% trans "Vider le formulaire ci-dessous" %}</a></b></button>
</div>
<form method="post">{% csrf_token %}
......@@ -149,12 +150,12 @@
<div id="menucontextuel">
<p><button><b><a href="/end/{{ sid }}/{{ library.lid }}">{% trans "J'ai fini pour la forme courante" %}</a></b></button> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <button><b><a href="/del/{{ sid }}/{{ library.lid }}">{% trans "Supprimer une ligne erronée" %}</a></b></button> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <button><b><a href="/sel/{{ sid }}/{{ library.lid }}">{% trans "Modifier une ligne erronée" %}</a></b></button> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <button><b><a href="/router/{{ lid }}">{% trans "Reprendre plus tard" %}</a></b></button></p>
<p><button><b><a href="/{{ bdd }}/end/{{ sid }}/{{ library.lid }}">{% trans "J'ai fini pour la forme courante" %}</a></b></button> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <button><b><a href="/{{ bdd }}/del/{{ sid }}/{{ library.lid }}">{% trans "Supprimer une ligne erronée" %}</a></b></button> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <button><b><a href="/{{ bdd }}/sel/{{ sid }}/{{ library.lid }}">{% trans "Modifier une ligne erronée" %}</a></b></button> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <button><b><a href="/{{ bdd }}/router/{{ lid }}">{% trans "Reprendre plus tard" %}</a></b></button></p>
</div>
<div id="credits">
<p>Conservation et valorisation des collections · Service des bibliothèques de l'Université de Strasbourg · <a target="_blank" href="/about">{% trans "A propos" %}</a> . <a target="_blank" href="https://groupes.renater.fr/sympa/info/eplouribousse-newsletter">{% trans "Me tenir au courant" %}</a> · <a target="_blank" href="https://groupes.renater.fr/sympa/info/eplouribousse">{% trans "Forum des utilisateurs" %}</a> · <a target="_blank" href="https://bugs.launchpad.net/eplouribousse">{% trans "Suivi des bugs" %}</a>{% if webmaster != "" %} · <a target="_blank" href="/webmaster">{% trans "Administrateur du site" %}</a>{% endif %}</p>
<p>Service des bibliothèques de l'Université de Strasbourg · <a target="_blank" href="/./default/about">{% trans "A propos" %}</a> . <a target="_blank" href="https://groupes.renater.fr/sympa/info/eplouribousse-newsletter">{% trans "Me tenir au courant" %}</a> · <a target="_blank" href="https://groupes.renater.fr/sympa/info/eplouribousse">{% trans "Forum des utilisateurs" %}</a> · <a target="_blank" href="https://bugs.launchpad.net/eplouribousse">{% trans "Suivi des bugs" %}</a>{% if webmaster != "" %} · <a target="_blank" href="/default/webmaster">{% trans "Administrateur du site" %}</a>{% endif %}</p>
<p>eplouribousse utilise des données sous <a target="_blank" href="http://www.abes.fr/Media/Fichiers/Footer/Presentation-de-l-ABES/licence-Etalab-francais">licence etalab</a> fournies par l'<a target="_blank" href="https://abes.fr/l-abes/presentation/">Abes</a>.</p><p>Version : {{ version }}</p>
......
{% load i18n %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">
<link rel="shortcut icon" type="image/x-icon" href="{% static './favicon.ico' %}">
</head>
<div id="sticky-section">
<nav id="sticky-menu">
<a href="/{{ bdd }}">{% trans "Accueil" %}</a>
<a href="/{{ bdd }}/dashboard">{% trans "Supervision" %}</a>
<a href="/{{ bdd }}/search">{% trans "Recherche (bêta)" %}</a>
<a target="_blank" href="{% static 'doc/User_Documentation.pdf' %}">{% trans "Manuel de l'utilisateur" %}</a>
<!-- <a target="_blank" href="/./{{ bdd }}/projectmaster">{% trans "Contact du projet" %}</a> -->
<a target="_blank" href="/./default/about">{% trans "A propos" %}</a>
</nav>
{% if k != 0 %}
<p style="text-align:right;"><b><font color= #017a04 >@ </font></b>{{ k }} (<a href="/./default/disconnect">{% trans "Déconnexion" %}</a>)</p>
{% else %}
<!-- <b><font color= #ff0004 >(User : Anonymous)</font></b> -->
<!-- (User : Anonymous) -->
{% endif %}
<!-- </div> -->
<body>
<!-- <div id="content"> -->
<h2>{% trans "Administration du projet" %} : {{ project }}</h2>
<div align="right"><a href="/{{ bdd }}/adminbase">{% trans "Vider les formulaires ci-dessous" %}</a></div>
{% if messages %}
<ul class="messages">
{% for message in messages %}
<center><font color= #0000FF ><p{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</p></font></center>
{% endfor %}
</ul>
{% endif %}
<!-- <p><center><font color= #FF0000 >{% trans "Attention : Une seule validation à la fois" %}.</font></center></p> -->
<HR>
</div>
<div id="content">
<p><b>{% trans "Gestion des motifs d'exlusion" %} :</b></p>
<p>{% trans "Motifs actuels" %} ({{ exclnbr }}) : {% for ex in EXCLUSION_CHOICES %} {{ ex.0 }} - {% endfor %} </p>
<p><form method="post">{% csrf_token %} {% trans "Le cas échéant, motif à ajouter" %} {{ exclform.exclusup }} <input type="submit" value="{% trans "Valider" %}"></form></p>
<p><form method="post">{% csrf_token %} {% trans "Le cas échéant, motif à modifier" %} {{ exclsupprform.exclreason }} &nbsp;&nbsp;&nbsp;&nbsp;
{% trans "Nouvel intitulé" %} {{ exclsupprform.exclmod }} &nbsp;&nbsp;&nbsp;&nbsp; {% trans "ou supprimer" %}{{ exclsupprform.suppr }} <input type="submit" value="{% trans "Valider" %}"> </form><p>
<HR>
<!-- </div> -->
<!-- <div id="content"> -->
<!-- <p><form method="post">{% csrf_token %}{% trans "Modification des propriétés d'une bibliothèque" %} : {{ libriform.librname }} <input type="submit" value="{% trans "Valider" %}"></form></p> -->
<p><b>{% trans "Gestion des bibliothèques" %} ({{ sizelib }}, {% trans "checker exclu" %}) :</b></p>
<table border="1">
{% for l in libtuple %}
<thead>
<th>{% trans "Propriété" %}</th>
<th>{% trans "Valeur actuelle" %}</th>
<th>{% trans "Identifiant" %}</th>
<!-- <th>{% trans "Le cas échéant, nouvelle valeur" %}</th> -->
</thead>
<tbody>
<tr>
<td>{% trans "Nom de la bibliothèque" %}</td>
<td>{{ l.0.name }} {% if l.0.name == 'checker' %} ({% trans "Non modifiable" %}) {% endif %}</td>
<td></td>
<!-- <td>{% if l.name != 'checker' %}<form method="post">{% csrf_token %}{{ formlibname.newlibrname }} <input type="submit" value="{% trans "Valider" %}"> {% trans "Rétroactif (instructions)" %}</form>{% else %} ({% trans "Non modifiable" %}) {% endif %}</td> -->
</tr>
<tr>
<td>{% trans "Contact principal" %} ({% trans "Obligatoire" %})</td>
<td>{{ l.0.contact }}</td>
<td>{{ l.1.username }}</td>
<!-- <td><form method="post">{% csrf_token %}{{ formlibct1.contact1 }} <input type="submit" value="{% trans "Valider" %}"></form></td> -->
</tr>
<tr>
<td>{% trans "Second contact" %}</td>
<td>{% if l.0.contact_bis != None %} {{ l.0.contact_bis }} {% else %} ({% trans "Vacant" %}) {% endif %}</td>
<td>{% if l.2 != None %} {{ l.2.username }} {% endif %}</td>
<!-- <td><form method="post">{% csrf_token %}{{ formlibct2.contact2 }} <input type="submit" value="{% trans "Valider" %}"></form> {% if l.contact_bis != None %}<form method="post">{% csrf_token %} {% trans "ou supprimer" %} {{ formlibsu2.suppr2 }} <input type="submit" value="{% trans "Valider" %}"></form>{% else %}{% endif %}</td> -->
</tr>
<tr>
<td>{% trans "Troisième contact" %}</td>
<td>{% if l.0.contact_ter != None %} {{ l.0.contact_ter }} {% else %} ({% trans "Vacant" %}) {% endif %}</td>
<td>{% if l.3 != None %} {{ l.3.username }} {% endif %}</td>
<!-- <td><form method="post">{% csrf_token %}{{ formlibct3.contact3 }} <input type="submit" value="{% trans "Valider" %}"></form> {% if l.contact_ter != None %}<form method="post">{% csrf_token %} {% trans "ou supprimer" %} {{ formlibsu3.suppr3 }} <input type="submit" value="{% trans "Valider" %}"></form>{% else %}{% endif %}</td> -->
</tr>
</tbody>
{% endfor %}
</table>
<!-- <p><b><font color= #FF0000 >{% trans "Le nom courant est à indiquer dans tous les cas (drag & drop) ; une seule validation à la fois" %}</font></b></p> -->
<p><form method="post"> {% csrf_token %}
{{ formlibname.curname }}
&nbsp;&nbsp;&nbsp;&nbsp;
{% trans "Nouveau nom de la bibliothèque" %} {{ formnewlibname.newlibrname }}
<input type="submit" value="{% trans "Valider" %}"> </form></p>
<p><form method="post"> {% csrf_token %}{{ formlibct.name }} &nbsp;&nbsp;&nbsp;&nbsp; {{ formlibct.contactnbr }}
&nbsp;&nbsp;&nbsp;&nbsp; {% trans "Supprimer" %} {{ formlibct.suppr }}<br />
{% trans "ou modifier (ou créer) la paire email / identifiant pour le contact choisi" %} {{ formlibct.contact }} / {{ formlibct.ident }}
<input type="submit" value="{% trans "Valider" %}"> </form>
</p>
<HR>
<!-- <p><b><center>{% trans "Attention : Le cas échéant, pensez à administrer les utilisateurs dans la base principale : à moins que .... !!! afficher ici les choses à régler !" %}. <a target="_blank" href="/./admin/">{% trans "OK j'y vais" %}</a></center></b></p>
<HR> -->
<p><b>{% trans "Gestion des administrateurs" %} ({{ sizeadm }}) :</b></p>
<table border="1">
<thead>
<th>{% trans "mail de l'admin" %}</th>
<th>{% trans "identifiant" %}</th>
<!-- <th>{% trans "Identifiant" %}</th> -->
<!-- <th>{% trans "Le cas échéant, nouvelle valeur" %}</th> -->
</thead>
<tbody>
{% for adm in admintup %}
<tr>
<td>{{ adm.0 }}</td>
<td>{{ adm.1.username }}</td>
</tr>
</tbody>
{% endfor %}
</table>
<p><form method="post">{% csrf_token %}{% trans "Ajouter un administrateur pour ce projet" %} : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; email {{ projajadmform.contactajadm }} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% trans "Identifiant" %} {{ projajadmform.identajadm }} <input type="submit" value="{% trans "Valider" %}"></form></p>
<p><form method="post"> {% csrf_token %}{% trans "Supprimer un administrateur" %} : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {{ projsuppradmform.contactsuadm }} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% trans "êtes-vous sûr ?" %} {{ projsuppradmform.suppradm }} <input type="submit" value="{% trans "Supprimer" %}"> </form><p>
<HR>
<p><b>{% trans "Gestion des utilisateurs" %} ({{ sizeuters }}) :</b></p>
<p><form method="post">{% csrf_token %}{{ utermodform.uterxy }} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% trans "Modifier l'email" %} {{ utermodform.newutermail }} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {% trans "ou l'identifiant" %} {{ utermodform.newuterid }} <input type="submit" value="{% trans "Valider" %}"></form></p>
<HR>
<p><b>{% trans "Gestion des informations projet" %} :</b></p>
<table border="1">
<thead>
<th>{% trans "Propriété" %}</th>
<th>{% trans "Valeur actuelle" %}</th>
<th>{% trans "Le cas échéant, nouvelle valeur" %}</th>
</thead>
<tbody>
<tr>
<td>{% trans "Nom du projet" %}</td>
<td>{{ project }}</td>
<td><form method="post">{% csrf_token %}{{ projnamform.projname }} <input type="submit" value="{% trans "Valider" %}"></form></td>
</tr>
<tr>
<td>{% trans "Résumé" %}</td>
<td>{{ abstract }}</td>
<td><form method="post">{% csrf_token %}{{ projdescform.projdescr }} <input type="submit" value="{% trans "Valider" %}"></form></td>
</tr>
<tr>
<td>{% trans "Date d'extraction de la base" %}</td>
<td>{{ extractdate }}</td>
<td><form method="post">{% csrf_token %}{{ projdateform.projdate }} <input type="submit" value="{% trans "Valider" %}"></form></td>
</tr>
</tbody>
</table>
<center><a href="/{{ bdd }}">{% trans "Retour à l'accueil" %}</a></center>
</div>
<div id="credits">
<p>Service des bibliothèques de l'Université de Strasbourg · <a target="_blank" href="/./default/about">{% trans "A propos" %}</a> . <a target="_blank" href="https://groupes.renater.fr/sympa/info/eplouribousse-newsletter">{% trans "Me tenir au courant" %}</a> · <a target="_blank" href="https://groupes.renater.fr/sympa/info/eplouribousse">{% trans "Forum des utilisateurs" %}</a> · <a target="_blank" href="https://bugs.launchpad.net/eplouribousse">{% trans "Suivi des bugs" %}</a>{% if webmaster != "" %} · <a target="_blank" href="/default/webmaster">{% trans "Administrateur du site" %}</a>{% endif %}</p>
<p>eplouribousse utilise des données sous <a target="_blank" href="http://www.abes.fr/Media/Fichiers/Footer/Presentation-de-l-ABES/licence-Etalab-francais">licence etalab</a> fournies par l'<a target="_blank" href="https://abes.fr/l-abes/presentation/">Abes</a>.</p>
<p>Version : {{ version }}</p>
</div>
</body>
</html>
......@@ -15,14 +15,15 @@
<div id="sticky-section">
<nav id="sticky-menu">
<a href="/">{% trans "Accueil" %}</a>
<a href="/dashboard">{% trans "Supervision" %}</a>
<a href="/search">{% trans "Recherche (bêta)" %}</a>
<a href="/{{ bdd }}">{% trans "Accueil" %}</a>
<a href="/{{ bdd }}/dashboard">{% trans "Supervision" %}</a>
<a href="/{{ bdd }}/search">{% trans "Recherche (bêta)" %}</a>
<a target="_blank" href="{% static 'doc/User_Documentation.pdf' %}">{% trans "Manuel de l'utilisateur" %}</a>
<a target="_blank" href="/about">{% trans "A propos" %}</a>
<a target="_blank" href="/./{{ bdd }}/projectmaster">{% trans "Contact du projet" %}</a>
<a target="_blank" href="/./default/about">{% trans "A propos" %}</a>
</nav>
{% if k != 0 %}
<p style="text-align:right;"><b><font color= #017a04 >@ </font></b>{{ k }} (<a href="/./disconnect">{% trans "Déconnexion" %}</a>)</p>
<p style="text-align:right;"><b><font color= #017a04 >@ </font></b>{{ k }} (<a href="/./default/disconnect">{% trans "Déconnexion" %}</a>)</p>
{% else %}
<!-- <b><font color= #ff0004 >(User : Anonymous)</font></b> -->
<!-- (User : Anonymous) -->
......@@ -32,27 +33,27 @@
<p><button><b><a href="/csv/{{ lid }}/None/{{ resslist }}/20/{{ size }}" title="(Avec les autres rattachements)">{% trans "liste csv" %}</a></b></button> ~ <b>{% trans "Nombre de ressources concernées" %} :</b> {{ size }}
<p><button><b><a href="/{{ bdd }}/csv/{{ lid }}/None/{{ resslist }}/20/{{ size }}" title="(Avec les autres rattachements)">{% trans "liste csv" %}</a></b></button> ~ <b>{% trans "Nombre de ressources concernées" %} :</b> {{ size }}
{% if nlib > 2 %}
~ <a href="/arbfilter/{{ lid }}">{% trans "Restreindre la liste aux arbitrages avec une autre bibliothèque" %}</a></p>
~ <a href="/{{ bdd }}/arbfilter/{{ lid }}">{% trans "Restreindre la liste aux arbitrages avec une autre bibliothèque" %}</a></p>
{% else %}
{% endif %}</p>
<p></p>
<p>[<b><font color= #a7a7a7 >1</font></b> : <a href="/arbrk1_list/{{ lid }}/title">{% trans "Concurrence sur le rang 1" %}</a>]
~ [<b><font color= #a7a7a7 >ø</font></b> : <a href="/arbnork1_list/{{ lid }}/title">{% trans "Rang 1 non revendiqué" %}</a>]</p>
<p>[<b><font color= #a7a7a7 >1</font></b> : <a href="/{{ bdd }}/arbrk1_list/{{ lid }}/title">{% trans "Concurrence sur le rang 1" %}</a>]
~ [<b><font color= #a7a7a7 >ø</font></b> : <a href="/{{ bdd }}/arbnork1_list/{{ lid }}/title">{% trans "Rang 1 non revendiqué" %}</a>]</p>
<p>{% trans "Pour chercher une occurrence dans cette liste, veuillez utiliser la fonctionnalité de recherche du navigateur." %}</p>
<p>{% trans "Pour modifier votre positionnement, cliquez sur le lien [Identifiant de la ressource]" %}</p>