Skip to content
  • P
    Projects
  • G
    Groups
  • S
    Snippets
  • Help

yotta / pictogram

  • This project
    • Loading...
  • Sign in
Go to a project
  • Project
  • Repository
  • Issues 60
  • Merge Requests 0
  • Pipelines
  • Wiki
  • Settings
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Closed
Open
Issue #366 opened Oct 15, 2017 by Fernando Martínez Santiago@dofer 
  • New issue
New issue

revisar el método PictoController.upload

he modificado en dev (no está subido al repositorio) el método PictoController.upload. Tal como estaba cada vez que se subia una imagen se hacia un insert en Picto y se creaba en consecuencia un nuevo stupicto. Lo que he hecho es comprobar si en la petición viene un id, y si es así, no se crea un nuevo picto, si no que se actualiza la img del picto con ese id. Esto es la mejor forma que se me ha ocurrido de dar soporte a los tableros en red con actulización de Pictos. Por favor revísalo, y si tienes que pasar la funcionalidad al modelo, hazlo. El método como está ahora mismo en dev:

  upload: function (req, res) {
    Supervisor.findOne({ id: req.body.owner }).then(function (supervisor) {
      var pictoFileName;
      var pictoDirectory = sails.config.pictogram.paths.supervisorCustomPictoDirectory;
      if (!supervisor)
        throw new Error("No supervisor found");

      pictoFileName = sails.config.pictogram.paths.getSupervisorCustomPictoFileName(supervisor.id);
      sails.log.debug("Uploading picto with FileName: " + pictoFileName);

      req.file('file').upload({
        maxBytes: 1048576,
        dirname: pictoDirectory,
        saveAs: pictoFileName
      }, function whenDone(err, uploadedFiles) {
        var fs = require('fs');

        if (err || (uploadedFiles.length === 0))
          return res.serverError("Error uploading " + err ? err : "");
        if (req.body.id_pic!=null && req.body.id>=0) {
            query =  {
                id: req.body.id_pic
            }
            Picto.update(query, {
              uri:pictoFileName
            })
            .then(updated => {              
              return res.ok(updated);            
            })
            .catch(err => {
              fs.unlink(uploadedFiles[0].fd);
              return res.serverError('Unable to update picto: ' + err);
            });
        }
        else
            Picto.create({
              uri: pictoFileName,
              source: 2, // 1 -> SymbolStix, 2 -> custom
              owner: supervisor.id
           })
           .then(picto => {
             return res.ok(picto);
           })
           .catch(err => {
             fs.unlink(uploadedFiles[0].fd);
             return res.serverError("Error uploading " + err);
           });
         });
       })
       .catch(function (err) {
         return res.serverError("Error uploading picto: " + err);
       });
  }
};
  • Fernando Martínez Santiago @dofer

    assigned to @amontejo

    Oct 15, 2017

    assigned to @amontejo

    assigned to @amontejo
    Toggle commit list
  • Arturo Montejo Ráez @amontejo

    added To Do label

    Nov 27, 2017

    added To Do label

    added ~29 label
    Toggle commit list
  • Arturo Montejo Ráez @amontejo commented Dec 23, 2017
    Owner

    Está Ok. He movido a un parámetro global el tamaño máximo de imagen, que también afecta a la subida de fotos de perfil.

    Está Ok. He movido a un parámetro global el tamaño máximo de imagen, que también afecta a la subida de fotos de perfil.
  • Arturo Montejo Ráez @amontejo

    closed

    Dec 23, 2017

    closed

    closed
    Toggle commit list
  • Write
  • Preview
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
No due date
1
Labels
To Do
Assign labels
  • View labels
2
2 participants
Reference: yotta/pictogram#366