Git Product home page Git Product logo

if-backoffice's People

Contributors

flo-sch avatar sallesma avatar titouanr avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

flo-sch

if-backoffice's Issues

Ajax requests failure

Sur :
DELETE mapItem
PUT partner
DELETE partner

La requête renvoie :


Fatal error: Call to a member function prepare() on a non-object in /homepages/26/d479583890/htdocs/admin.app/src/PartnersManager.php on line 44

A chaque fois la requête en question est :
$sth = $connection->prepare('SELECT picture FROM ' . PARTNERS_TABLE . 'WHERE id = :id');

parameters.ini.dist

Lorsque l'on ajoute des paramètres dans le fichier .ini qui est versionné, il faudrait un moyen de les mettre en avant pour que chacun les édite en local.

Je propose un fichier "src/parameters.ini.dist" qui sera versionné, et qui contiendrait la liste des paramètres avec des valeurs d'exemple, que l'on merge avec le parameters.ini qui contient les vraies valeurs.

Définition concours

Permettre de définir des dates et une url pour le post du concours.

Comme ça le bouton peut apparaitre dans l'appli seulement si le concours est ouvert, et poster l'adresse email du participant tout seul.

Date des news

La date d'ajout des news n'est pas bien prise en compte

screen shot 2014-06-15 at 15 32 37

Partners : Tri par importance

Ca pourrait être pas mal de permettre à l'orga de trier les partenaires par importance.

Je ne sais pas trop comment...

Interface - Buttons

Hello,

Je ne sais pas si vous faites souvent des BO full-asynchrones,
Perso je préfère souvent du PHP direct, plus facile à débugger,
Et à maintenir si le nombre d'entités augmente ;

Mais si vous préférez AJAX,
Une petite piste d'amélioration :

http://getbootstrap.com/javascript/#buttons

Bootstrap v3, de base, permet des boutons avec "loading state", en gros juste un texte de chargement que vous appliquez le temps d'un appel AJAX :)

<input type='submit' class='btn btn-success' data-loading-state='Loading...' />
<script>
    var $button = $('#button'),
        refresh = function (response) {
            console.log('refresh content);
        };

    $button.on('click', function (e) {
        // Set button state as loading
        // NB : $(this) == $button, in this scope... But not on AJAX callback of course !
        $button.button('loading');
        // Send AJAX request
        $.ajax({
            'type': 'post',
            'url': '/something',
            'data': {
                'foo': 'bar'
            }
    }).done(function (response) {
        // Manage success
        refresh.apply(this, [response]);
    }).fail(function (error) {
        // Manage error
        console.error(error);
    }).always(function () {
        // Reset button state
        $button.button('reset');
    });
</script>

Nom des tables

bo_artists ne me parait pas hyper clair

est-ce que appli_mobile_artiste serait pas mieux ? A mon avis on s'en fiche que ce soit long, on va l'écrire qu'une fois, mais des gens vont le lire plein de fois et ils auront besoin de comprendre.

REST API

Passer les appels en rest.

Au lieu de getX, addX, updateX et deleteX, utiliser juste X et les méthodes http GET, POST, PUT, DELETE

Tests automatiques

Nécessaires vu le nombre de fois qu'on a galéré à modifier des trucs qui étaient cassés.

Uploaded image files location

The images should go into the /img folder and not a subfolder of /src, since they are images and not sources.

  • Change file uploaders to import images in the correct folder
  • Move existing images
  • Move database filepaths values
  • Make sure images are accessible by the mobile applications

Readonly backoffice overloaded by get calls

Quand on change l'année et que le backoffice se met en lecture seule:

  1. On met à jour les données
  2. On met le backoffice en readonly
  3. Comme les appels de MaJ des données sont asynchrones, les données arrivent après la désactivation des boutons.

Conséquence : les boutons de modification/suppression ajoutés en javascript ne sont pas désactivés

Solutions possible :

  • utiliser des appels synchrones ?
  • Désactiver systématiquemet le clic dans la partie gauche et utiliser un curseur 'not-allowed' ?

Définir les scènes

Permettre de définir les scènes avant les artistes.

Objectif : Ne pas changer l'appli quand une scène devient "Scène SoGé" ou si le "Chapiteau" est finalement une scène extérieur.

Proposer les scènes dans un sélecteur pour ajouter/éditer un artiste. Ajout d'une scène "Scène inconnue" dans le sélecteur présente par défaut.
Suppression d'une scène -> tous les artistes sont balancés sur "Scène inconnue"

File upload test

  • test to test if image was removed from list fails if the list is empty (because image was deleted)
  • File size might depend on the system so it cannot be used to check whether a file exists

erreur info.isDisplayedOnMap

Lorsqu'on supprime un point, s'il a une info liée, le champ 'isDisplayedOnMap' de l'info est mis à 0.

Cela peut introduire une erreur si DEUX points étaient liés à cet info (il en reste toujours un alors que l'attribut indique 0)

Tri des données

Actuellement c'est trié par id (je pense). Il faudrait les trier dans un ordre cohérent pour l'utilisateur.

  • Artiste : nom ? heure de passage ?
  • Partenaire : nom
  • News : date (déjà fait)
  • Info : Nom, au sein de l'arborescence, et catégories en premier. Un peu chiant à cause de la fonction qui construit l'arbre.
  • Carte : Label
  • Filtres photo : osef on les voit tous grâce aux thumbnails et il y en aura peu

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.