Exemple #1
0
  def send_content(self, request):
    '''Main loop for this view'''
    # get the meetings this user is in
    if request.session.user.superuser == '1':
      #the superuser gets sent straight to the Administrator page
      #pm_meetings = Directory.get_meetings()
      #meetings = []
      self.forward_to_superuser(request)

    
    else:
      pm_meetings = []
      meetings = []
      for meeting in Directory.get_meetings():               
        if Directory.get_group(meeting.id, request.session.user.id) != None:
          if self.user_is_pm(meeting, request.session.user.id):
            pm_meetings.append(meeting)
          else:
            meetings.append(meeting)
    
      # send to the appropriate page
      if len(meetings)+len(pm_meetings) == 0: #and request.session.user.superuser != '1': #superuser is now redirected before this line
        self.no_meetings(request)
      
      elif len(meetings)+len(pm_meetings) == 1: #and request.session.user.superuser != '1': #superuser is now redirected before this line
        if len(meetings) == 1:
          self.forward_to_meeting(request, meetings[0])
        else:
          #self.forward_to_meeting(request, pm_meetings[0])
	  self.forward_to_pm(request, pm_meetings[0])
      
      else:
        self.show_meetings(request, meetings, pm_meetings)
Exemple #2
0
  def meetings_page(self, request):
    '''Shows the meetings (embedded in the main page table)'''
    request.writeln('<div class="module"><h1>Programs</h1>')
    
    # current meetings
    request.writeln('''
      <div align="center" name="meetingselect" id="meetingselect">
	<div id="meetinglist">
    ''')
    
    meetings = Directory.get_meetings()
    meetings.sort(lambda a,b: cmp(a.name, b.name))
    for meeting in meetings:
      request.writeln('''<div class="progBox">
			<span style="display:none;" id="meetinginfo_''' + meeting.id + '''">''' + str(meeting.id) + '''/''' + meeting.view + '''/''' + meeting.name + '''</span>
			<span style="float:left;">'''+meeting.name+'''</span>
			<span style="float:right;">
			  <a class="ui-icon ui-icon-pencil" href='javascript:editMeeting("''' + meeting.id + '''");'></a>
			  <a class="ui-icon ui-icon-closethick" href='javascript:deleteMeeting("''' + meeting.id + '''");'></a>
			  <a class="ui-icon ui-icon-plusthick" href='javascript:renameMeeting("''' + meeting.id + '''");'></a>
			</span>
		      </div>
    ''')
    request.writeln('''</div><br/>
	  <center>
	    <div id="programFormDialog" style="display:none;" title="Create New Program">
	    ''' + request.cgi_form(_adminaction='newmeeting', meetingname=None, meetingview=None, meetingusers=None, name='npForm') + '''
	      <select style="display:none;" name="meetingview"><option value="poet">POET Acquisition Collaboration</option></select>
	      <table border=0 style="height:100%;padding:10px;">
		<tr>
		  <td>Name:</td><td><input type="text" name="meetingname" size="20" /></td>
		</tr>
		<tr>
		  <td>Users:</td><td><select name="meetingusers" multiple size="5">
    ''')
    users = Directory.get_users()
    users.sort(lambda a,b: cmp(a.username, b.username))
    for user in users:
	request.writeln('''<option id="'''+ user.id + '''">''' + user.name + '''</option>''')
    request.writeln('''
		  </select></td>
		</tr>
		<tr>
		  <td><input type="submit" id="newProgram" value="Create" onclick="document.npForm.submit();" /></td><td><input type="button" id="cancelNP" value="Cancel" /></td>
		</tr>
	      </table>
	      </form>
	    </div>
	    <input type="button" id="createNP" value="Create New Program"></input>	  
	  </center>
	</div>
      </div>
    ''')
Exemple #3
0
  def meetings_page(self, request):
    '''Shows the meetings (embedded in the main page table)'''
    request.writeln('<center><div class="i">Programs:</div></center>')
    
    # current meetings
    request.writeln('''
      <p align="center">
      <select name="meetingselect" id="meetingselect" size="15">
    ''')
    
    meetings = Directory.get_meetings()
    meetings.sort(lambda a,b: cmp(a.name, b.name))
    for meeting in meetings:
      request.writeln('<option selected value="' + meeting.id + '/' + meeting.view + '/' + meeting.name + '">' + meeting.name + '</option>')
    request.writeln('''
      </select>
      </p>
      <p align="center">
        <a href="javascript:openMeeting();">Open</a>
        |
        <a href="javascript:editMeeting();">Edit</a>
        |
        <a href="javascript:exportMeeting();">Export</a>
        |
        <a href="javascript:copyMeeting();">Copy</a>
        |
        <a href="javascript:renameMeeting();">Rename</a>
        |
        <a href="javascript:deleteMeeting();">Delete</a>
      </p>
      <hr>
    ''' + request.cgi_form(_adminaction='newmeeting', meetingname=None, meetingview=None) + '''
      New Program:
      <center>
      <table border=0>
        <tr>
          <td>New Program Name:</td>
          <td><input type="text" name="meetingname" size="20"></td>
        </tr><tr>
          <td>New Program Type:</td>
          <td>
            <select name="meetingview">
    ''')
    for name in top_level_components:
      view = BaseView.views[name]
      request.writeln('<option value="' + name + '">' + html(view.NAME) + '</option>')
    request.writeln('''
            </select>
          </td>
        </tr>
      </table>
      <input type="submit" value="Create New Program">
      </form>
      </center>
      
      <hr>
      
    ''' + request.cgi_multipart_form(global_rootid=Directory.meetings_item.id, global_adminview='MeetingHome', _mhaction='import', importfile=None) + '''
      Import Program: 
      <center>
      <table border=0>
        <tr>
          <td>Import File:</td>
          <td><input type="file" name="subaction"></td>
        </tr>
      </table>
      <input type="submit" value="Import">
      </form>
      </center>

      <hr>
      <p>
      * Notes about Exporting:
      <br>
      &nbsp; 1. Programs are saved in XML format.  Information for all users is included with each export.  The structure can be inferred from the XML (sorry, no explicit DTD or Schema).
      <br>
      &nbsp; 2. Export files are gzipped to reduce bandwidth.  <i>Please save the download with a <b>.gz</b> extension</i>.  Programs such as WinZip (Windows) or gunzip (Mac/Unix/Linux) can read gzipped files.
      </p>
      
      
    ''')