[CalendarServer-changes] [7973] CalendarServer/branches/users/glyph/imip-and-admin-html/ calendarserver/webadmin
source_changes at macosforge.org
source_changes at macosforge.org
Thu Aug 11 21:53:59 PDT 2011
Revision: 7973
http://trac.macosforge.org/projects/calendarserver/changeset/7973
Author: glyph at apple.com
Date: 2011-08-11 21:53:59 -0700 (Thu, 11 Aug 2011)
Log Message:
-----------
noProxyResults / hasProxyResults renderers
Modified Paths:
--------------
CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/resource.py
CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/template.html
Modified: CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/resource.py
===================================================================
--- CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/resource.py 2011-08-12 04:53:47 UTC (rev 7972)
+++ CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/resource.py 2011-08-12 04:53:59 UTC (rev 7973)
@@ -361,6 +361,34 @@
@renderer
@inlineCallbacks
+ def noProxyResults(self, request, tag):
+ """
+ Renderer which shows its tag if there are no proxy search results for
+ this request.
+ """
+ results = yield self.performProxySearch()
+ if results:
+ returnValue("")
+ else:
+ returnValue(tag)
+
+
+ @renderer
+ @inlineCallbacks
+ def hasProxyResults(self, request, tag):
+ """
+ Renderer which shows its tag if there are any proxy search results for
+ this request.
+ """
+ results = yield self.performProxySearch()
+ if results:
+ returnValue(tag)
+ else:
+ returnValue("")
+
+
+ @renderer
+ @inlineCallbacks
def proxyRows(self, request, tag):
"""
Renderer which does zipping logic to render read-only and read-write
@@ -373,10 +401,16 @@
returnValue(result)
- def performProxySearch(self, request):
+ _proxySearchResults = None
+
+ def performProxySearch(self):
+ if self._proxySearchResults is not None:
+ return succeed(self._proxySearchResults)
+
if self.proxySearch:
def nameSorted(records):
records.sort(key=operator.attrgetter('fullName'))
+ self._proxySearchResults = records
return records
return self.adminResource.search(
self.proxySearch).addCallback(nameSorted)
@@ -389,7 +423,7 @@
"""
Renderer which renders search results for the proxy form.
"""
- d = self.performProxySearch(request)
+ d = self.performProxySearch()
return d.addCallback(searchToSlots, tag)
Modified: CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/template.html
===================================================================
--- CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/template.html 2011-08-12 04:53:47 UTC (rev 7972)
+++ CalendarServer/branches/users/glyph/imip-and-admin-html/calendarserver/webadmin/template.html 2011-08-12 04:53:59 UTC (rev 7973)
@@ -119,7 +119,7 @@
<t:transparent t:render="autoSchedule">
<div style="margin-top:15px; border-bottom:1px #444444 dotted"></div>
<form id="frm_autoSchedule" name="autoScheduleForm" action="/admin/"
- style="margin-top:15px">
+ style="margin-top:15px">
<input type="hidden" id="hdn_resourceId" name="resourceId"
><t:attr name="value"><t:slot name="resourceId" /></t:attr></input>
<div style="margin-top:7px">
@@ -136,13 +136,13 @@
<!-- currentProxiesHtml -->
<div style="margin-top:15px; border-bottom:1px #444444 dotted"></div>
<form id="frm_proxies" name="proxiesForm" action="/admin/"
- style="margin-top:15px">
+ style="margin-top:15px">
<input type="hidden" id="hdn_resourceId" name="resourceId"
><t:attr name="value"><t:slot name="resourceId" /></t:attr></input>
<div t:render="noProxies" style="margin-top:15px"
- >This resource has no proxies.</div>
+ >This resource has no proxies.</div>
<table cellspacing="0" cellpadding="3" border="1"
- t:render="hasProxies">
+ t:render="hasProxies">
<tr class="odd">
<th colspan="2">Read-Only Proxies</th>
<th colspan="2">Read-Write Proxies</th>
@@ -168,11 +168,11 @@
<td><t:slot name="proxy" /></td>
<td>
<input type="submit" value="Make Read-Only"><t:attr
- name="name">mkReadProxy|<t:slot name="type" />:<t:slot
- name="shortName"/></t:attr></input>
+ name="name">mkReadProxy|<t:slot name="type" />:<t:slot
+ name="shortName"/></t:attr></input>
<input type="submit" value="Remove Proxy"><t:attr
- name="name">rmProxy|<t:slot name="type" />:<t:slot
- name="shortName"/></t:attr></input>
+ name="name">rmProxy|<t:slot name="type" />:<t:slot
+ name="shortName"/></t:attr></input>
</td>
</t:transparent>
<t:transparent t:render="noReadWriteProxies">
@@ -185,46 +185,48 @@
<!-- proxySearchHtml -->
<div style="margin-top:15px; border-bottom:1px #444444 dotted"></div>
+ <div t:render="noProxyResults"
+ style="margin-top:4px"
+ >No matches found for proxy resource <b><t:slot
+ name="proxySearch" /></b>.</div>
<form id="frm_proxySearch" name="proxySearchForm" action="/admin/"
- style="margin-top:15px; margin-bottom:0; padding-bottom:0">
- Search to add proxies:
- <input type="hidden" id="hdn_resourceId" name="resourceId"
- ><t:attr name="value"><t:slot name="resourceId" /></t:attr></input>
- <input type="text" id="txt_proxySearch" name="proxySearch" size="40"
- ><t:attr name="value"><t:slot name="proxySearch" /></t:attr></input>
- <input type="submit" value="Search"></input>
+ style="margin-top:15px; margin-bottom:0; padding-bottom:0">
+ Search to add proxies:
+ <input type="hidden" id="hdn_resourceId" name="resourceId"
+ ><t:attr name="value"><t:slot name="resourceId" /></t:attr></input>
+ <input type="text" id="txt_proxySearch" name="proxySearch" size="40"
+ ><t:attr name="value"><t:slot name="proxySearch" /></t:attr></input>
+ <input type="submit" value="Search"></input>
</form>
- <div style="margin-top:4px"
- >No matches found for proxy resource <b><t:slot
- name="proxySearch" /></b>.</div>
- <form id="frm_proxyAdd" name="proxyAddForm" action="/admin/"
- style="margin-top:2px; padding-top:0">
- <input type="hidden" id="hdn_resourceId" name="resourceId"
- ><t:attr name="value"><t:slot name="resourceId" /></t:attr></input>
- <table cellspacing="0" cellpadding="3" border="1">
- <tr class="odd">
- <th>Full Name</th>
- <th>Type</th>
- <th>Short Names</th>
- <th>Email Addresses</th>
- <th></th>
- </tr>
- <tr t:render="proxySearchRows">
- <t:attr name="class"><t:slot name="rowClass" /> </t:attr>
- <td><t:slot name="name" /></td>
- <td><t:slot name="typeStr" /></td>
- <td><t:slot name="shortNames" /></td>
- <td><t:slot name="emails" /></td>
- <td>
- <input type="submit" value="Make Read-Only Proxy"><t:attr
- name="name">mkReadProxy|<t:slot name="type" />:<t:slot
- name="shortName"/></t:attr></input>
- <input type="submit" value="Make Read-Write Proxy"><t:attr
- name="name">mkWriteProxy|<t:slot name="type" />:<t:slot
- name="shortName"/></t:attr></input>
- </td>
- </tr>
- </table>
+ <form t:render="hasProxyResults"
+ id="frm_proxyAdd" name="proxyAddForm" action="/admin/"
+ style="margin-top:2px; padding-top:0">
+ <input type="hidden" id="hdn_resourceId" name="resourceId"
+ ><t:attr name="value"><t:slot name="resourceId" /></t:attr></input>
+ <table cellspacing="0" cellpadding="3" border="1">
+ <tr class="odd">
+ <th>Full Name</th>
+ <th>Type</th>
+ <th>Short Names</th>
+ <th>Email Addresses</th>
+ <th></th>
+ </tr>
+ <tr t:render="proxySearchRows">
+ <t:attr name="class"><t:slot name="rowClass" /> </t:attr>
+ <td><t:slot name="name" /></td>
+ <td><t:slot name="typeStr" /></td>
+ <td><t:slot name="shortNames" /></td>
+ <td><t:slot name="emails" /></td>
+ <td>
+ <input type="submit" value="Make Read-Only Proxy"><t:attr
+ name="name">mkReadProxy|<t:slot name="type" />:<t:slot
+ name="shortName"/></t:attr></input>
+ <input type="submit" value="Make Read-Write Proxy"><t:attr
+ name="name">mkWriteProxy|<t:slot name="type" />:<t:slot
+ name="shortName"/></t:attr></input>
+ </td>
+ </tr>
+ </table>
</form>
</t:transparent>
</div>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20110811/de6b312f/attachment-0001.html>
More information about the calendarserver-changes
mailing list