Commit Graph

10 Commits

Author SHA1 Message Date
2a1301d93c Un bouton "Demander un devis"
* INominative.cs: Interface d'un objet destiné à un préstataire
  spécifié,
par une propriété `PerformerName`

* NominativeSimpleBookingQuery.cs: implémente l'interface INominative

* packages.config:
* packages.config:
* packages.config:
* ITContentProvider.csproj:
* NpgsqlBlogProvider.csproj:
* NpgsqlContentProvider.csproj: mise à niveau Npgsql

* NpgsqlContentProvider.cs: stocke la classe de commande

* AccountController.cs: implémente la methode de login de l'API

* BasketController.cs: implémente la methode de recupération du panier

* AccountController.cs: enléve un commaentaire obsolète

* YavscHelpers.cs:
* FrontOfficeController.cs: refabrication de l'ajout au panier

* yavsc.user.js: enlève un message de debuggage js

* Performer.ascx: formattage

* Performers.aspx: implémente le bouton de demande de reservation

* Yavsc.csproj: validate unobtrusive

* packages.config: référence M$ Owin

* UserFileSystemManager.cs: Fixe: Ne pas créer un dossier de
  destination si on a aucun fichier à recevoir.

* Commande.cs: * Ajoute le nom du client dans l'objet commande
* Factorise le positionnement des paramêtres
* La commande est une instance du type spécifié à la commande, dans
  son paramêtre `type`

* SimpleBookingQuery.cs: refabrication

* LocalizedText.resx:
* LocalizedText.fr.resx: traducations

* UserNameBase.cs: implemente l'interface `IUserName`

* IContentProvider.cs: doc xml

* YavscModel.csproj: reference le nouveau code source

* Web.config: retour à une version d'équère

* IUserName.cs: Définit l'interface d'un objet associé à un
  utilisateur.
2015-12-23 13:14:50 +01:00
979d577d2a Deux nouveaux thèmes, IT,
Choix du thème avec un combo dans la page `Account/Profile`

* input.css:
* style.css: une feuille pour les champs de formulaire thème sombre

* style.css: une feuille pour un nouveau thème clair "IT"

* style.css: une feuille pour un nouveau thème sombre "IT"

* AccountController.cs: renseigne le combobox des thèmes disponibles

* YavscHelpers.cs: Prendre la liste des thème dans un paramètre de
  configuration

* Profile.aspx: Selectionner le thème avec un combo à partir de la
  page du profile

* Web.config: le thème par défaut devient "clear",
le paramètre "Themes" contient la liste des thèmes autorisés.

* Yavsc.csproj: référencer les nouveaux thèmes
2015-12-16 13:32:15 +01:00
58839ab69c le theme, WIP les cercles
* input.css: refabrication des feuilles de style : la feuille des
  champs de formulaire.

* CircleMember.cs: un membre de cercle est un nom d'utilisateur
  associé au cercle d'un autre utilisateur.

* ICircle.cs: Définit l'interface d'un cercle:
un cercle est identifié par un entier long,
il a un possesseur.

* Makefile: utilise le fichier de conf généré pour débugger.

* NpgsqlContentProvider.cs: bug fix

* README.md: maj priorités

* AccountController.cs: implémente une méthode de l'API pour ajouter
  un utilisateur au cercle

* links.css: Corrige la couleur du boutton de validation des
  formulaire de classe `ActionLink`

* style.css: refabrication: importe la nouvelle feuille de style des
  champs de formulaires

* style.css: nettoyage du thème sombre

* style.css: nettoyage + section principale (`main`) centré

* FrontOfficeController.cs: Repositionne la route vers le devis à
  do/Estimate

* YavscHelpers.cs: corrige ma ré-écriture des helpers html ActionLink

* App.master: formattage du code source

* AppAdmin.master: synchronisation avec la page maître,
beaucoup de changements dans cette page maître pour les
  administrateurs:
* prend en charge les côtes d'article
* utilise les fontes de caractère de la page pour les lien action
* prend en charge les zones de formulaire masquable.

* NoLogin.master: synchronisation avec la page maître

* Performer.ascx: WIP permet d'ajouter un préstataire à un de ses
  cercles.

* YourEstimates.aspx: corrige un lien cassé

* Yavsc.csproj: mise à niveau Npgsql,
renommage Estimate

* packages.config: mise à niveau de la bibliothèque Npgsql (pilote
  d'accès à la base de donnée)

* CircleBase.cs: un objet cercle basique implémente l'interface d'un
  cercle.

* PerformerProfile.cs: s'assure que le nom d'utilisateur utilisé n'est
  pas vide.

* IIdentified.cs: doc xml

* UserNameBase.cs: l'objet base de type "nom d'utilisateur" implémente
  l'interface générique
d'un identifié, par une chaine de caractère.

* YavscModel.csproj: reference les nouvelles definitions :
* un membre de cercle
* l'interface d'un cercle

* MainClass.cs: format du code

* YavscClient.csproj:
* Estimate.aspx: refabrication
2015-12-15 21:36:33 +01:00
d999ae5a8e Thème clair opé, WIP circles
* animate.css: animations css

* links.css: liens avec le fond blanc qui se déroule

* links.css: WIP liens thème sombre

* GitHub.ico: un petit merci à GitHub

* live-concert-fg.png: image de plan rapproché : les fans

* live-concert-scene.jpg: Image de fond : la scene

* splash-image-2.jpg: image de fond : photo colorée, public de
  concert, vient de totemproduction.fr

* links.css: ficher de définitions globales du style des bouttons
  (encore inutilisé)

* yavsc.user.js: WIP implémente le widget "utilisateur", permettant
l'affichage des liens rapides pour tout nom d'ulitisateur, le cas
  échéant, vers l'ajout à un cercle,
vers son blog, vers des methodes choisies d'administateur, vers ses
  réseaux sociaux, voir plus.

* About.aspx: Implémente une page "à propos"

* Test.aspx: Page de test: désolé pour le bruit, elle n'est compilée
  qu'en mode `Debug` (elle n'est pas accessible en production)

* NpgsqlBlogProvider.cs: Corrige la méthode pour enlever un tag à un
  article ...

* NpgsqlBlogProvider.csproj: .

* NpgsqlCircleProvider.cs: liste les cercles auquels appartient un
  utilisateur.

* BasketController.cs:
* NpgsqlContentProvider.cs: Les commandes sont fortement typée.

* README.md: mise à jour des priorités

* style.css: réécriture du thème clair

* style.css: * implémente un classe css `clickme` pour attirer l'oeil
sur le boutton de validation après la modification d'un champ de
  formulaire.
* enlève tous les coins arrondis
* modifie la chasse de caractères (une seule utilisée pour le moment)
*

* style.css: * integre la référence à la feuille de style des
  [animations](https://daneden.github.io/animate.css/)
* corrige des marges, alignements
* supprime ce qui reste de coin arrondi
* néttoye les définitions obsolètes
* définit la classe `username`
* corrige le survol à la suppression de tag

* FrontOfficeController.cs: renomme des methodes, refabriqué pour
  s'adapter aux changements de l'API du workflow,
WIP propose les cercles utilisateurs pour l'ajout des profiles
  préstataires aux cercles.

* HomeController.cs: implémente une page "à propos"

* T.cs: re-autorise le titre vide de page, au cas où ... car ce n'est
  pas un véritable
défaut fonctionnel.

* YavscHelpers.cs: Implemente un outil de presentation des liens
  action traduits. Tous les liens action utilisent maintenant cette
  nouvelle methode,
au profile de celle du framework `HtmlHelpers.ActionLink`

* App.master: corrige l'usage du contrôle utilisateur des cotes dans
  le cadre des cotes de billet.

* AppAdmin.master:
* Index.aspx:
* Service.aspx:
* ProductCategory.aspx: traduction des liens action

* NoLogin.master: * traduction des liens action
* suppression des liens de remerciement dans le bas de page, cette
  information a été déplacée dans la page `/Home/Credits`

* to-markdown.js: transforme maintenant les noeuds Html `div` en
  paragraphes Markdown.

* yavsc.hidefieldset.js: Le script règle la forme de la souris au
  survol du bouton,
le cas échéant.

* yavsc.js: nouvelle fonction javascript pour logger un objet
  arbitraire.

* yavsc.rate.js: Fixe la possibilité de mettre des cotes très basses
  ou très hautes (reste encore un mieux à faire),
Affiche au survol des descriptions optionnelles de la cote.

* Title.aspx:
* UserPost.aspx:
* Edit.aspx:
* Index.aspx:
* Brand.aspx:
* Index.aspx:
* PostActions.ascx:
* TitleNotFound.aspx:
* Booking.aspx:
* Command.aspx:
* ChangePasswordSuccess.aspx: Traduction des liens action

* Login.aspx: * Traduction des liens actionTraduction des liens action

* Profile.aspx: * Traduction des liens actionTraduction des liens
  action
* utilisation de la classe css `mayhide` qui autorise maintenant un
  champ d'entrées de formulaire à être plié/déplié au click sur sa
  légende.

* Admin.aspx: Traduction des liens actionTraduction des liens
  actionTraduction des liens actionTraduction des liens
  actionTraduction des liens actionTraduction des liens action

* Backups.aspx:
* RoleList.aspx:
* UserList.aspx:
* Index.aspx: Traduction des liens actionTraduction des liens action

* Edit.aspx: * refabrication de la structure Html
* Traduction des liens actionTraduction des liens action

* Index.aspx: Simlpification des apperçus de blog

* TagControl.ascx: refabrication pour simplifier l'implémentation du
  contrôle utilisateur des tags

* UserPosts.aspx: Traduction des liens action, et simplification du
  listing de blog

* Basket.aspx: Affiche les articles du panier de commandes avec leur
  vue
dédiée à leur type (les commande sont maintenant fortement typées)

* Catalog.aspx: Traduction des liens action, correctin du lien vers le
  produit
(cassé depuis une vielle refabrication des routes)

* DoAnEstimate.aspx: refabrication de la vue de création du devis:
  renommée depuis `Estimate`

* Performer.ascx: * un message supplementaire à l'absence de
  compétence affichée par un préstataire
* des guillemets autour du commentaire du préstataire sur sa
  compétence
* ajout du préstataire au cercles

* Performers.aspx: Décrit en détail les informations sur la
  disponibilité d'un préstataire,
à la date demandée.

* YourEstimates.aspx: renomage de cette page, pour préciser sa
  fonction : Vos devis.

* Contact.aspx: structure Html de la page de contact

* Credits.aspx: Ajoute les remerciements aux communauté du libre

* Index.aspx: ne fait rien

* Web.config: * import de `System.Transactions`
* mise à jour des credits libres

* WebDeploy.targets: utilise les séparateurs de chemin vers ficher à
  la POSIX, ne change rien pour ma config ... (TODO tester sous
  WoinDose)

* Yavsc.csproj: déploie des pages des scripts Javascript et des images
  et feuilles de style en plus.

* CircleManager.cs: implémente les methodes utilisées à la
  construction du contrôle utilisateur.

* CircleProvider.cs: * doc xml
* extension de interface

* Commande.cs: l'objet `Command` devient abstrait, pour exister (être
  instanciée), une commande doit maintenant hériter de cet objet
  abstrait.

* LocalizedText.resx:
* LocalizedText.fr.resx:
* LocalizedText.Designer.cs:
* LocalizedText.fr.Designer.cs: traductions

* IContentProvider.cs: doc xml

* SiteSkills.aspx: renomage de cette page, pour préciser sa fonction :
  les compétences sur ce site.
2015-12-09 13:26:02 +01:00
a1e3f000e3 Fixe la creation des compétences,
importe jQuery.Mobile

* Yavsc.csproj:
* jquery.mobile-1.4.5.js:
* ajax-loader.gif:
* jquery.mobile-1.4.5.css:
* jquery.mobile-1.4.5.min.js:
* jquery.mobile-1.4.5.min.map:
* jquery.mobile-1.4.5.min.css:
* FrontOfficeController.cs:
* jquery.mobile.icons-1.4.5.css:
* jquery.mobile.theme-1.4.5.css:
* tag-black.svg:
* tag-white.svg:
* eye-white.png:
* eye-black.png:
* tag-black.png:
* eye-black.svg:
* eye-white.svg:
* tag-white.png:
* mail-white.png:
* shop-white.png:
* edit-black.png:
* star-black.png:
* lock-white.png:
* mail-black.png:
* info-black.svg:
* home-black.svg:
* home-white.svg:
* edit-white.png:
* grid-white.png:
* user-black.png:
* home-black.png:
* home-white.png:
* info-black.png:
* info-white.png:
* grid-black.png:
* star-white.png:
* plus-white.svg:
* plus-black.svg:
* user-white.png:
* gear-black.png:
* gear-white.png:
* grid-white.svg:
* bars-black.svg:
* back-white.svg:
* user-white.svg:
* back-black.svg:
* info-white.svg:
* back-black.png:
* bars-white.svg:
* mail-black.svg:
* plus-white.png:
* plus-black.png:
* lock-white.svg:
* lock-black.svg:
* mail-white.svg:
* back-white.png:
* shop-white.svg:
* shop-black.svg:
* lock-black.png:
* gear-black.svg:
* gear-white.svg:
* grid-black.svg:
* star-black.svg:
* bars-black.png:
* bars-white.png:
* user-black.svg:
* star-white.svg:
* shop-black.png:
* edit-black.svg:
* edit-white.svg:
* cloud-white.svg:
* cloud-black.svg:
* clock-white.svg:
* clock-black.svg:
* check-white.svg:
* check-black.svg:
* audio-white.svg:
* video-black.png:
* video-white.png:
* alert-black.svg:
* alert-white.svg:
* heart-white.svg:
* heart-black.svg:
* audio-black.svg:
* power-white.png:
* clock-black.png:
* clock-white.png:
* cloud-black.png:
* cloud-white.png:
* power-white.svg:
* power-black.svg:
* check-white.png:
* alert-white.png:
* video-white.svg:
* video-black.svg:
* audio-black.png:
* audio-white.png:
* check-black.png:
* phone-white.svg:
* phone-black.svg:
* minus-white.svg:
* alert-black.png:
* phone-white.png:
* minus-black.png:
* minus-white.png:
* phone-black.png:
* heart-white.png:
* minus-black.svg:
* heart-black.png:
* power-black.png:
* jquery.mobile.icons-1.4.5.min.css:
* camera-black.png:
* search-black.png:
* delete-white.svg:
* action-black.png:
* jquery.mobile.theme-1.4.5.min.css:
* jquery.mobile.structure-1.4.5.css:
* camera-white.svg:
* camera-black.svg:
* delete-black.svg:
* camera-white.png:
* search-white.png:
* delete-black.png:
* action-white.svg:
* action-black.svg:
* search-white.svg:
* action-white.png:
* search-black.svg:
* delete-white.png:
* jquery.mobile.inline-png-1.4.5.css:
* recycle-black.svg:
* jquery.mobile.inline-svg-1.4.5.css:
* refresh-white.svg:
* forward-black.svg:
* forward-white.svg:
* refresh-black.svg:
* recycle-white.svg:
* comment-white.svg:
* comment-black.svg:
* carat-u-white.svg:
* recycle-white.png:
* refresh-black.png:
* carat-d-black.png:
* refresh-white.png:
* arrow-d-black.svg:
* bullets-white.png:
* bullets-black.png:
* arrow-d-white.svg:
* arrow-l-black.svg:
* recycle-black.png:
* comment-black.png:
* carat-u-white.png:
* forward-black.png:
* forward-white.png:
* carat-u-black.png:
* carat-r-white.png:
* carat-r-black.png:
* carat-l-white.png:
* carat-l-black.png:
* carat-d-white.png:
* arrow-l-white.svg:
* bullets-black.svg:
* bullets-white.svg:
* arrow-d-white.png:
* arrow-d-black.png:
* carat-d-black.svg:
* carat-d-white.svg:
* carat-l-black.svg:
* carat-l-white.svg:
* carat-r-black.svg:
* carat-r-white.svg:
* carat-u-black.svg:
* arrow-u-white.svg:
* arrow-r-black.svg:
* arrow-r-white.svg:
* arrow-u-black.svg:
* arrow-u-white.png:
* arrow-u-black.png:
* comment-white.png:
* arrow-r-white.png:
* arrow-r-black.png:
* arrow-l-white.png:
* arrow-l-black.png:
* calendar-white.png:
* calendar-black.png:
* location-black.svg:
* location-white.svg:
* calendar-black.svg:
* location-white.png:
* location-black.png:
* calendar-white.svg:
* arrow-u-l-white.svg:
* forbidden-black.svg:
* arrow-d-r-black.png:
* forbidden-white.svg:
* jquery.mobile.external-png-1.4.5.css:
* arrow-u-r-black.svg:
* arrow-u-r-white.svg:
* arrow-d-l-black.png:
* arrow-d-r-white.png:
* arrow-d-l-white.png:
* arrow-u-l-black.png:
* forbidden-black.png:
* forbidden-white.png:
* arrow-d-l-black.svg:
* arrow-d-r-white.svg:
* arrow-d-l-white.svg:
* arrow-d-r-black.svg:
* arrow-u-r-black.png:
* arrow-u-r-white.png:
* arrow-u-l-black.svg:
* arrow-u-l-white.png:
* navigation-white.svg:
* navigation-black.svg:
* navigation-black.png:
* navigation-white.png:
* jquery.mobile.structure-1.4.5.min.css:
* jquery.mobile.inline-png-1.4.5.min.css:
* jquery.mobile.inline-svg-1.4.5.min.css:
* jquery.mobile.external-png-1.4.5.min.css:

* style.css: donne une couleur au fond des panneaux de classes
  "spanel", "xspanel" et "xxspanel"

* style.css: autorise de la largeur aux groupes de champs de
  formulaire

* T.cs: Lève une exception à la demande de traduction d'une chaine
  vide.
Celà permet entre autres de s'assurer que toutes les pages ont un
  titre (sans quoi, on ne peut plus les visiter).

* yavsc.skills.js: La création d'une compétence demande maintenant un
  code APE.

* Activities.aspx: Lien vers l'edition des compétences gérées par le
  site

* ActivitySkills.aspx: Implemente la nouvelle creation des compétences

* packages.config: Ajout du paquetage "jQuery.Mobile"

* LocalizedText.resx:
* LocalizedText.fr.resx:
* LocalizedText.Designer.cs:
* LocalizedText.fr.Designer.cs: traductions
2015-12-03 12:19:29 +01:00
1b1a2ab557 Prive les anonymes de l'email prestataire
* hangouts.xml: WIP Hangouts

* yavsc.rate.js: Fixe l'usage de la souris pour positionner les
  étoiles de 0 à 5.
WIP labels

* Performer.ascx: Prive les utilisateur anonymes de l'e-mail des
  préstataires

* Yavsc.csproj: ajoute l'Xml Hangouts

* PerformerProfile.cs: Ajoute la propriété "titre du blog" `BlogTitle`
  du profile préstataire

* LocalizedText.resx:
* LocalizedText.fr.resx:
* LocalizedText.Designer.cs:
* LocalizedText.fr.Designer.cs: internationalisation
2015-12-02 10:51:48 +01:00
986b78be3c mise à jour priorités
* README.md: mise à jour priorités

* Yavsc.csproj: references en plus ...
2015-12-01 16:21:55 +01:00
c6a9793c49 nouveau module jQuery pour
afficher/cacher les groupes de champ de formulaire

* yavsc.hidefieldset.js: Creation d'un nouveau module jQuery pour
  afficher/cacher les champ de formulaire en cliquant sur le titre des
  groupes de champ.

* style.css: style plus compact pour les fieldset

* App.master: appelle l'initialisation des widget hidefieldset

* Profile.aspx: mettre tous les elements fils d'un groupe champ dans
  des noeud cachable.

* Yavsc.csproj: referencer le nouveau script dans le projet

* LocalizedText.resx:
* LocalizedText.fr.resx:
* LocalizedText.Designer.cs:
* LocalizedText.fr.Designer.cs: traductions
2015-12-01 15:07:54 +01:00
a99232ba2b Implémente un formulaire simple
de réservation d'un préstataire

* p8-av4.xxs.jpg:
* p8-av4.xxs.png: inutile

* NoLogin.master:
* Entity.cs:
* OAuth2.cs:
* ApiClient.cs:
* PeopleApi.cs:
* MapTracks.cs:
* SkillManager.cs:
* Skills.aspx:
* EntityQuery.cs:
* CalendarApi.cs:
* SimpleJsonPostMethod.cs:
* GoogleHelpers.cs:
* EventPub.aspx:
* GoogleController.cs:
* Notification.cs:
* UserSkills.aspx:
* BackOfficeController.cs:
* BackOfficeController.cs:
* Notification.cs:
* MessageWithPayLoad.cs:
* MessageWithPayloadResponse.cs: refabrication

* IContentProvider.cs:
* NpgsqlBlogProvider.cs: xml doc

* NpgsqlContentProvider.cs: implemente un listing des prestataire du
  code APE en base.

* NpgsqlSkillProvider.cs: implemente un listing des domaines de
  compétence du préstataire en base.

* XmlCatalogProvider.cs: Le catalogue de vente implémente mainenant
  l'interface d'un fournisseur de donnée comme les autres.
Il pourrait par exemple vouloir définir des activité et des
  compétences.
Pour l'instant, il n'est pas activé par la configuration, et reste le
  fournisseur du catalogue legacy (voir </FrontOffice/Catalog> ).

* FrontOfficeController.cs: format du code

* Global.asax.cs: Une route customisée pour le Front Office : /do
  (genre, ici, ça bouge.)

* activity.sql: implémente en base de donnée le modèle des activités
  et compétences,
ajoute aussi deux activités : l'edition logicielle et "Artiste"

* style.css: changement de mes images de fond ... tombées du camion de
  Xavier et onlinehome.us

* p8-av4.s.jpg: changement de taille

* AccountController.cs: Met le code MEA à "none" quand il est spécifié
  non disponible.

* BlogsController.cs: fixe un bug de l'edition d'un billet

* FrontOfficeController.cs: implemente le contrôle booking simple

* HomeController.cs: ajoute l'assemblage du catalog dans le listing
  dédié

* YavscAjaxHelper.cs: Implemente un outil de representation JSon des
  objets côté serveur

* parallax.js: deux fois plus de mouvement autout de x dans le
  parallax

* yavsc.rate.js: imlemente un callback JS pour le rating

* Activities.aspx: Des labels au formulaire de déclaration des
  activités

* Activity.ascx: un panneau activité descent

* Booking.aspx: implemente l'UI web du booking simple.

* EavyBooking.aspx: refabrication du booking lourd

* Index.aspx: supprime le panneau du tag Accueil, affiche les
  activités en cours du site (avec au moins un préstataire valide pour
  cette activité)

* Web.config: Implemente une cote utilisateur, par une nouvelle valeur
  de son profile (Rate).

* Yavsc.csproj: refabrique du code API Google, qui part dans le model.

* MarkdownDeep.dll: le tag <p> ne convenait pas, le remplacer par le
  tag <span> non plus.
Maintenant ça devrait être correct, c'est un div, mais que en cas de
  tag englobant non défini.

* BookingQuery.cs: Le booking lourd devient une commande basée sur des
  activités concernée par l'intervention

* ChangeLog: nettoyage

* CatalogProvider.cs: implemente l'interface d'un fournissseur de
  contenu

* PerformerProfile.cs: implemente le profile prestataire

* SimpleBookingQuery.cs: Les besoin sont exprimé sous forme d'un
  tableau de valeur du parametrage de la commande

* LocalizedText.resx:
* LocalizedText.fr.resx:
* LocalizedText.Designer.cs:
* LocalizedText.fr.Designer.cs: internationalisation

* Profile.cs: implemente un accès à l'id d'enregistrement Google GCM

* SkillEntity.cs: La compétence appartient à un domaine d'activité, on
  lui associe un et un seul code APE

* SkillProvider.cs: Fait chercher les compétences à partir d'un code
  activité

* WorkFlowManager.cs: implemente l'accès à la liste des préstataires
de telle activité

* YavscModel.csproj: refabrications

* Skills.sql: vient de passer dans activity.Sql

* T.cs: la traduction est faite plus simple à appeler (sans cast vers
  `string`).
2015-11-28 18:34:52 +01:00
d89b6c39df nouvelles configs
* Makefile:
* Yavsc.sln:
* pkg.mdproj:
* Presta.csproj:
* TestAPI.csproj:
* YavscModel.csproj:
* YavscClient.csproj:
* fortune.csproj:
* WebControls.csproj:
* SalesCatalog.csproj:
* ITContentProvider.csproj:
* NpgsqlMRPProviders.csproj:
* NpgsqlBlogProvider.csproj:
* Yavsc.csproj:
* NpgsqlContentProvider.csproj: nouvelles configurations de
  déploiement

* LocalizedText.resx:
* LocalizedText.fr.resx:
* LocalizedText.Designer.cs:
* LocalizedText.fr.Designer.cs: internationalisation
2015-11-26 19:40:09 +01:00