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. 42
      static/partials/settings.html

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

@ -37,12 +37,13 @@ type Config struct { @@ -37,12 +37,13 @@ type Config struct {
Version string // Server version number
UsersEnabled bool // Flag if users are enabled
UsersAllowRegistration bool // Flag if users can register
UsersMode string // Users mode string
Plugin string // Plugin to load
globalRoomid string // Id of the global room (not exported to Javascript)
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)
return &Config{
Title: title,
@ -56,6 +57,7 @@ func NewConfig(title, ver, runtimeVersion, basePath, serverToken string, stunURI @@ -56,6 +57,7 @@ func NewConfig(title, ver, runtimeVersion, basePath, serverToken string, stunURI
Version: runtimeVersion,
UsersEnabled: usersEnabled,
UsersAllowRegistration: usersAllowRegistration,
UsersMode: usersMode,
Plugin: plugin,
globalRoomid: globalRoomid,
defaultRoomEnabled: defaultRoomEnabled,

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

@ -286,6 +286,8 @@ func runner(runtime phoenix.Runtime) error { @@ -286,6 +286,8 @@ func runner(runtime phoenix.Runtime) error {
serverRealm = "local"
}
usersMode, _ := runtime.GetString("users", "mode")
// Create token provider.
var tokenProvider TokenProvider
if tokenFile != "" {
@ -294,7 +296,7 @@ func runner(runtime phoenix.Runtime) error { @@ -294,7 +296,7 @@ func runner(runtime phoenix.Runtime) error {
}
// 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.
tt := template.New("")
@ -377,7 +379,7 @@ func runner(runtime phoenix.Runtime) error { @@ -377,7 +379,7 @@ func runner(runtime phoenix.Runtime) error {
api.AddResourceWithWrapper(&Tokens{tokenProvider}, httputils.MakeGzipHandler, "/tokens")
if usersEnabled {
// Create Users handler.
users := NewUsers(hub, serverRealm, runtime)
users := NewUsers(hub, usersMode, serverRealm, runtime)
api.AddResource(&Sessions{hub: hub, users: users}, "/sessions/{id}/")
if usersAllowRegistration {
api.AddResource(users, "/users")

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

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

1
static/js/directives/settings.js

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

9
static/js/services/mediastream.js

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

42
static/partials/settings.html

@ -28,26 +28,30 @@ @@ -28,26 +28,30 @@
</div>
<div class="form-group" ng-if="withUsers || userid">
<label class="col-xs-4 control-label">{{_('Your ID')}}</label>
<form class="col-xs-8" target="users_registration_certificate_iframe">
<keygen style="display:none" name="pubkey"/>
<label ng-if="!userid && withUsersRegistration">
<button class="btn btn-small btn-primary" ng-click="registerUserid($event.target)">{{_('Register')}}</button>
</label>
<pre class="small" ng-if="userid">{{userid}}</pre>
<iframe style="display:none" name="users_registration_certificate_iframe"></iframe>
</form>
<div ng-if="false" class="col-xs-8">
<label ng-if="!userid && withUsersRegistration">
<button class="btn btn-small btn-primary" ng-click="registerUserid($event.target)">{{_('Register')}}</button>
</label>
<pre class="small" ng-if="userid">{{userid}}</pre>
<label ng-if="userid && loadedUserlogin">
<button class="btn btn-small btn-default" ng-click="forgetUserid()">{{_('Log out')}}</button>
</label>
<div ng-switch="withUsersMode">
<form ng-switch-when="certificate" class="col-xs-8" target="users_registration_certificate_iframe">
<div ng-if="!userid">
<keygen style="display:none" name="pubkey"/>
<label ng-if="!userid && withUsersRegistration">
<button class="btn btn-small btn-primary" ng-click="registerUserid($event.target)">{{_('Register')}}</button>
</label>
<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>
<div ng-switch-default class="col-xs-8">
<label ng-if="!userid && withUsersRegistration">
<button class="btn btn-small btn-primary" ng-click="registerUserid($event.target)">{{_('Register')}}</button>
</label>
<pre class="small" ng-if="userid">{{userid}}</pre>
<label ng-if="userid && loadedUserlogin">
<button class="btn btn-small btn-default" ng-click="forgetUserid()">{{_('Log out')}}</button>
</label>
</div>
</div>
<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>
</div>

Loading…
Cancel
Save