[#333] Brought neighborhood admin up to date with latest theme

Jenny Steele Jenny Steele 2010-05-05

added pyforge/pyforge/templates/neighborhood_admin_accolades.html
added pyforge/pyforge/templates/neighborhood_admin_permissions.html
changed pyforge/pyforge/controllers/project.py
changed pyforge/pyforge/ext/admin/admin_main.py
changed pyforge/pyforge/templates/lib.html
copied pyforge/pyforge/templates/neighborhood_admin.html -> pyforge/pyforge/templates/neighborhood_admin_overview.html
pyforge/pyforge/templates/neighborhood_admin_accolades.html Diff Switch to side-by-side view
Loading...
pyforge/pyforge/templates/neighborhood_admin_permissions.html Diff Switch to side-by-side view
Loading...
pyforge/pyforge/controllers/project.py Diff Switch to side-by-side view
Loading...
pyforge/pyforge/ext/admin/admin_main.py Diff Switch to side-by-side view
Loading...
pyforge/pyforge/templates/lib.html Diff Switch to side-by-side view
Loading...
pyforge/pyforge/templates/neighborhood_admin.html to pyforge/pyforge/templates/neighborhood_admin_overview.html
--- a/pyforge/pyforge/templates/neighborhood_admin.html
+++ b/pyforge/pyforge/templates/neighborhood_admin_overview.html
@@ -10,290 +10,103 @@
 
   <head>
     <meta content="text/html; charset=UTF-8" http-equiv="content-type" py:replace="''"/>
-    <title>Administer $neighborhood.name</title>
+    <title>Administration Overview for $neighborhood.name</title>
   </head>
 
   <body>
-    <div id="neighborhood_admin_tabs">
-	<ul>
-		<li><a href="#neighborhood-admin-overview">Overview</a></li>
-		<li><a href="#neighborhood-admin-permissions">Permissions</a></li>
-		<li><a href="#neighborhood-admin-awards">Awards</a></li>
-	</ul>
-<!-- ######################### -->
-	<div id="neighborhood-admin-overview" style="overflow: auto">
-        <h2>Neighborhood Overview</h2>
-        <form method="POST" action="update" enctype="multipart/form-data">
-          <div class="span-3"><label>Name</label></div>
-          <div class="editable viewing span-15 last">
-            <div class="viewer">$neighborhood.name</div>
-            <div class="editor">
-              <input name="name" value="$neighborhood.name"/>
-            </div>
-          </div>
-          <div class="span-3"><label>Home Content<br/>(Markdown)</label></div>
-          <div class="span-15 last" style="min-height:50px;">${c.markdown_editor.display(name='homepage',value=neighborhood.homepage)}</div>
-          <div class="span-18 last">
-            Custom colors override the default theme for your neighborhood. You may also use them in your Custom CSS like "color: $${color1}"
-          </div>
-          <div class="span-3"><label>Custom Color 1</label></div>
-          <div class="editable viewing span-15 last">
-            <div class="viewer" py:if="neighborhood.theme" style="min-height:50px;">$neighborhood.theme.color1</div>
-            <div class="viewer" py:if="not neighborhood.theme">None</div>
-            <div class="editor">
-              <input name="color1" value="${neighborhood.theme and neighborhood.theme.color1 or ''}"/>
-            </div>
-          </div>
-          <div class="span-3"><label>Custom Color 2</label></div>
-          <div class="editable viewing span-15 last">
-            <div class="viewer" py:if="neighborhood.theme" style="min-height:50px;">$neighborhood.theme.color2</div>
-            <div class="viewer" py:if="not neighborhood.theme">None</div>
-            <div class="editor">
-              <input name="color2" value="${neighborhood.theme and neighborhood.theme.color2 or ''}"/>
-            </div>
-          </div>
-          <div class="span-3"><label>Custom Color 3</label></div>
-          <div class="editable viewing span-15 last">
-            <div class="viewer" py:if="neighborhood.theme" style="min-height:50px;">$neighborhood.theme.color3</div>
-            <div class="viewer" py:if="not neighborhood.theme">None</div>
-            <div class="editor">
-              <input name="color3" value="${neighborhood.theme and neighborhood.theme.color3 or ''}"/>
-            </div>
-          </div>
-          <div class="span-3"><label>Custom Color 4</label></div>
-          <div class="editable viewing span-15 last">
-            <div class="viewer" py:if="neighborhood.theme" style="min-height:50px;">$neighborhood.theme.color4</div>
-            <div class="viewer" py:if="not neighborhood.theme">None</div>
-            <div class="editor">
-              <input name="color4" value="${neighborhood.theme and neighborhood.theme.color4 or ''}"/>
-            </div>
-          </div>
-          <div class="span-3"><label>Custom Color 5</label></div>
-          <div class="editable viewing span-15 last">
-            <div class="viewer" py:if="neighborhood.theme" style="min-height:50px;">$neighborhood.theme.color5</div>
-            <div class="viewer" py:if="not neighborhood.theme">None</div>
-            <div class="editor">
-              <input name="color5" value="${neighborhood.theme and neighborhood.theme.color5 or ''}"/>
-            </div>
-          </div>
-          <div class="span-3"><label>Custom Color 6</label></div>
-          <div class="editable viewing span-15 last">
-            <div class="viewer" py:if="neighborhood.theme" style="min-height:50px;">$neighborhood.theme.color6</div>
-            <div class="viewer" py:if="not neighborhood.theme">None</div>
-            <div class="editor">
-              <input name="color6" value="${neighborhood.theme and neighborhood.theme.color6 or ''}"/>
-            </div>
-          </div>
-          <div class="span-3"><label>Custom CSS</label></div>
-          <div class="editable viewing span-15 last" style="min-height:50px;">
-            <div class="viewer"><pre>$neighborhood.css</pre></div>
-            <div class="editor">
-              <textarea name="css">$neighborhood.css</textarea>
-            </div>
-          </div>
-          <div class="span-3"><label>Icon</label></div>
-          <div class="editable viewing span-15 last" style="min-height:50px;">
-            <div class="viewer">
-              <py:if test="neighborhood.icon">
-                <img src="${neighborhood.url()}/icon"/>
-              </py:if>
-            </div>
-            <div class="editor">
-              ${file_field('icon', 'File')}
-            </div>
-          </div>
-          <div class="push-3 span-15 last"><input type="submit" value="Save" class="ui-state-default ui-button ui-button-text"/></div>
-        </form>
-      </div>
-<!-- ######################### -->
-      <div id="neighborhood-admin-permissions">
-        <h2 class="title">Neighborhood Permissions</h2>
-        <p>The ACL determines neighborhood-level permissions.</p>
-        <div id="acl-admin">
-          <py:for each="permission, users in neighborhood.acl.iteritems()">
-            <h3><a href="#" id="permission_$permission">Permission: $permission</a></h3>
-            <div>
-              <form method="POST" action="update_acl">
-                <input type="hidden" name="permission" value="$permission"/>
-                <input py:for="i,uid in enumerate(users)"
-                       type="hidden" name="user-${i}.id" value="$uid"/>
-                <table>
-                  <thead>
-                    <tr><th>Username</th><th/></tr>
-                  </thead>
-                  <tbody>
-                    <tr py:for="i,u in enumerate(h.make_users(users))">
-                      <td>$u.username</td>
-                      <td><input type="submit" value="Remove" name="user-${i}.delete" class="ui-state-default ui-button ui-button-text" /></td>
-                    </tr>
-                    <tr>
-                      <td>
-                        <input name="new.username"/>
-                      </td>
-                      <td>
-                        <input type="submit" name="new.add" value="Add Permission" class="ui-state-default ui-button ui-button-text"/>
-                      </td>
-                    </tr>
-                  </tbody>
-                </table>
-              </form>
-            </div>
-          </py:for>
+    <h1 class="title">Administration Overview for $neighborhood.name</h1>
+    <form method="POST" action="update" enctype="multipart/form-data">
+      <div class="span-3"><label>Name</label></div>
+      <div class="editable viewing span-15 last">
+        <div class="viewer">$neighborhood.name</div>
+        <div class="editor">
+          <input name="name" value="$neighborhood.name"/>
         </div>
       </div>
-<!-- ######################### -->
-      <div id="neighborhood-admin-awards" style="overflow: auto">
-        <h2>Awards Admin</h2>
-        <p py:if="awards_count > 0">
-        <a href="awards/"><h3>Current Awards</h3></a>
-          <div id="award_list">
-            <table border="1">
-              <thead>
-                <tr>
-                  <th>Icon</th>
-                  <th>Abbreviation</th>
-                  <th>Description</th>
-                  <th>Delete?</th>
-                </tr>
-              </thead>
-              <tbody>
-                <py:for each="award in awards">
-                  <tr>
-                    <td>
-                      <py:if test="award.icon">
-                        <img class="award_icon" src="awards/${award.url()}/icon"/>
-                      </py:if>
-                    </td>
-                    <td><a href="${award.longurl()}">${award.short}</a></td>
-                    <td>$award.full</td>
-                    <td><a href="${award.longurl()}/delete">[X]</a></td>
-                  </tr>
-                </py:for>
-              </tbody>
-            </table>
-          </div>
-        </p>
-        <h3>Create an Award</h3>
-        <form enctype="multipart/form-data" method="POST" action="awards/create">
-          <table border="1">
-            <thead>
-              <tr>
-                <th>Icon</th>
-                <th>Abbreviation</th>
-                <th>Description</th>
-                <th/>
-              </tr>
-            </thead>
-            <tbody>
-              <tr>
-                <td>
-                  <input type="file" id="icon" name="icon" class="text" />
-                </td>
-                <td>
-                  <input name="short"/>
-                </td>
-                <td>
-                  <input name="full"/>
-                </td>
-                <td>
-                  <input type="submit" value="Create" class="ui-state-default ui-button ui-button-text"/>
-                </td>
-              </tr>
-            </tbody>
-          </table>
-        </form>
-        <py:def function="project(n, subprojects)">
-          <option value="${n.name}">${n.name}</option>
-          <py:for each="p in subprojects">
-            ${project(p, p.subprojects)}
-          </py:for>
-        </py:def>
-        <p py:if="awards_count > 0">
-          <h3>Grant an Award</h3>
-          <form method="POST" action="awards/grant">
-            <table border="1">
-              <thead>
-                <tr>
-                  <th>Award</th>
-                  <th>Recipient</th>
-                  <th/>
-                </tr>
-              </thead>
-              <tbody>
-                <tr>
-                  <td>
-                    <select name="grant">
-                      <py:for each="assign in assigns">
-                        <option value="$assign.short">$assign.short</option>
-                      </py:for>
-                    </select>
-                  </td>
-                  <td>
-                    <select name="recipient">
-                    <py:for each="n, subprojects in projects">
-                      ${project(n, subprojects)}
-                    </py:for>
-                    </select>
-                  </td>
-                  <td>
-                    <input type="submit" value="Grant" class="ui-state-default ui-button ui-button-text"/>
-                  </td>
-                </tr>
-              </tbody>
-            </table>
-          </form>
-        </p>
-        <p py:if="grants_count > 0">
-          <h3>Current Grants</h3>
-          <div id="grant_list">
-            <table border="1">
-              <thead>
-                <tr>
-                  <th>Award</th>
-                  <th>Recipient</th>
-                  <th>Delete?</th>
-                </tr>
-              </thead>
-              <tbody>
-                <py:for each="grant in grants">
-                  <tr>
-                    <td><a href="$(grant.longurl()">${grant.award.short}</a></td>
-                    <td><a href="${grant.longurl()}">${grant.granted_to_project.shortname}</a></td>
-                    <td><a href="${grant.longurl()}/revoke">[X]</a></td>
-                  </tr>
-                </py:for>
-              </tbody>
-            </table>
-          </div>
-        </p>
+      <hr class="clear clearfix" />
+      <div class="span-3"><label>Home Content<br/>(Markdown)</label></div>
+      <div class="editable viewing span-15 last">
+        <div class="viewer" py:if="neighborhood.homepage">$neighborhood.homepage</div>
+        <div class="viewer" py:if="not neighborhood.homepage">None</div>
+        <div class="editor">${c.markdown_editor.display(name='homepage',value=neighborhood.homepage)}</div>
       </div>
-<!-- ######################### -->
-    </div>
-    <script type="text/javascript">
-	$(function() {
-		$("#neighborhood_admin_tabs").tabs({cookie:{expires:30}});
-	});
-	$(function() {
-		$("#acl-admin").accordion({
-			autoHeight: false,
-			navigation: true,
-	change: function(event,ui) {
-		var hid = ui.newHeader.children('a').attr('id');
-	if (hid === undefined) {
-		$.cookie('neighborhood-acl-admin', null);
-	} else {
-		$.cookie('neighborhood-acl-admin', hid, { path: '/', expires: 2 });
-	}
-	}
-		});
-	});
-  $(document).ready(function(){
-    if($.cookie('neighborhood-acl-admin')) {
-	$('#acl-admin').accordion('option', 'animated', false)
-	               .accordion('activate', $('#' + $.cookie('neighborhood-acl-admin')).parent('h3'))
-	               .accordion('option', 'animated', 'slide');
-    }
-  });
-	</script>
+      <hr class="clear clearfix" />
+      <div class="span-18 last">
+        Custom colors override the default theme for your neighborhood. You may also use them in your Custom CSS like "color: $${color1}"
+      </div>
+      <div class="span-3"><label>Custom Color 1</label></div>
+      <div class="editable viewing span-15 last">
+        <div class="viewer" py:if="neighborhood.theme">$neighborhood.theme.color1</div>
+        <div class="viewer" py:if="not neighborhood.theme">None</div>
+        <div class="editor">
+          <input name="color1" value="${neighborhood.theme and neighborhood.theme.color1 or ''}"/>
+        </div>
+      </div>
+      <hr class="clear clearfix" />
+      <div class="span-3"><label>Custom Color 2</label></div>
+      <div class="editable viewing span-15 last">
+        <div class="viewer" py:if="neighborhood.theme">$neighborhood.theme.color2</div>
+        <div class="viewer" py:if="not neighborhood.theme">None</div>
+        <div class="editor">
+          <input name="color2" value="${neighborhood.theme and neighborhood.theme.color2 or ''}"/>
+        </div>
+      </div>
+      <hr class="clear clearfix" />
+      <div class="span-3"><label>Custom Color 3</label></div>
+      <div class="editable viewing span-15 last">
+        <div class="viewer" py:if="neighborhood.theme">$neighborhood.theme.color3</div>
+        <div class="viewer" py:if="not neighborhood.theme">None</div>
+        <div class="editor">
+          <input name="color3" value="${neighborhood.theme and neighborhood.theme.color3 or ''}"/>
+        </div>
+      </div>
+      <hr class="clear clearfix" />
+      <div class="span-3"><label>Custom Color 4</label></div>
+      <div class="editable viewing span-15 last">
+        <div class="viewer" py:if="neighborhood.theme">$neighborhood.theme.color4</div>
+        <div class="viewer" py:if="not neighborhood.theme">None</div>
+        <div class="editor">
+          <input name="color4" value="${neighborhood.theme and neighborhood.theme.color4 or ''}"/>
+        </div>
+      </div>
+      <hr class="clear clearfix" />
+      <div class="span-3"><label>Custom Color 5</label></div>
+      <div class="editable viewing span-15 last">
+        <div class="viewer" py:if="neighborhood.theme">$neighborhood.theme.color5</div>
+        <div class="viewer" py:if="not neighborhood.theme">None</div>
+        <div class="editor">
+          <input name="color5" value="${neighborhood.theme and neighborhood.theme.color5 or ''}"/>
+        </div>
+      </div>
+      <hr class="clear clearfix" />
+      <div class="span-3"><label>Custom Color 6</label></div>
+      <div class="editable viewing span-15 last">
+        <div class="viewer" py:if="neighborhood.theme">$neighborhood.theme.color6</div>
+        <div class="viewer" py:if="not neighborhood.theme">None</div>
+        <div class="editor">
+          <input name="color6" value="${neighborhood.theme and neighborhood.theme.color6 or ''}"/>
+        </div>
+      </div>
+      <hr class="clear clearfix" />
+      <div class="span-3"><label>Custom CSS</label></div>
+      <div class="editable viewing span-15 last">
+        <div class="viewer" py:if="neighborhood.css"><pre>$neighborhood.css</pre></div>
+        <div class="viewer" py:if="not neighborhood.css">No CSS has been created</div>
+        <div class="editor">
+          <textarea name="css">$neighborhood.css</textarea>
+        </div>
+      </div>
+      <hr class="clear clearfix" />
+      <div class="span-3"><label>Icon</label></div>
+      <div class="editable viewing span-15 last">
+        <div class="viewer" py:if="neighborhood.icon"><img src="${neighborhood.url()}/icon"/></div>
+        <div class="viewer" py:if="not neighborhood.icon">No icon has been uploaded</div>
+        <div class="editor">
+          ${file_field('icon', 'File')}
+        </div>
+      </div>
+      <hr class="clear clearfix" />
+      <div class="push-3 span-15 last"><input type="submit" value="Save" class="ui-state-default ui-button ui-button-text"/></div>
+    </form>
   </body>
 </html>