ACP integration for Sounds

v1.18.x
Julian Lam 11 years ago
parent eeb3bdc7f7
commit c1ccc81400

@ -5,12 +5,6 @@ define(['uploader', 'sounds'], function(uploader, sounds) {
var Settings = {}; var Settings = {};
Settings.init = function() { Settings.init = function() {
// Sounds tab
$('#sounds').find('button[data-action="play"]').on('click', function() {
var fileName = $(this).parent().siblings('select').val();
sounds.playFile(fileName);
});
Settings.prepare(); Settings.prepare();
}; };

@ -0,0 +1,27 @@
"use strict";
/* global define */
define(['sounds', 'settings'], function(Sounds, Settings) {
var SoundsAdmin = {};
SoundsAdmin.init = function() {
// Sounds tab
$('.sounds').find('button[data-action="play"]').on('click', function(e) {
e.preventDefault();
var fileName = $(this).parent().parent().find('select').val();
Sounds.playFile(fileName);
});
// Load Form Values
Settings.load('sounds', $('.sounds form'));
// Saving of Form Values
var saveEl = $('#save');
saveEl.on('click', function() {
Settings.save('sounds', $('.sounds form'));
});
};
return SoundsAdmin;
});

@ -43,6 +43,8 @@ define(function() {
type: 'success', type: 'success',
timeout: 2500 timeout: 2500
}); });
socket.emit('admin.restart');
}); });
} else { } else {
console.log('[settings] Form not found.'); console.log('[settings] Form not found.');

@ -28,6 +28,7 @@ var adminController = {
languages: {}, languages: {},
settings: {}, settings: {},
logger: {}, logger: {},
sounds: {},
users: require('./admin/users'), users: require('./admin/users'),
uploads: require('./admin/uploads') uploads: require('./admin/uploads')
}; };
@ -112,18 +113,7 @@ adminController.languages.get = function(req, res, next) {
}; };
adminController.settings.get = function(req, res, next) { adminController.settings.get = function(req, res, next) {
meta.sounds.getLocal(function(err, sounds) { res.render('admin/settings', {});
// There has GOT to be a better way!
sounds = Object.keys(sounds).map(function(name) {
return {
name: name
};
});
res.render('admin/settings', {
sounds: sounds
});
});
}; };
adminController.logger.get = function(req, res, next) { adminController.logger.get = function(req, res, next) {
@ -181,4 +171,18 @@ adminController.groups.get = function(req, res, next) {
}); });
}; };
adminController.sounds.get = function(req, res, next) {
meta.sounds.getLocal(function(err, sounds) {
sounds = Object.keys(sounds).map(function(name) {
return {
name: name
};
});
res.render('admin/sounds', {
sounds: sounds
});
});
};
module.exports = adminController; module.exports = adminController;

@ -367,8 +367,15 @@ var fs = require('fs'),
/* Settings */ /* Settings */
Meta.settings = {}; Meta.settings = {};
Meta.settings.get = db.getObject; Meta.settings.get = function(hash, callback) {
Meta.settings.set = db.setObject; hash = 'settings:' + hash;
db.getObject(hash, callback);
};
Meta.settings.set = function(hash, values, callback) {
hash = 'settings:' + hash;
db.setObject(hash, values, callback);
};
/* Assorted */ /* Assorted */
Meta.css = { Meta.css = {

@ -20,6 +20,9 @@ function mainRoutes(app, middleware, controllers) {
app.get('/admin/groups', middleware.admin.buildHeader, controllers.admin.groups.get); app.get('/admin/groups', middleware.admin.buildHeader, controllers.admin.groups.get);
app.get('/api/admin/groups', controllers.admin.groups.get); app.get('/api/admin/groups', controllers.admin.groups.get);
app.get('/admin/sounds', middleware.admin.buildHeader, controllers.admin.sounds.get);
app.get('/api/admin/sounds', controllers.admin.sounds.get);
} }
function userRoutes(app, middleware, controllers) { function userRoutes(app, middleware, controllers) {

Loading…
Cancel
Save