Exemple #1
0
  def send_administrator_home(self, request):  
    # write the page title
    
    request.writeln('''<script src="''' + join(WEB_PROGRAM_URL, 'jquery-1.4.2.min.js') + '''"></script>''')
    request.writeln('''<script src="''' + join(WEB_PROGRAM_URL, 'jquery-ui-1.8.2.custom.min.js') + '''"></script>''')
    request.writeln('''<script src="''' + join(WEB_PROGRAM_URL, 'multiSelect.js') + '''"></script>''')
    request.writeln('''<link href="''' + join(WEB_PROGRAM_URL, 'jquery-ui-1.8.2.custom.css') + '''" rel="stylesheet" type="text/css"/>''')
    
    request.writeln('''
      <script language='JavaScript' type='text/javascript'>
      <!--
        var global_meetingid = '';
        var meetingview = '';
        var meetingname = '';
	
	$(function() {
		$( "#programFormDialog" ).dialog({height: 400, width: 500, modal: true, autoOpen: false});
		$( "#userFormDialog" ).dialog({height: 650, width: 620, modal: true, autoOpen: false});
		$("input:button").button();
		$("input:submit").button();
		$("#createNP").click(function() { $("#programFormDialog").dialog("open"); });
		$("#createUser").click(function() { $("#userFormDialog").dialog("open"); });
		$("#cancelNP").click(function() {$("#programFormDialog").dialog("close");});
		$("#cancelUser").click(function() {$("#programFormDialog").dialog("close");});
		$("#newProgram").click(function() {$("#programFormDialog").dialog("close"); document.npForm.submit();});
	});
        
        function parseSelectedMeeting(mtginfo) {
          global_meetingid = '';
          meetingview = '';
          meetingname = '';
	  
	  var selectedID = 'meetinginfo_' + mtginfo;
	  var meetinginfo = document.getElementById(selectedID).innerHTML;
	  var meetingar = meetinginfo.split('/');

          global_meetingid = meetingar[0];
          meetingview = meetingar[1];
          meetingname = meetingar[2];
        }
      
        function openMeeting() {
          parseSelectedMeeting();
          if (global_meetingid == '') {
            alert("Please select a program.");
          }else{
            window.location.href="''' + request.cgi_href(global_rootid=None, global_view=None) + '''&global_rootid=" + global_meetingid + "&global_view=" + meetingview;
          }
        }
        
        function editMeeting(mtginfo) {
          parseSelectedMeeting(mtginfo);
          if (global_meetingid == '') {
            alert("Please select a program.");
          }else{
            window.location.href="''' + request.cgi_href(itemid=None, global_meetingid=None, global_adminview=None) + '''&itemid=" + global_meetingid + "&global_meetingid=" + global_meetingid + "&global_adminview=" + meetingview;
          }
        }
        
        function exportMeeting() {
          parseSelectedMeeting();
          if (global_meetingid == '') {
            alert("Please select a program.");
          }else{
            window.location.href="''' + request.cgi_href(global_rootid=None, global_view="Export", gm_contenttype='application/x-gzip', contentdisposition="StrikeComGame.gz") + '''&global_rootid=" + global_meetingid;
          }
        }
        
        function copyMeeting(id) {
          parseSelectedMeeting();
          if (global_meetingid == '') {
            alert("Please select a program.");
          }else{
            var text = prompt('Copy To (enter new program name):', '');
            if (text != null && text != '') {
              text = encode(text);
              window.location.href = "''' + request.cgi_href(global_adminview='MeetingHome', _mhaction='copyitem', _itemname=None, _copyitemid=None) + '''&_copyitemid=" + global_meetingid + "&_itemname=" + text;
            }
          }
        }

        function renameMeeting(mtginfo) {
          parseSelectedMeeting(mtginfo);
          if (global_meetingid == '') {
            alert("Please select a program.");
          }else{
            var text = prompt("New Program Name:");
            if (text != null && text != '') {
              text = encode(text);
              window.location.href = "''' + request.cgi_href(_adminaction='editmeetingname', itemid=None, global_meetingid=None, meetingname=None) + '''&global_meetingid=" + global_meetingid + "&meetingname=" + text;
            }
          }
        }
        
        function deleteMeeting(mtginfo) {
          parseSelectedMeeting(mtginfo);
          if (global_meetingid == '') {
            alert("Please select a program.");
          }else if (confirm("Delete this program and all associated data?")) {
            window.location.href="''' + request.cgi_href(_adminaction='delitem', id=None) + '''&id=" + global_meetingid;
          }
        }
        
        function editUser(urinfo) {
	  var selectedUser = '******' + urinfo;
          var userid = urinfo;
          if (userid == '') {
            alert('Please select a user to edit');
          }else{
            window.location.href="''' + request.cgi_href(_adminaction="edituser", userid=None) + '''&userid=" + userid;
          }
        }
        
        function deleteUser(urinfo) {
	  var selectedUser = '******' + urinfo;
          var userid = urinfo;
          if (userid == '') {
            alert('Please select a non-administrator user to delete');
          }else{
            if (confirm('Delete this user?')) {
              window.location.href="''' + request.cgi_href(_adminaction="deluser", userid=None) + '''&userid=" + userid;
            }
          }
        }

      //-->
      </script>
      </head>
    ''')
    
    # switch based upon the action
    action = request.getvalue('_adminaction', '')
    if action == 'edituser':
      self.edit_user(request)
      self.main_page(request)
    
    elif action == 'deluser':
      self.del_user(request)
      self.main_page(request)
      
    elif action == 'delitem':
      self.del_item(request)
      self.main_page(request)
      
    elif action == 'saveuser':
      self.save_user(request)
      self.main_page(request)
      
    elif action == 'generateusers':
      self.generate_users(request)
      
    elif action == 'dogenerateusers':
      self.do_generate_users(request)
      self.main_page(request)
      
    elif action == 'dodeleteusers':
      self.do_delete_users(request)
      self.main_page(request)
      
    elif action == 'exportusers':
      self.export_users(request)
      
    elif action == 'newmeeting':
      meeting = Directory.create_meeting(request.getvalue('meetingname', ''), request.getvalue('meetingview', ''), request.session.user.id)
      meeting.type = BaseView.MEETING_ROOT_ITEM
      meeting.status = 0
      meeting.save()
      log.info(str(meeting))
      
      groups = datagate.create_item(creatorid=request.session.user.id, parentid=meeting.id)  
      groups.name='groups'
      groups.save()
      # allow the view to initialize itself
      BaseView.views[meeting.view.lower()].initialize_activity(request, meeting)
      self.main_page(request)
            
    elif action == 'editmeetingname':
      meeting = datagate.get_item(request.getvalue('global_meetingid', ''))
      meeting.name = request.getvalue('meetingname')
      meeting.save()
      log.info(str(meeting))
      self.main_page(request)
      
    else:
      self.main_page(request)     

    # page footer
    request.writeln("</body></html>")
Exemple #2
0
  def send_administrator_home(self, request):  
    # write the page title
    request.writeln('''
      <script language='JavaScript' type='text/javascript'>
      <!--
        var global_meetingid = '';
        var meetingview = '';
        var meetingname = '';
        
        function parseSelectedMeeting() {
          global_meetingid = '';
          meetingview = '';
          meetingname = '';
          var meetingselect = document.getElementById('meetingselect');
          if (meetingselect.selectedIndex >= 0) {
            var meetinginfo = meetingselect.options[meetingselect.selectedIndex].value;
            var meetingar = meetinginfo.split('/');
            global_meetingid = meetingar[0];
            meetingview = meetingar[1];
            meetingname = meetingar[2];
          }
        }
      
        function openMeeting() {
          parseSelectedMeeting();
          if (global_meetingid == '') {
            alert("Please select a program.");
          }else{
            window.location.href="''' + request.cgi_href(global_rootid=None, global_view=None) + '''&global_rootid=" + global_meetingid + "&global_view=" + meetingview;
          }
        }
        
        function editMeeting() {
          parseSelectedMeeting();
          if (global_meetingid == '') {
            alert("Please select a program.");
          }else{
            window.location.href="''' + request.cgi_href(itemid=None, global_meetingid=None, global_adminview=None) + '''&itemid=" + global_meetingid + "&global_meetingid=" + global_meetingid + "&global_adminview=" + meetingview;
          }
        }
        
        function exportMeeting() {
          parseSelectedMeeting();
          if (global_meetingid == '') {
            alert("Please select a program.");
          }else{
            window.location.href="''' + request.cgi_href(global_rootid=None, global_view="Export", gm_contenttype='application/x-gzip', contentdisposition="StrikeComGame.gz") + '''&global_rootid=" + global_meetingid;
          }
        }
        
        function copyMeeting(id) {
          parseSelectedMeeting();
          if (global_meetingid == '') {
            alert("Please select a program.");
          }else{
            var text = prompt('Copy To (enter new program name):', '');
            if (text != null && text != '') {
              text = encode(text);
              window.location.href = "''' + request.cgi_href(global_adminview='MeetingHome', _mhaction='copyitem', _itemname=None, _copyitemid=None) + '''&_copyitemid=" + global_meetingid + "&_itemname=" + text;
            }
          }
        }

        function renameMeeting() {
          parseSelectedMeeting();
          if (global_meetingid == '') {
            alert("Please select a program.");
          }else{
            var text = prompt("New Program Name:");
            if (text != null && text != '') {
              text = encode(text);
              window.location.href = "''' + request.cgi_href(_adminaction='editmeetingname', itemid=None, global_meetingid=None, meetingname=None) + '''&global_meetingid=" + global_meetingid + "&meetingname=" + text;
            }
          }
        }
        
        function deleteMeeting() {
          parseSelectedMeeting();
          if (global_meetingid == '') {
            alert("Please select a program.");
          }else if (confirm("Delete this program and all associated data?")) {
            window.location.href="''' + request.cgi_href(_adminaction='delitem', id=None) + '''&id=" + global_meetingid;
          }
        }
        
        function editUser() {
          var userselect = document.getElementById('userselect');
          var userid = userselect.options[userselect.selectedIndex].value;
          if (userid == '') {
            alert('Please select a user to edit');
          }else{
            window.location.href="''' + request.cgi_href(_adminaction="edituser", userid=None) + '''&userid=" + userid;
          }
        }
        
        function deleteUser() {
          var userselect = document.getElementById('userselect');
          var userid = userselect.options[userselect.selectedIndex].value;
          if (userid == '') {
            alert('Please select a non-administrator user to delete');
          }else{
            if (confirm('Delete this user?')) {
              window.location.href="''' + request.cgi_href(_adminaction="deluser", userid=None) + '''&userid=" + userid;
            }
          }
        }

      //-->
      </script>
      </head>
    ''')
    
    # switch based upon the action
    action = request.getvalue('_adminaction', '')
    if action == 'edituser':
      self.edit_user(request)
    
    elif action == 'deluser':
      self.del_user(request)
      self.main_page(request)
      
    elif action == 'delitem':
      self.del_item(request)
      self.main_page(request)
      
    elif action == 'saveuser':
      self.save_user(request)
      self.main_page(request)
      
    elif action == 'generateusers':
      self.generate_users(request)
      
    elif action == 'dogenerateusers':
      self.do_generate_users(request)
      self.main_page(request)
      
    elif action == 'dodeleteusers':
      self.do_delete_users(request)
      self.main_page(request)
      
    elif action == 'exportusers':
      self.export_users(request)
      
    elif action == 'newmeeting':
      meeting = Directory.create_meeting(request.getvalue('meetingname', ''), request.getvalue('meetingview', ''), request.session.user.id)
      meeting.type = BaseView.MEETING_ROOT_ITEM
      meeting.status = 0
      meeting.save()
      
      groups = datagate.create_item(creatorid=request.session.user.id, parentid=meeting.id)  
      groups.name='groups'
      groups.save()
      # allow the view to initialize itself
      BaseView.views[meeting.view.lower()].initialize_activity(request, meeting)
      self.main_page(request)
            
    elif action == 'editmeetingname':
      meeting = datagate.get_item(request.getvalue('global_meetingid', ''))
      meeting.name = request.getvalue('meetingname')
      meeting.save()
      self.main_page(request)
      
    else:
      self.main_page(request)     

    # page footer
    request.writeln("</body></html>")