Browse Source

Finialized settings integration.

pull/28/head
Simon Eisenmann 11 years ago
parent
commit
8e23be4f46
  1. 4
      src/app/spreed-speakfreely-server/config.go
  2. 6
      src/app/spreed-speakfreely-server/main.go
  3. 3
      src/app/spreed-speakfreely-server/users.go
  4. 1
      static/js/directives/settings.js
  5. 9
      static/js/services/mediastream.js
  6. 16
      static/partials/settings.html

4
src/app/spreed-speakfreely-server/config.go

@ -37,12 +37,13 @@ type Config struct {
Version string // Server version number Version string // Server version number
UsersEnabled bool // Flag if users are enabled UsersEnabled bool // Flag if users are enabled
UsersAllowRegistration bool // Flag if users can register UsersAllowRegistration bool // Flag if users can register
UsersMode string // Users mode string
Plugin string // Plugin to load Plugin string // Plugin to load
globalRoomid string // Id of the global room (not exported to Javascript) globalRoomid string // Id of the global room (not exported to Javascript)
defaultRoomEnabled bool // Flag if default room ("") is enabled defaultRoomEnabled bool // Flag if default room ("") is enabled
} }
func NewConfig(title, ver, runtimeVersion, basePath, serverToken string, stunURIs, turnURIs []string, tokens bool, globalRoomid string, defaultRoomEnabled, usersEnabled, usersAllowRegistration bool, plugin string) *Config { func NewConfig(title, ver, runtimeVersion, basePath, serverToken string, stunURIs, turnURIs []string, tokens bool, globalRoomid string, defaultRoomEnabled, usersEnabled, usersAllowRegistration bool, usersMode, plugin string) *Config {
sv := fmt.Sprintf("static/ver=%s", ver) sv := fmt.Sprintf("static/ver=%s", ver)
return &Config{ return &Config{
Title: title, Title: title,
@ -56,6 +57,7 @@ func NewConfig(title, ver, runtimeVersion, basePath, serverToken string, stunURI
Version: runtimeVersion, Version: runtimeVersion,
UsersEnabled: usersEnabled, UsersEnabled: usersEnabled,
UsersAllowRegistration: usersAllowRegistration, UsersAllowRegistration: usersAllowRegistration,
UsersMode: usersMode,
Plugin: plugin, Plugin: plugin,
globalRoomid: globalRoomid, globalRoomid: globalRoomid,
defaultRoomEnabled: defaultRoomEnabled, defaultRoomEnabled: defaultRoomEnabled,

6
src/app/spreed-speakfreely-server/main.go

@ -286,6 +286,8 @@ func runner(runtime phoenix.Runtime) error {
serverRealm = "local" serverRealm = "local"
} }
usersMode, _ := runtime.GetString("users", "mode")
// Create token provider. // Create token provider.
var tokenProvider TokenProvider var tokenProvider TokenProvider
if tokenFile != "" { if tokenFile != "" {
@ -294,7 +296,7 @@ func runner(runtime phoenix.Runtime) error {
} }
// Create configuration data structure. // Create configuration data structure.
config = NewConfig(title, ver, runtimeVersion, basePath, serverToken, stunURIs, turnURIs, tokenProvider != nil, globalRoomid, defaultRoomEnabled, usersEnabled, usersAllowRegistration, plugin) config = NewConfig(title, ver, runtimeVersion, basePath, serverToken, stunURIs, turnURIs, tokenProvider != nil, globalRoomid, defaultRoomEnabled, usersEnabled, usersAllowRegistration, usersMode, plugin)
// Load templates. // Load templates.
tt := template.New("") tt := template.New("")
@ -377,7 +379,7 @@ func runner(runtime phoenix.Runtime) error {
api.AddResourceWithWrapper(&Tokens{tokenProvider}, httputils.MakeGzipHandler, "/tokens") api.AddResourceWithWrapper(&Tokens{tokenProvider}, httputils.MakeGzipHandler, "/tokens")
if usersEnabled { if usersEnabled {
// Create Users handler. // Create Users handler.
users := NewUsers(hub, serverRealm, runtime) users := NewUsers(hub, usersMode, serverRealm, runtime)
api.AddResource(&Sessions{hub: hub, users: users}, "/sessions/{id}/") api.AddResource(&Sessions{hub: hub, users: users}, "/sessions/{id}/")
if usersAllowRegistration { if usersAllowRegistration {
api.AddResource(users, "/users") api.AddResource(users, "/users")

3
src/app/spreed-speakfreely-server/users.go

@ -252,7 +252,7 @@ type Users struct {
handler UsersHandler handler UsersHandler
} }
func NewUsers(hub *Hub, realm string, runtime phoenix.Runtime) *Users { func NewUsers(hub *Hub, mode, realm string, runtime phoenix.Runtime) *Users {
var users = &Users{ var users = &Users{
hub: hub, hub: hub,
@ -263,7 +263,6 @@ func NewUsers(hub *Hub, realm string, runtime phoenix.Runtime) *Users {
var err error var err error
// Create handler based on mode. // Create handler based on mode.
mode, _ := runtime.GetString("users", "mode")
if handler, err = users.createHandler(mode, runtime); err == nil { if handler, err = users.createHandler(mode, runtime); err == nil {
users.handler = handler users.handler = handler
// Register handler Get at the hub. // Register handler Get at the hub.

1
static/js/directives/settings.js

@ -39,6 +39,7 @@ define(['underscore', 'text!partials/settings.html'], function(_, template) {
]; ];
$scope.withUsers = mediaStream.config.UsersEnabled; $scope.withUsers = mediaStream.config.UsersEnabled;
$scope.withUsersRegistration = mediaStream.config.UsersAllowRegistration; $scope.withUsersRegistration = mediaStream.config.UsersAllowRegistration;
$scope.withUsersMode = mediaStream.config.UsersMode;
_.each(availableLanguages, function(name, code) { _.each(availableLanguages, function(name, code) {
$scope.availableLanguages.push({ $scope.availableLanguages.push({

9
static/js/services/mediastream.js

@ -68,6 +68,7 @@ define([
register: function(form, success_cb, error_cb) { register: function(form, success_cb, error_cb) {
var url = mediaStream.url.api("users"); var url = mediaStream.url.api("users");
if (form) { if (form) {
// Form submit mode.
$(form).attr("action", url).attr("method", "POST"); $(form).attr("action", url).attr("method", "POST");
var idE = $('<input name="id" type="hidden">'); var idE = $('<input name="id" type="hidden">');
idE.val(mediaStream.api.id); idE.val(mediaStream.api.id);
@ -76,7 +77,6 @@ define([
$(form).append(idE); $(form).append(idE);
$(form).append(sidE); $(form).append(sidE);
var iframe = $(form).find("iframe"); var iframe = $(form).find("iframe");
console.log("xxxx", iframe[0]);
form.submit(); form.submit();
$timeout(function() { $timeout(function() {
idE.remove(); idE.remove();
@ -85,6 +85,7 @@ define([
sidE=null; sidE=null;
}, 0); }, 0);
} else { } else {
// AJAX mode.
var data = { var data = {
id: mediaStream.api.id, id: mediaStream.api.id,
sid: mediaStream.api.sid sid: mediaStream.api.sid
@ -113,12 +114,6 @@ define([
}, },
authorize: function(data, success_cb, error_cb) { authorize: function(data, success_cb, error_cb) {
var url = mediaStream.url.api("sessions") + "/" + mediaStream.api.id + "/"; var url = mediaStream.url.api("sessions") + "/" + mediaStream.api.id + "/";
/*var data = {
id: mediaStream.api.id,
sid: mediaStream.api.sid,
useridcombo: useridCombo,
secret: secret
}*/
var login = _.clone(data); var login = _.clone(data);
login.id = mediaStream.api.id; login.id = mediaStream.api.id;
login.sid = mediaStream.api.sid; login.sid = mediaStream.api.sid;

16
static/partials/settings.html

@ -28,17 +28,21 @@
</div> </div>
<div class="form-group" ng-if="withUsers || userid"> <div class="form-group" ng-if="withUsers || userid">
<label class="col-xs-4 control-label">{{_('Your ID')}}</label> <label class="col-xs-4 control-label">{{_('Your ID')}}</label>
<div ng-switch="withUsersMode">
<form class="col-xs-8" target="users_registration_certificate_iframe"> <form ng-switch-when="certificate" class="col-xs-8" target="users_registration_certificate_iframe">
<div ng-if="!userid">
<keygen style="display:none" name="pubkey"/> <keygen style="display:none" name="pubkey"/>
<label ng-if="!userid && withUsersRegistration"> <label ng-if="!userid && withUsersRegistration">
<button class="btn btn-small btn-primary" ng-click="registerUserid($event.target)">{{_('Register')}}</button> <button class="btn btn-small btn-primary" ng-click="registerUserid($event.target)">{{_('Register')}}</button>
</label> </label>
<pre class="small" ng-if="userid">{{userid}}</pre>
<iframe style="display:none" name="users_registration_certificate_iframe"></iframe> <iframe style="display:none" name="users_registration_certificate_iframe"></iframe>
</div>
<div ng-if="userid">
<pre class="small">{{userid}}</pre>
<span class-"help-block">{{_('Authenticated by certificate.')}}</span>
</div>
</form> </form>
<div ng-switch-default class="col-xs-8">
<div ng-if="false" class="col-xs-8">
<label ng-if="!userid && withUsersRegistration"> <label ng-if="!userid && withUsersRegistration">
<button class="btn btn-small btn-primary" ng-click="registerUserid($event.target)">{{_('Register')}}</button> <button class="btn btn-small btn-primary" ng-click="registerUserid($event.target)">{{_('Register')}}</button>
</label> </label>
@ -47,7 +51,7 @@
<button class="btn btn-small btn-default" ng-click="forgetUserid()">{{_('Log out')}}</button> <button class="btn btn-small btn-default" ng-click="forgetUserid()">{{_('Log out')}}</button>
</label> </label>
</div> </div>
</div>
<div class="col-xs-8 col-xs-offset-4" ng-if="!userid && withUsersRegistration"> <div class="col-xs-8 col-xs-offset-4" ng-if="!userid && withUsersRegistration">
<span class="help-block">{{_('Only register an ID if this is your private browser.')}}</span> <span class="help-block">{{_('Only register an ID if this is your private browser.')}}</span>
</div> </div>

Loading…
Cancel
Save