forked from External/greenlight
		
	Merge pull request #103 from zach-chai/previous_room_meetings
store previously joined authenticated meetings
This commit is contained in:
		@@ -195,7 +195,7 @@
 | 
			
		||||
  var initRooms = function() {
 | 
			
		||||
    displayRoomURL();
 | 
			
		||||
 | 
			
		||||
    $('.center-panel-wrapper').on('keyup', '.meeting-name', function (event, msg) {
 | 
			
		||||
    $('.center-panel-wrapper').on('input', '.meeting-name', function (event, msg) {
 | 
			
		||||
      var newId = $(this).val();
 | 
			
		||||
      Meeting.getInstance().setMeetingId(newId);
 | 
			
		||||
      $('.meeting-url').val(Meeting.getInstance().getURL());
 | 
			
		||||
@@ -207,6 +207,27 @@
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    if ($(".page-wrapper.rooms").data('main-room')) {
 | 
			
		||||
      $('.center-panel-wrapper').on('click', '.fill-meeting-name', function (event, msg) {
 | 
			
		||||
        var name = $(this).text();
 | 
			
		||||
        $('input.meeting-name').val(name).trigger('input');
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      $('ul.previously-joined').empty();
 | 
			
		||||
      var joinedMeetings = localStorage.getItem('joinedRooms');
 | 
			
		||||
      if (joinedMeetings && joinedMeetings.length > 0) {
 | 
			
		||||
        joinedMeetings = joinedMeetings.split(',');
 | 
			
		||||
        $('.center-panel-wrapper .previously-joined-wrapper').removeClass('hidden');
 | 
			
		||||
 | 
			
		||||
        for (var i = joinedMeetings.length - 1; i >= 0; i--) {
 | 
			
		||||
          $('ul.previously-joined').append('<li><a class="fill-meeting-name">'+joinedMeetings[i]+'</a></li>');
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      if ($('input.meeting-name').val() !== '') {
 | 
			
		||||
        $('input.meeting-name').trigger('input');
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    Recordings.getInstance().refresh();
 | 
			
		||||
    Recordings.getInstance().setupActionHandlers();
 | 
			
		||||
  };
 | 
			
		||||
 
 | 
			
		||||
@@ -63,21 +63,27 @@ class @Meeting
 | 
			
		||||
  #    The response object contains the URL to join the meeting
 | 
			
		||||
  getJoinMeetingResponse: ->
 | 
			
		||||
    return $.get @getURL() + "/join?name=" + @userName, (data) =>
 | 
			
		||||
      if data.messageKey == 'ok' && @type == 'meetings'
 | 
			
		||||
        # update name used to join meeting
 | 
			
		||||
        localStorage.setItem('lastJoinedName', @getUserName())
 | 
			
		||||
      # update name used to join meeting
 | 
			
		||||
      localStorage.setItem('lastJoinedName', @getUserName())
 | 
			
		||||
 | 
			
		||||
        # update previously joined meetings on client
 | 
			
		||||
      if data.messageKey == 'ok'
 | 
			
		||||
        key = ''
 | 
			
		||||
        if @type == 'meetings'
 | 
			
		||||
          key = 'joinedMeetings'
 | 
			
		||||
        else if @type == 'rooms'
 | 
			
		||||
          key = 'joinedRooms'
 | 
			
		||||
 | 
			
		||||
        # update previously joined meetings/rooms on client
 | 
			
		||||
        try
 | 
			
		||||
          joinedMeetings = localStorage.getItem('joinedMeetings') || ''
 | 
			
		||||
          joinedMeetings = localStorage.getItem(key) || ''
 | 
			
		||||
          joinedMeetings = joinedMeetings.split(',')
 | 
			
		||||
          joinedMeetings = joinedMeetings.filter (item) => item != @meetingId.toString()
 | 
			
		||||
          if joinedMeetings.length >= 5
 | 
			
		||||
            joinedMeetings.splice(0, 1)
 | 
			
		||||
          joinedMeetings.push(@meetingId)
 | 
			
		||||
          localStorage.setItem('joinedMeetings', joinedMeetings.join(','))
 | 
			
		||||
          localStorage.setItem(key, joinedMeetings.join(','))
 | 
			
		||||
        catch err
 | 
			
		||||
          localStorage.setItem('joinedMeetings', @meetingId)
 | 
			
		||||
          localStorage.setItem(key, @meetingId)
 | 
			
		||||
 | 
			
		||||
  getMeetingId: ->
 | 
			
		||||
    return @meetingId
 | 
			
		||||
 
 | 
			
		||||
@@ -14,13 +14,15 @@
 | 
			
		||||
// You should have received a copy of the GNU Lesser General Public License along
 | 
			
		||||
// with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
.previously-joined {
 | 
			
		||||
  list-style-type: none;
 | 
			
		||||
  margin:auto;
 | 
			
		||||
  width: 200px;
 | 
			
		||||
  padding: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.meetings {
 | 
			
		||||
  .previously-joined {
 | 
			
		||||
    list-style-type: none;
 | 
			
		||||
    margin:auto;
 | 
			
		||||
    width: 200px;
 | 
			
		||||
    padding: 0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.rooms {
 | 
			
		||||
 
 | 
			
		||||
@@ -31,6 +31,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
  <div class="center-block center-panel-content-size col-xs-12">
 | 
			
		||||
    <% if admin? %>
 | 
			
		||||
      <%= render 'shared/meeting_name_form' %>
 | 
			
		||||
      <div class="row">
 | 
			
		||||
        <%= render 'landing/previously_joined' %>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="row">
 | 
			
		||||
        <%= render 'landing/invite_join' %>
 | 
			
		||||
      </div>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user