Changeset 400:e6414b1712d9


Ignore:
Timestamp:
02/28/10 15:25:03 (2 years ago)
Author:
fl
Branch:
trunk
Message:

[svn r744] clean up layout and implement a better instance selector

Files:
1 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • adhocracy/lib/helpers.py

    r398 r400  
    1616import democracy 
    1717import cache 
     18import sorting 
    1819 
    1920import adhocracy.model as model  
     
    109110    return False 
    110111 
     112     
     113def context_instances(count=5): 
     114    ins = c.user.instances[:count] if c.user else model.Instance.all(limit=count) 
     115    if c.instance and c.instance in ins: 
     116        ins.remove(c.instance) 
     117    return sorting.instance_activity(ins) 
     118 
    111119 
    112120def gravatar_url(user, size=32): 
  • adhocracy/model/instance.py

    r399 r400  
    112112     
    113113    @classmethod   
    114     def all(cls): 
    115         return meta.Session.query(Instance).all() 
     114    def all(cls, limit=None): 
     115        q = meta.Session.query(Instance) 
     116        if limit is not None: 
     117            q = q.limit(limit) 
     118        return q.all() 
    116119     
    117120     
  • adhocracy/static/style/base.css

    r399 r400  
    340340.user_icon { 
    341341        margin-bottom: -4px; 
     342        width: 16px; 
     343        height: 16px; 
    342344} 
    343345 
     
    386388        text-align: left; 
    387389        margin: 0px auto; 
     390        position: relative; 
     391        height: inherit; 
    388392} 
    389393 
    390394#header #account { 
    391         float: right; 
    392         background-color: red; 
     395        position: absolute; 
     396        top: 0em; 
     397        list-style: none; 
    393398        margin: -2px 0px 0px 0px; 
    394399        padding: 4px 1em 8px 1em; 
     400        right: 0em; 
    395401        color: white; 
    396402        background-color: #1553a4; 
     
    398404        background-position: bottom; 
    399405        z-index: 1000; 
     406        color: white;    
    400407        -webkit-border-bottom-left-radius: 5px; 
    401408        -moz-border-radius-bottomleft: 5px; 
     
    404411} 
    405412 
     413#account li { 
     414        display: inline-block; 
     415} 
     416 
     417#account li ul { 
     418        position: absolute; 
     419        visibility: hidden; 
     420        padding-top: 8px; 
     421        margin-left: -5px; 
     422        border-bottom: 5px solid #1553a4; 
     423} 
     424 
     425#account li ul li { 
     426        background-color: #1553a4; 
     427        display: block; 
     428} 
     429 
     430#account li ul li a, 
     431#account li ul li a:hover { 
     432        display: inline-block; 
     433        padding: 5px;    
     434} 
     435 
     436#account li:hover ul { 
     437        visibility: visible; 
     438        width: auto; 
     439        overflow: visible; 
     440} 
     441 
     442#account li:after { 
     443        content:  " ·"; 
     444} 
     445 
     446#account li.last:after, 
     447#account li ul li:after { 
     448        content:  ""; 
     449} 
     450 
    406451#header #account img { 
     452        display: inline-block; 
     453        border: 0px; 
     454        width: 16px; 
     455        height: 16px; 
    407456        margin-bottom: -4px; 
    408457        padding: 0px; 
     
    410459 
    411460#header #account a { 
    412         font-weight: normal; 
     461        font-weight: bold; 
    413462        color: #fff; 
    414         text-transform: lowercase; 
    415463} 
    416464 
     
    420468 
    421469#header #logo { 
    422         float: left; 
    423         margin-top: 15px; 
     470        position: absolute; 
     471        left: 0em; 
     472        bottom: 0.4em; 
    424473        margin-right: 0.9em; 
    425474} 
     
    427476#header #menu { 
    428477        position: absolute; 
    429         width: 820px; 
    430         top: 55px; 
     478        bottom: 1.2em; 
    431479        padding-left: 70px; 
     480} 
     481 
     482#header #searchform { 
     483        position: absolute; 
     484        bottom: 0.3em; 
     485        right: 0em; 
    432486} 
    433487 
     
    439493        min-width: 15em; 
    440494        padding: 8px 1em 8px 1em; 
     495        margin: -1em 0em 0em 0em; 
    441496        border: 1px solid #ccc; 
    442         margin: 0px 0.2em 0px 0em; 
    443497        -webkit-border-radius: 5px; 
    444498        -moz-border-radius: 5px; 
     
    449503 
    450504#header #search { 
    451         float: right; 
    452         margin: -10px 0px 0px 0px; 
    453505        font-weight: normal; 
    454506        text-shadow: none; 
     
    457509        background-position: center left; 
    458510        padding-left: 24px; 
    459 } 
    460  
    461 #header form { 
    462          
    463511} 
    464512 
  • adhocracy/templates/proposal/tiles.html

    r399 r400  
    149149                                        </div> 
    150150                                %endif 
    151                                 <div> 
     151                                <div class="last"> 
    152152                                        ${_("stable majority for %s days") % c.instance.activation_delay}  
    153153                                </div> 
  • adhocracy/templates/template.html

    r399 r400  
    6161<div id="frame"> 
    6262        <div id="header"> 
    63                 <form action="/search" method="GET"> 
    6463                <div id="center"> 
    65                         <div id="account"> 
     64                        <ul id="account"> 
    6665                        %if not c.user: 
    67                                 <a href="/login">${_("sign in")}</a> &middot; 
    68                                 <a href="/register">${_("create an account")|n}</a> 
     66                                <li class="${'last' if c.instance else ''}"><a href="/login">${_("sign in")}</a> 
     67                                %if c.instance: 
     68                                        ${_("to")} 
     69                                %endif 
     70                                </li> 
    6971                        %else: 
    70                                 <img src="${h.gravatar_url(c.user, size=16)|n}"> 
     72                                <li class="${'last' if c.instance else ''}"><img src="${h.gravatar_url(c.user, size=16)|n}"> 
    7173                                <a class="user_name" href="${h.entity_url(c.user)}">${c.user.name}</a> 
     74                                %if c.instance: 
     75                                        ${_("in")} 
     76                                %endif 
     77                                </li> 
     78                        %endif 
     79                        %if c.instance: 
     80                                <li> 
     81                                        <a href="${h.entity_url(c.instance)}">${c.instance.label}</a> 
     82                                        <ul> 
     83                                                %for i in h.context_instances(): 
     84                                                        <li><a href="${h.entity_url(i)}">${i.label}</a></li> 
     85                                                %endfor 
     86                                                <li><a href="${h.instance_url(None, path='/adhocracies')}">${_("other...")}</a></li> 
     87                                        </ul> 
     88                                </li> 
     89                        %endif 
     90                        %if not c.user:  
     91                                <li class="last"><a href="/register">${_("create an account")|n}</a></li> 
     92                        %else: 
     93                                %if c.instance and not c.user.is_member(c.instance): 
     94                                        <li><a class="join"  
     95                                                href="${h.entity_url(c.instance, member='join')}?${h.url_token()}">${_("join %s") % c.instance.label}</a></li>   
     96                                %endif  
     97                                 
    7298                                %if h.has_permission("vote.cast"): 
    73                                         &middot; <a href="${h.entity_url(c.user, member='votes')}">${_("votes")}</a> 
    74                                         &middot; <a href="${h.entity_url(c.user, member='delegations')}">${_("delegations")}</a>                                                 
     99                                        <li><a href="${h.entity_url(c.user, member='votes')}">${_("votes")}</a></li> 
     100                                        <li><a href="${h.entity_url(c.user, member='delegations')}">${_("delegations")}</a></li>                                                 
    75101                                %endif 
    76                                 %if c.instance and not c.user.is_member(c.instance): 
    77                                         &middot;  
    78                                         <a class="join"  
    79                                                 href="${h.entity_url(c.instance, member='join')}?${h.url_token()}">${_("join %s") % c.instance.label}</a>        
    80                                 %endif  
    81                                 &middot; <a href="${h.entity_url(c.user, member='edit')}">${_("settings")}</a> 
    82                                 &middot; <a href="/logout">${_("logout")}</a> 
     102                                <li><a href="${h.entity_url(c.user, member='edit')}">${_("settings")}</a></li> 
     103                                <li class="last"><a href="/logout">${_("logout")}</a></li> 
    83104                        %endif 
     105                        </ul> 
     106                        <a href="${h.entity_url(c.instance) if c.instance else '/'}"><img id="logo" src="/instance/${c.instance.key if c.instance else '_def'}_64x64.png" /></a> 
     107                        <div id="menu"> 
     108                                <ul> 
     109                                        %if not c.instance: 
     110                                                <li><a href="/">${_("Home")}</a></li> 
     111                                                <li><a href="/adhocracies">${_("Adhocracies")}</a></li> 
     112                                        %endif 
     113                                        %if c.instance: 
     114                                                <li><a href="/issue">${_("Issues")}</a></li> 
     115                                                <li><a href="/proposal">${_("Proposals")}</a></li> 
     116                                        %endif 
     117                                        %if h.has_permission("global.admin"): 
     118                                                <li><a href="/admin/permissions">${_("Admin")}</a></li> 
     119                                        %endif 
     120                                        %if c.instance: 
     121                                                <li><a href="/user">${_("Members")}</a></li> 
     122                                        %endif 
     123                                        %if not c.instance: 
     124                                                <li><a href="/user">${_("All Users")}</a></li> 
     125                                        %endif 
     126                                </ul> 
    84127                        </div> 
    85                         <a href="/"><img id="logo" src="/instance/${c.instance.key if c.instance else '_def'}_64x64.png" /></a> 
    86                         <div id="menu"> 
    87                         <ul> 
    88                                 %if not c.instance: 
    89                                         <li><a href="/">${_("Home")}</a></li> 
    90                                 %endif 
    91                                 <li><a href="/adhocracies">${_("Adhocracies")}</a></li> 
    92                                 %if c.instance: 
    93                                         <li><a href="/issue">${_("Issues")}</a></li> 
    94                                         <li><a href="/proposal">${_("Proposals")}</a></li> 
    95                                 %endif 
    96                                 %if h.has_permission("global.admin"): 
    97                                         <li><a href="/admin/permissions">${_("Admin")}</a></li> 
    98                                 %endif 
    99                                 %if c.instance: 
    100                                         <li><a href="/user">${_("Members")}</a></li> 
    101                                 %endif 
    102                                 %if not c.instance: 
    103                                         <li><a href="/user">${_("All Users")}</a></li> 
    104                                 %endif 
    105                         </ul> 
    106128                         
     129                        <form id="searchform" action="/search" method="GET"> 
    107130                        <label id="searchlabel" for="serp_q" class="armhint">${_("Search")}</label> 
    108131                        <input id="search" name="serp_q" class="armlabel" autocomplete="off" />  
    109                         </div> 
     132                        </form> 
    110133                </div> 
    111                 </form> 
    112134        </div> 
    113135        <%def name="page()"> 
  • test.ini

    r223 r400  
    2727adhocracy.domains = test.lan 
    2828 
     29skip_migration = True 
    2930skip_authentication = True 
    3031skip_setupentities = True 
Note: See TracChangeset for help on using the changeset viewer.