]> asedeno.scripts.mit.edu Git - bluechips.git/blobdiff - bluechips/templates/base.mako
Added UI for working with tags
[bluechips.git] / bluechips / templates / base.mako
index 8403b016f956db65c7c0039e000b4fbdb08fa640..43db6e4246c1871b543fc69aa83ca5a6c66c3618 100644 (file)
@@ -4,34 +4,66 @@
   <head>
     <meta http-equiv="content-type" content="text/html; charset=utf-8" />
     <title>${self.title()}</title>
-    ${h.stylesheet_link('/css/main.css')}
+    ${h.stylesheet_link('%s/css/main.css' % request.script_name)}
+    ${h.stylesheet_link('//ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/flick/jquery-ui.css')}
+    ${h.javascript_link('//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js')}
+    ${h.javascript_link('//ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js')}
+    ${h.javascript_link('%s/js/admin.js' % request.script_name)}
   </head>
   <body>
-    <h1>${self.title()}</h1>
-    <% messages = h.flash.pop_messages() %>
-    % if messages:
-    <ul id="flash-messages">
-    % for message in messages:
-        <li>${message}</li>
-    % endfor
-    </ul>
+    % if c.mobile_client:
+      <div id="mobile">
+        <a href="${h.url_for(request.url, use_non_mobile='no')}">Use mobile interface</a>
+      </div>
     % endif
-    <div id="nav">
-      <ul>
-        <li>${h.link_to('Dashboard', h.url_for(controller='status',
-                                               action='index',
-                                               id=None))}</li>
-        <li>${h.link_to('Expense', h.url_for(controller='spend',
-                                             action='index',
-                                             id=None))}</li>
-        <li>${h.link_to('Transfer', h.url_for(controller='transfer',
-                                              action='index',
-                                              id=None))}</li>
-        <li>${h.link_to('History', h.url_for(controller='history',
-                                             action='index',
-                                             id=None))}</li>
-      </ul>
+    <div id="nav" class="block">
+      <table>
+        <tr>
+          <td>
+            <h1 class="title">
+              % if c.title:
+                ${c.title}
+              % else:
+                BlueChips
+              % endif
+            </h1>
+          </td>
+          <td>
+            <a href="${h.url_for(controller='status', action='index')}">
+              <img src="${request.script_name}/icons/status.png" alt="">
+              <span>Dashboard</span>
+            </a>
+          </td>
+          <td>
+            <a href="${h.url_for(controller='spend', action='index')}">
+              <img src="${request.script_name}/icons/spend.png" alt="">
+              <span>Expense</span>
+            </a>
+          </td>
+          <td>
+            <a href="${h.url_for(controller='transfer', action='index')}">
+              <img src="${request.script_name}/icons/transfer.png" alt="">
+              <span>Transfer</span>
+            </a>
+          </td>
+          <td>
+            <a href="${h.url_for(controller='history', action='index')}">
+              <img src="${request.script_name}/icons/history.png" alt="">
+              <span>History</span>
+            </a>
+          </td>
+          <td>
+            <a href="${h.url_for(controller='user', action='index')}">
+              <img src="${request.script_name}/icons/user.png" alt="">
+              <span>User</span>
+            </a>
+          </td>
+        </tr>
+      </table>
     </div>
+    % for message in h.flash.pop_messages():
+      <div class="flash">${str(message) | n}</div>
+    % endfor
     <div id="content">
       ${next.body()}
     </div>
 % endif
 </%def>
 
-<%def name="listExpenditures(es)">
-<table>
+<%def name="formatUser(user)">
+  % if user == request.environ['user']:
+    <strong>Me</strong>
+  % else:
+    ${user.name}
+  % endif
+</%def>
+
+<%def name="listExpenditures(es, total=None, share=None)">
+  <table class="list">
     <tr>
-        <th>Date</th>
-        <th>Spender</th>
-        <th>Description</th>
-        <th>Amount</th>
-        <th></th>
+      <th class="date">Date</th>
+      <th class="user">Spender</th>
+      <th class="description">Description</th>
+      <th class="amount">Amount</th>
+      <th class="share">My Share</th>
+      <th class="editlink"></th>
     </tr>
     % for e in es:
-    <tr>
-        <td>${e.date}</td>
-        <td>${e.spender.name}</td>
-        <td>${e.description}</td>
-        <td>${e.amount}</td>
-        <td>${h.link_to('Edit', h.url_for(controller='spend', 
-                                          action='edit',
-                                          id=e.id))}</td>
-    </tr>
+      <%
+        if e.involves(request.environ['user']):
+          klass = 'user-involved'
+        else:
+          klass = 'user-not-involved'
+      %>
+      <tr class="${klass}">
+        <td class="date">${e.date}</td>
+        <td class="user">${formatUser(e.spender)}</td>
+        <td class="description">${e.description}</td>
+        <td class="amount">${e.amount}</td>
+        <td class="share">${e.share(request.environ['user'])}</td>
+        <td class="editlink">${h.link_to('Edit', h.url_for(controller='spend', action='edit', id=e.id))}</td>
+      </tr>
     % endfor
-</table>
+    % if total is not None and share is not None:
+      <tr class="user-involved">
+        <td class="total" colspan=3></td>
+       <td class="total">${total}</td>
+       <td class="total">${share}</td>
+       <td class="total"></td>
+      </tr>
+
+    % endif
+  </table>
 </%def>
 
 <%def name="listTransfers(ts)">
-<table>
+  <table class="list">
     <tr>
-        <th>Date</th>
-        <th>From</th>
-        <th>To</th>
-        <th>Description</th>
-        <th>Amount</th>
-        <th></th>
+      <th class="date">Date</th>
+      <th class="user">From</th>
+      <th class="user">To</th>
+      <th class="description">Description</th>
+      <th class="amount">Amount</th>
+      <th class="editlink"></th>
     </tr>
     % for t in ts:
-    <tr>
-        <td>${t.date}</td>
-        <td>${t.debtor.name}</td>
-        <td>${t.creditor.name}</td>
-        <td>${t.description}</td>
-        <td>${t.amount}</td>
-        <td>${h.link_to('Edit', h.url_for(controller='transfer', 
-                                          action='edit',
-                                          id=t.id))}</td>
-    </tr>
+      <%
+        if t.involves(request.environ['user']):
+          klass = 'user-involved'
+        else:
+          klass = 'user-not-involved'
+      %>
+      <tr class="${klass}">
+        <td class="date">${t.date}</td>
+        <td class="user">${formatUser(t.debtor)}</td>
+        <td class="user">${formatUser(t.creditor)}</td>
+        <td class="description">${t.description}</td>
+        <td class="amount">${t.amount}</td>
+        <td class="editlink">${h.link_to('Edit', h.url_for(controller='transfer', action='edit', id=t.id))}</td>
+      </tr>
     % endfor
-</table>
+  </table>
+</%def>
+
+<%def name="listTags()">
+<%
+x = ',\n'.join([h.link_to(tag.name, h.url_for(controller='history', action='tag', id=tag.id)) for tag in c.tags])
+%>
+${x|n}
+</%def>
+
+
+<%def name="expenditureIcon()">
+&larr;<span class="dollarsign">&rarr;
+</%def>
+
+<%def name="transferIcon()">
+<span class="dollarsign">$</span>&rarr;<span class="dollarsign">$</span>
 </%def>