mirror of
https://github.com/dani/vroom.git
synced 2024-06-03 22:01:41 +02:00
Switch promote_peer to the new api handler
This commit is contained in:
parent
f181eb6406
commit
b1e37a673f
|
@ -165,7 +165,8 @@ use constant API_ACTIONS => {
|
|||
set_join_password => 1,
|
||||
set_owner_password => 1,
|
||||
set_ask_for_name => 1,
|
||||
email_notification => 1
|
||||
email_notification => 1,
|
||||
promote_peer => 1
|
||||
},
|
||||
participant => {
|
||||
ping => 1,
|
||||
|
|
|
@ -958,10 +958,15 @@ function initVroom(room) {
|
|||
function promotePeer(id){
|
||||
if (peers[id] && peers[id].role != 'owner'){
|
||||
$.ajax({
|
||||
url: rootUrl + 'api',
|
||||
data: {
|
||||
action: 'promote',
|
||||
room: roomName,
|
||||
peer: id
|
||||
req: JSON.stringify({
|
||||
action: 'promote_peer',
|
||||
param: {
|
||||
room: roomName,
|
||||
peer: id
|
||||
}
|
||||
})
|
||||
},
|
||||
error: function(data) {
|
||||
$.notify(locale.ERROR_OCCURRED, 'error');
|
||||
|
|
40
vroom.pl
40
vroom.pl
|
@ -1563,6 +1563,24 @@ any '/api' => sub {
|
|||
}
|
||||
);
|
||||
}
|
||||
# Promote a participant to be owner of a room
|
||||
elsif ($req->{action} eq 'promote_peer'){
|
||||
my $peer_id = $req->{param}->{peer_id};
|
||||
if ($peer_id && $self->promote_peer({room => $room, peer_id => $peer_id})){
|
||||
return $self->render(
|
||||
json => {
|
||||
status => 'success',
|
||||
msg => $self->l('PEER_PROMOTED')
|
||||
}
|
||||
);
|
||||
}
|
||||
return $self->render(
|
||||
json => {
|
||||
msg => 'error',
|
||||
status => $self->l('ERROR_OCCURRED')
|
||||
}
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
# Catch all route: if nothing else match, it's the name of a room
|
||||
|
@ -1702,28 +1720,6 @@ post '/*jsapi' => { jsapi => [qw(jsapi admin/jsapi)] } => sub {
|
|||
},
|
||||
);
|
||||
}
|
||||
# A participant is being promoted to the owner status
|
||||
elsif ($action eq 'promote'){
|
||||
my $peer = $self->param('peer');
|
||||
my $status = 'error';
|
||||
my $msg = $self->l('ERROR_OCCURRED');
|
||||
if (!$peer){
|
||||
$msg = $self->l('ERROR_OCCURRED');
|
||||
}
|
||||
elsif ($self->session($room)->{role} ne 'owner'){
|
||||
$msg = $self->l('NOT_ALLOWED');
|
||||
}
|
||||
elsif ($self->promote_peer({room => $room, peer_id => $peer})){
|
||||
$status = 'success';
|
||||
$msg = $self->l('PEER_PROMOTED');
|
||||
}
|
||||
return $self->render(
|
||||
json => {
|
||||
msg => $msg,
|
||||
status => $status
|
||||
}
|
||||
);
|
||||
}
|
||||
# Wipe etherpad data
|
||||
elsif ($action eq 'wipeData'){
|
||||
my $status = 'error';
|
||||
|
|
Loading…
Reference in New Issue
Block a user