Esempio n. 1
0
/**
 *Init
 */
function init(module, app, next) {
  calipso.e.custom('FORM', 'FORM', module.name, addFieldConfiguration);
  calipso.e.pre('CONTENT_TYPE_MAP_FIELDS', module.name, processFieldConfiguration);

  module.initialised = true;
  next();
}
Esempio n. 2
0
      function done() {

        // Schema
        var ContentVersion = new calipso.lib.mongoose.Schema({
          contentId:{type: String}
          // All other properties are dynamically mapped, hence use of .set / .get
        });

        calipso.lib.mongoose.model('ContentVersion', ContentVersion);

        // Version event listeners
        calipso.e.post('CONTENT_CREATE',module.name,saveVersion);
        calipso.e.post('CONTENT_UPDATE',module.name,saveVersion);

        // Form alteration
        if(calipso.modules.content.fn.originalContentForm) {
          // We have already altered the form, so lets set it back before altering it
          calipso.modules.content.fn.contentForm = calipso.modules.content.fn.originalContentForm;
        }

        // Now, lets alter the form
        calipso.modules.content.fn.originalContentForm = calipso.modules.content.fn.contentForm;
        calipso.modules.content.fn.contentForm = function() {
          var form = calipso.modules.content.fn.originalContentForm();
          form.sections.push(contentVersionFormSection);
          return form;
        }

        next();

      }
Esempio n. 3
0
/**
 * Save version
 */
function saveVersion(event,content,next) {

    var ContentVersion = calipso.lib.mongoose.model('ContentVersion');

    // Create version and map fiels
    var version = new ContentVersion();
    calipso.form.mapFields(content.doc,version);
    version.contentId = content._id;

    if(version.get("version")) {
      calipso.e.pre_emit('CONTENT_VERSION',version);
    }

    version.save(function(err) {

      if(err) {
        calipso.error(err);
      }
      if(version.get("version")) {
        // TODO - enable notification / event?
        calipso.e.post_emit('CONTENT_VERSION',version);
      }

      return next();

    });

}
Esempio n. 4
0
      Role.findById(id, function (err, c) {
        if (!err && c) {

          calipso.form.mapFields(form.role, c);
          c.ispublic = form.role.ispublic === "Yes" ? true : false;
          c.updated = new Date();

          calipso.e.pre_emit('USER_ROLE_UPDATE', c, function (c) {

            c.save(function (err) {
              if (err) {
                req.flash('error', req.t('Could not update role because {msg}.', {msg:err.message}));
                if (res.statusCode != 302) {
                  // Don't redirect if we already are, multiple errors
                  res.redirect('/user/role/edit/' + encodeURIComponent(id));
                }
                next();
              } else {
                calipso.e.post_emit('USER_ROLE_UPDATE', c, function (c) {
                  res.redirect('/user/role/show/' + encodeURIComponent(id));
                  next();
                });
              }
            });
          });
        } else {
          req.flash('error', req.t('Could not locate that role.'));
          res.redirect('/user/role');
          next();
        }
      });
Esempio n. 5
0
  calipso.form.process(req, function (form) {

    if (form) {

      var Role = calipso.db.model('Role');

      var c = new Role(form.role);
      var saved;

      calipso.e.pre_emit('USER_ROLE_CREATE', c, function (c) {

        c.save(function (err) {

          if (err) {
            req.flash('error', req.t('Could not save role because {msg}.', {msg:err.message}));
            if (res.statusCode != 302) {
              res.redirect('/user/role/new');
            }
            next();

          } else {
            calipso.e.post_emit('USER_ROLE_CREATE', c, function (c) {
              res.redirect('/user/role');
              next();
            });
          }

        });

      });

    }
  });
Esempio n. 6
0
          u.save(function (err) {
            if (err) {

              req.flash('error', req.t('Could not save user because {msg}.', {msg:err.message}));
              if (res.statusCode != 302) {
                // Redirect to old page
                res.redirect('/user/profile/' + encodeURIComponent(username) + '/edit');
                return;
              }

            } else {

              calipso.e.post_emit('USER_UPDATE', u);

              // Update session details if your account
              if (req.session.user && (req.session.user.username === username)) {
                // Allows for name change
                createUserSession(req, res, u, function (err) {
                  if (err) {
                    calipso.error("Error saving session: " + err);
                  }
                });
              }

              // Redirect to new page
              res.redirect('/user/profile/' + encodeURIComponent(u.username));
              return;

            }
            // If not already redirecting, then redirect
            next();
          });
Esempio n. 7
0
me.render = function (formJson, values, req, next) {

  var self = this,
    formData = {formJson: formJson, values: values};

  // Store local reference to the request for use during translation
  t = req.t;

  // Emit a form pre-render event.
  calipso.e.custom_emit('FORM', formJson.id, formData, function (formData) {

    var formJson = formData.formJson,
      values = formData.values,
      form = (
      self.start_form(formJson) +
        self.render_sections(formJson, values) + // todo: deprecate - sections should be treated the same as any other field (container)
        self.render_fields(formJson, values) +
        self.render_buttons(formJson.buttons) + // todo: deprecate - buttons should be treated the same as any other field (container)
        self.end_form(formJson)
      );

    // Save the form object in session, this enables us to use it later
    // To parse the incoming data and validate against.
    // Saving it in the session allows for per-user customisation of the form without
    // impacting this code.
    saveFormInSession(formJson, req, function (err) {
      if (err) {
        calipso.error(err.message);
      }
      next(form);
    })

  });

};
Esempio n. 8
0
        u.save(function (err) {

          if (err) {
            var msg = err.message;
            if (err.code === 11000) {
              msg = "a user has already registered with that email";
            }
            req.flash('error', req.t('Could not save user because {msg}.', {msg:msg}));
            if (res.statusCode != 302 && !res.noRedirect) {
              res.redirect('back');
              return;
            }
          } else {
            calipso.e.post_emit('USER_CREATE', u);
            if (!res.noRedirect) {
              req.flash('info', req.t('Profile created, you can now login using this account.'));
              res.redirect('/user/profile/' + encodeURIComponent(u.username));
              return;
            }
          }

          // If not already redirecting, then redirect
          next(err);

        });
Esempio n. 9
0
/**
 * Save version
 */
function saveVersion(event, content, next) {

    var ContentVersion = calipso.db.model('ContentVersion');

    // Create version and map fields
    var version = new ContentVersion();

    calipso.utils.copyMongoObject(content, version, content.schema);
    version.contentId = content._id;

    if(version.get("version")) {
      calipso.e.pre_emit('CONTENT_VERSION', version);
    }

    version.save(function(err) {

      if(err) {
        calipso.error(err);
      }
      if(version.get("version")) {
        // TODO - enable notification / event?
        calipso.e.post_emit('CONTENT_VERSION',version);
      }

      return next();

    });

}
Esempio n. 10
0
      ContentType.findById(id, function(err, c) {
        if (!err && c) {

          calipso.form.mapFields(form.contentType,c);
          c.ispublic = form.contentType.ispublic === "Yes" ? true : false;
          c.updated = new Date();
          
          calipso.e.pre_emit('CONTENT_TYPE_UPDATE',c,function(c) {
              
            c.save(function(err) {
              if(err) {
                req.flash('error',req.t('Could not update content type because {msg}.',{msg:err.message}));
                if(res.statusCode != 302) {  // Don't redirect if we already are, multiple errors
                  res.redirect('/content/type/edit/' + id);
                }
                next();
              } else {
                calipso.e.post_emit('CONTENT_TYPE_UPDATE',c, function(c) {
                  res.redirect('/content/type/show/' + id);
                  next();
                });
              }
            });
          });
        } else {
          req.flash('error',req.t('Could not locate that content type.'));
          res.redirect('/content/type');
          next();
        }
      });
Esempio n. 11
0
  calipso.form.process(req,function(form) {

     if(form) {

      var ContentType = calipso.db.model('ContentType');

      var c = new ContentType(form.contentType);
      c.ispublic = form.contentType.contentType.ispublic === "Yes" ? true : false;

      var saved;

      calipso.e.pre_emit('CONTENT_TYPE_CREATE',c, function(c) {

        c.save(function(err) {

          if(err) {
            req.flash('error',req.t('Could not save content type because {msg}.',{msg:err.message}));
            if(res.statusCode != 302) {
              res.redirect('/content/type/new');
            }
             next();

          } else {
            calipso.e.post_emit('CONTENT_TYPE_CREATE',c, function(c) {
              res.redirect('/content/type');            
              next();
            });
          }

        });
      
       });

     }
  });
Esempio n. 12
0
  User.findOne({username:user.username}, function (err, u) {
    if (err) {
      return promise.fail(err);
    }
    if (u) {
      return finishUser(u);
    }
    u = new User({
      username:user.username,
      fullname:user.name,
      email:user.email,
      hash:'external:auth'
    });
    u.roles = ['Guest']; // Todo - need to make sure guest role can't be deleted?

    calipso.e.pre_emit('USER_CREATE', u);

    u.save(function (err) {
      if (err) {
        return promise.fail(err);
      }
      calipso.e.post_emit('USER_CREATE', u);
      // If not already redirecting, then redirect
      finishUser(u);
      return null;
    });
  });
Esempio n. 13
0
                  c.save(function(err) {
                    if(err) {
                      calipso.debug(err);
                      // TODO : err.errors is an object that contains actual fields, can pass back actual errors
                      // To the form
                      req.flash('error',req.t('Could not save content because {msg}.',{msg:err.message}));
                      if(res.statusCode != 302) {
                          res.redirect('/content/new?type='+form.content.contentType);
                      }
                      next();
                    } else {
                      req.flash('info',req.t('Content saved.'));

                      // Raise CONTENT_CREATE event
                      calipso.e.post_emit('CONTENT_CREATE',c,function(c) {

                        if(returnTo) {
                          res.redirect(returnTo);
                        } else {
                          res.redirect('/content/show/' + c._id);
                        }
                        next();
                      });

                    }

                  });
Esempio n. 14
0
                      c.save(function(err) {
                        if(err) {

                          var errorMsg = '';
                          if(err.errors) {
                            for(var error in err.errors) {
                              errorMessage = error + " " + err.errors[error] + '\r\n';
                            }
                          } else {
                            errorMessage = err.message;
                          }
                          req.flash('error',req.t('Could not update content because {msg}',{msg:errorMessage}));
                          if(res.statusCode != 302) {  // Don't redirect if we already are, multiple errors
                            res.redirect('back');
                          }
                          next();

                        } else {

                          req.flash('info',req.t('Content saved.'));

                          // Raise CONTENT_CREATE event
                          calipso.e.post_emit('CONTENT_UPDATE',c,function(c) {
                            if(returnTo) {
                              res.redirect(returnTo);
                            } else {
                              // use the reference to the originally id deifned by req.moduleParams.id
                              res.redirect('/content/show/' + id);
                            }
                            next();
                          });

                        }

                      });
Esempio n. 15
0
function init(module, app, next) {
	calipso.e.addEvent('CIRCLE_CREATE');
	calipso.e.addEvent('CIRCLE_UPDATE');
	calipso.e.addEvent('CIRCLE_DELETE');
	calipso.e.addEvent('CALL_CREATE');
	calipso.e.addEvent('CALL_UPDATE');
	calipso.e.addEvent('CALL_DELETE');
	calipso.e.addEvent('PROJECT_CREATE');
	calipso.e.addEvent('PROJECT_UPDATE');
	calipso.e.addEvent('PROJECT_DELETE');
	calipso.e.addEvent('PROJECT_ITERATE');

	calipso.permission.Helper.addPermission("ecrafting:circle", "eCrafting", true);
	calipso.permission.Helper.addPermission("ecrafting:call", "eCrafting", true);
	calipso.permission.Helper.addPermission("ecrafting:project", "eCrafting", true);
	calipso.permission.Helper.addPermission("admin:ecrafting:circle", "eCrafting Admin", true);
	calipso.permission.Helper.addPermission("admin:ecrafting:call", "eCrafting Admin", true);
	calipso.permission.Helper.addPermission("admin:ecrafting:project", "eCrafting Admin", true);

	calipso.lib.step(
		function defineRoutes() {
			module.router.addRoute('GET /ecrafting', showMain, {template:'ecrafting', admin:true, block:'admin.show'}, this.parallel());
			module.router.addRoute('GET /about', showAbout, {template:'about', block:'content.show' }, this.parallel());
			module.router.addRoute('GET /locations', showMain, {template:'locations', block:'content.show'}, this.parallel());
			module.router.addRoute('GET /timeline', showMain, {template:'timeline', block:'content.show'}, this.parallel());
			module.router.addRoute('GET /current', showCurrent, {template:'current', block:'content.show'}, this.parallel());

	      module.router.addRoute(/.*/, allPages, {
	        end:false,
	        template:'ecrafting.script',
	        block:'scripts.ecrafting'
	      }, this.parallel());
	      module.router.addRoute(/.*/, allPages, {
	        end:false,
	        template:'ecrafting.style',
	        block:'styles.ecrafting'
	      }, this.parallel());

		},
		function done() {
			domain.init(module, app, next);
			views.init(module, app, next);
			api.init(module, app, next);
			registerEventListeners();
			next();
		});
}
Esempio n. 16
0
          ContentType.findOne({contentType:form.content.contentType}, function (err, contentType) {

            if (err || !contentType) {
              req.flash('error', req.t('Could not save content as I was unable to locate content type {type}.', {type:form.content.contentType}));
              res.redirect('/content');
              next();
            } else {

              // Copy over content type data
              c.contentType = contentType.contentType;
              c.layout = contentType.layout;
              c.ispublic = contentType.ispublic;

              // Emit pre event
              // This does not allow you to change the content
              calipso.e.pre_emit('CONTENT_UPDATE', c, function (c) {

                c.save(function (err) {
                  if (err) {

                    var errorMsg = '';
                    if (err.errors) {
                      for (var error in err.errors) {
                        errorMessage = error + " " + err.errors[error] + '\r\n';
                      }
                    } else {
                      errorMessage = err.message;
                    }
                    req.flash('error', req.t('Could not update content because {msg}', {msg:errorMessage}));
                    if (res.statusCode != 302) {
                      // Don't redirect if we already are, multiple errors
                      res.redirect('back');
                    }
                    next();

                  } else {

                    req.flash('info', req.t('Content saved.'));

                    // Raise CONTENT_CREATE event
                    calipso.e.post_emit('CONTENT_UPDATE', c, function (c) {
                      if (returnTo) {
                        res.redirect(returnTo);
                      } else {
                        // use the reference to the originally id deifned by req.moduleParams.id
                        res.redirect('/content/show/' + id);
                      }
                      next();
                    });

                  }

                });

              });

            }

          });
Esempio n. 17
0
/**
 *Init
 */
function init(module,app,next) {

  // Register events for the Content Module
  calipso.e.addEvent('CONTENT_TYPE_CREATE');
  calipso.e.addEvent('CONTENT_TYPE_UPDATE');
  calipso.e.addEvent('CONTENT_TYPE_DELETE');

  // Register event listeners
  calipso.e.post('CONTENT_TYPE_CREATE',module.name,storeContentTypes);
  calipso.e.post('CONTENT_TYPE_UPDATE',module.name,storeContentTypes);
  calipso.e.post('CONTENT_TYPE_DELETE',module.name,storeContentTypes);

  calipso.e.post('CONTENT_TYPE_CREATE',module.name,updateContentAfterChange);
  calipso.e.post('CONTENT_TYPE_UPDATE',module.name,updateContentAfterChange);

  calipso.e.pre('CONTENT_TYPE_CREATE',module.name,compileTemplates);
  calipso.e.pre('CONTENT_TYPE_UPDATE',module.name,compileTemplates);

  // Define permissions
  calipso.permission.Helper.addPermission("admin:content:type","Content Types",true);

  // Schemea
  var ContentType = new calipso.lib.mongoose.Schema({
    contentType:{type: String, required: true, unique: true, "default": 'default', index: true},
    description:{type: String, required: true, "default": 'Default Content Type'},
    layout:{type: String, required: true, "default": 'default'},
    ispublic:{type: Boolean, required: true, "default": true},
    created: { type: Date, "default": Date.now },
    updated: { type: Date, "default": Date.now },
    fields: {type: String, "default":""},
    templateLanguage:{type: String, required: true, "default": 'html'},
    viewTemplate:{type: String, "default": ''},
    listTemplate:{type: String, "default": ''},        
  });

  calipso.db.model('ContentType', ContentType);

  // Cache the content types in the calipso.data object
  if(app.config.get('installed')) {
    storeContentTypes(null,null,function(){});
  }

  module.initialised = true;
  next();

}
Esempio n. 18
0
 u.save(function (err) {
   if (err) {
     return promise.fail(err);
   }
   calipso.e.post_emit('USER_CREATE', u);
   // If not already redirecting, then redirect
   finishUser(u);
   return null;
 });
Esempio n. 19
0
    function done() {

      // Define our tag clouds
      var Tag = new calipso.lib.mongoose.Schema({
        // Tag name is in _ID from MR
        "_id":{type:String},
        "value":{type:Number}
      });

      calipso.db.model('Tag', Tag);

      // Register for events
      calipso.e.post('CONTENT_CREATE', module.name, mapReduceTagCloud);
      calipso.e.post('CONTENT_UPDATE', module.name, mapReduceTagCloud);
      calipso.e.post('CONTENT_DELETE', module.name, mapReduceTagCloud);

      next();
    }
Esempio n. 20
0
 u.save(function (err) {
   if (err) {
     req.flash('error', req.t('There was an error unlocking that user account.'));
   } else {
     calipso.e.post_emit('USER_UNLOCK', u);
     req.flash('info', req.t('Account unlocked.'));
   }
   res.redirect('/user/profile/' + encodeURIComponent(username));
 });
Esempio n. 21
0
      req.session.save(function (err) {
        // Check for error
        calipso.e.post_emit('USER_LOGOUT', u);
        if (res.statusCode != 302) {
          res.redirect(returnTo || 'back');
          return;
        }
        next();

      });
Esempio n. 22
0
  calipso.lib.async.parallel([function(cb) { wc.save(cb) }, function(cb) { ac.save(cb) }, function(cb) { art.save(cb) }], function(err) {
    
    // Allow event to fire
    calipso.e.post_emit('CONTENT_UPDATE',art,function(artc) {});

    // Done
    calipso.info("Content module installed ... ");
    next();

  });
Esempio n. 23
0
      function done() {

        // Schema
        var ContentVersion = new calipso.lib.mongoose.Schema({
          contentId:{type: String}
          // All other properties are dynamically mapped, hence use of .set / .get
        });

        calipso.db.model('ContentVersion', ContentVersion);

        // Version event listeners
        calipso.e.post('CONTENT_CREATE', module.name, saveVersion);
        calipso.e.post('CONTENT_UPDATE', module.name, saveVersion);

        // Form alter of main content form
        calipso.e.custom('FORM', 'content-form', module.name, alterContentForm);

        next();

      }
Esempio n. 24
0
 Role.remove({_id:id}, function (err) {
   if (err) {
     req.flash('info', req.t('Unable to delete the role because {msg}.', {msg:err.message}));
     res.redirect("/user/role");
   } else {
     calipso.e.post_emit('USER_ROLE_DELETE', c);
     req.flash('info', req.t('The role has now been deleted.'));
     res.redirect("/user/role");
   }
   next();
 });
Esempio n. 25
0
          ContentType.findOne({contentType:form.content.contentType}, function(err, contentType) {


              if(err || !contentType) {

                calipso.debug(err);
                req.flash('error',req.t('Could not create content as I was unable to locate content type {type}.',{type:form.content.contentType}));
                res.redirect('/content');
                next();

              } else {

                // Copy over content type data - in meta as this is
                // not mastered here
                c.contentType = contentType.contentType;
                c.layout = contentType.layout;
                c.ispublic = contentType.ispublic;

                // Emit event pre-save, this DOES NOT Allow you to change
                // The content item (yet).
                calipso.e.pre_emit('CONTENT_CREATE',c,function(c) {

                  c.save(function(err) {
                    if(err) {
                      calipso.debug(err);
                      // TODO : err.errors is an object that contains actual fields, can pass back actual errors
                      // To the form
                      req.flash('error',req.t('Could not save content because {msg}.',{msg:err.message}));
                      if(res.statusCode != 302) {
                          res.redirect('/content/new?type='+form.content.contentType);
                      }
                      next();
                    } else {
                      req.flash('info',req.t('Content saved.'));

                      // Raise CONTENT_CREATE event
                      calipso.e.post_emit('CONTENT_CREATE',c,function(c) {

                        if(returnTo) {
                          res.redirect(returnTo);
                        } else {
                          res.redirect('/content/show/' + c._id);
                        }
                        next();
                      });

                    }

                  });

                });
              }

          });
Esempio n. 26
0
 Content.remove({_id:id}, function(err) {
   if(err) {
     req.flash('info',req.t('Unable to delete the content because {msg}',{msg:err.message}));
     res.redirect("/");
   } else {
     calipso.e.post_emit('CONTENT_DELETE',c);
     req.flash('info',req.t('The content has now been deleted.'));
     res.redirect("/");
   }
   next();
 });
Esempio n. 27
0
/**
 * Init
 */
function init(module, app, next) {

  // Register events for the Content Module
  calipso.e.addEvent('PERMISSIONS_UPDATE');

  calipso.e.post('PERMISSIONS_UPDATE',module.name,loadPermissionRoles);

  calipso.permission.Helper.addPermission("admin:permission:configuration","Manage role based permissions.");


  var PermissionRole = new calipso.lib.mongoose.Schema({
    permission:{type: String, required: true},
    role:{type: String, required: true}
  });
  calipso.db.model('PermissionRole', PermissionRole);

  loadPermissionRoles(function(err) {
    next(err);   
  });

}
Esempio n. 28
0
/**
 *Init
 */
function init(module,app,next) {

  // Version events
  calipso.e.addEvent('CONTENT_VERSION');

  calipso.lib.step(
      function defineRoutes() {

        // Menus
        module.router.addRoute('GET /content/show/:id',showContent,{admin:true},this.parallel());
        module.router.addRoute('GET /content/show/:id',showContent,{admin:true},this.parallel());

        // Crud operations
        module.router.addRoute('GET /content/show/:id/versions',listVersions,{admin:true,template:'list',block:'content.version'},this.parallel());
        module.router.addRoute('GET /content/show/:id/versions/diff/:a',diffVersion,{admin:true,template:'diff',block:'content.diff'},this.parallel());
        module.router.addRoute('GET /content/show/:id/versions/diff/:a/:b',diffVersion,{admin:true,template:'diff',block:'content.diff'},this.parallel());
        module.router.addRoute('GET /content/show/:id/version/:version',showVersion,{admin:true,template:'show',block:'content.version'},this.parallel());
        module.router.addRoute('GET /content/show/:id/version/:version/revert',revertVersion,{admin:true},this.parallel());

      },
      function done() {

        // Schema
        var ContentVersion = new calipso.lib.mongoose.Schema({
          contentId:{type: String}
          // All other properties are dynamically mapped, hence use of .set / .get
        });

        calipso.lib.mongoose.model('ContentVersion', ContentVersion);

        // Version event listeners
        calipso.e.post('CONTENT_CREATE',module.name,saveVersion);
        calipso.e.post('CONTENT_UPDATE',module.name,saveVersion);

        // Form alteration
        if(calipso.modules.content.fn.originalContentForm) {
          // We have already altered the form, so lets set it back before altering it
          calipso.modules.content.fn.contentForm = calipso.modules.content.fn.originalContentForm;
        }

        // Now, lets alter the form
        calipso.modules.content.fn.originalContentForm = calipso.modules.content.fn.contentForm;
        calipso.modules.content.fn.contentForm = function() {
          var form = calipso.modules.content.fn.originalContentForm();
          form.sections.push(contentVersionFormSection);
          return form;
        }

        next();

      }
  );
}
Esempio n. 29
0
/**
 * Initialisation
 */
function init(module, app, next) {

  calipso.e.addEvent('USER_ROLE_CREATE');
  calipso.e.addEvent('USER_ROLE_UPDATE');
  calipso.e.addEvent('USER_ROLE_DELETE');

  calipso.permission.Helper.addPermission("admin:roles", "Roles", true);

  calipso.lib.async.map(routes, function (options, next) {
      module.router.addRoute(options, next)
    },
    function (err, data) {

      // Done adding routes
      var Role = new calipso.lib.mongoose.Schema({
        name:{type:String, required:true, unique:true},
        description:{type:String, "default":''},
        isAdmin:{type:Boolean, required:true, "default":false},
        isDefault:{type:Boolean, required:true, "default":false}
      });
      calipso.db.model('Role', Role);

      // Load roles into calipso data
      if (app.config.get('installed')) {
        storeRoles(null, null, next);
      }

    });

  // Register event listeners
  calipso.e.post('USER_ROLE_CREATE', module.name, storeRoles);
  calipso.e.post('USER_ROLE_UPDATE', module.name, storeRoles);
  calipso.e.post('USER_ROLE_DELETE', module.name, storeRoles);

}
Esempio n. 30
0
 User.remove({_id:u._id}, function (err) {
   if (err) {
     req.flash('info', req.t('Unable to delete the user because {msg}', {msg:err.message}));
     res.redirect("/user/list");
     return;
   } else {
     calipso.e.post_emit('USER_DELETE', u);
     req.flash('info', req.t('The user has now been deleted.'));
     res.redirect("/user/list");
     return;
   }
   next();
 });