| rev | line source | 
| bsw@276 | 1 if app.session.member_id then | 
| bsw@276 | 2   util.help("index.index", _"Home") | 
| bsw@276 | 3 | 
| bsw@276 | 4   execute.view{ | 
| bsw@558 | 5     module = "index", view = "_index_member" | 
| bsw@276 | 6   } | 
| bsw@276 | 7 | 
| bsw@813 | 8 elseif app.session:has_access("anonymous") then | 
| bsw@276 | 9   if config.motd_public then | 
| bsw@276 | 10     local help_text = config.motd_public | 
| bsw@276 | 11     ui.container{ | 
| bsw@276 | 12       attr = { class = "wiki motd" }, | 
| bsw@276 | 13       content = function() | 
| bsw@276 | 14         slot.put(format.wiki_text(help_text)) | 
| bsw@276 | 15       end | 
| bsw/jbe@4 | 16     } | 
| bsw@10 | 17   end | 
| bsw@276 | 18 | 
| bsw@462 | 19   local open_issues_selector = Issue:new_selector() | 
| bsw@462 | 20     :add_where("issue.closed ISNULL") | 
| bsw@462 | 21     :add_order_by("coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.admission_time) - now()") | 
| bsw@462 | 22 | 
| bsw@462 | 23   local closed_issues_selector = Issue:new_selector() | 
| bsw@462 | 24     :add_where("issue.closed NOTNULL") | 
| bsw@462 | 25     :add_order_by("issue.closed DESC") | 
| bsw@462 | 26 | 
| bsw@462 | 27 | 
| bsw@462 | 28   local tabs = { | 
| bsw@462 | 29     module = "index", | 
| bsw@462 | 30     view = "index" | 
| bsw@462 | 31   } | 
| bsw@462 | 32 | 
| bsw@462 | 33   tabs[#tabs+1] = { | 
| bsw@462 | 34     name = "units", | 
| bsw@462 | 35     label = _"Units", | 
| bsw@462 | 36     module = "unit", | 
| bsw@462 | 37     view = "_list" | 
| bsw@462 | 38   } | 
| bsw@462 | 39 | 
| bsw@462 | 40   tabs[#tabs+1] = { | 
| bsw@462 | 41     name = "timeline", | 
| bsw@602 | 42     label = _"Latest events", | 
| bsw@462 | 43     module = "event", | 
| bsw@462 | 44     view = "_list", | 
| bsw@462 | 45     params = { global = true } | 
| bsw@462 | 46   } | 
| bsw/jbe@0 | 47 | 
| bsw@462 | 48   tabs[#tabs+1] = { | 
| bsw@462 | 49     name = "open", | 
| bsw@462 | 50     label = _"Open issues", | 
| bsw@462 | 51     module = "issue", | 
| bsw@462 | 52     view = "_list", | 
| bsw@462 | 53     params = { | 
| bsw@462 | 54       for_state = "open", | 
| bsw@462 | 55       issues_selector = open_issues_selector | 
| bsw@462 | 56     } | 
| bsw@462 | 57   } | 
| bsw@462 | 58   tabs[#tabs+1] = { | 
| bsw@462 | 59     name = "closed", | 
| bsw@462 | 60     label = _"Closed issues", | 
| bsw@462 | 61     module = "issue", | 
| bsw@462 | 62     view = "_list", | 
| bsw@462 | 63     params = { | 
| bsw@462 | 64       for_state = "closed", | 
| bsw@462 | 65       issues_selector = closed_issues_selector | 
| bsw@462 | 66     } | 
| bsw@462 | 67   } | 
| bsw@870 | 68 | 
| bsw@870 | 69   if app.session:has_access('all_pseudonymous') then | 
| bsw@870 | 70     tabs[#tabs+1] = { | 
| bsw@870 | 71       name = "members", | 
| bsw@870 | 72       label = _"Members", | 
| bsw@870 | 73       module = 'member', | 
| bsw@870 | 74       view   = '_list', | 
| bsw@870 | 75       params = { members_selector = Member:new_selector():add_where("active") } | 
| bsw@870 | 76     } | 
| bsw@870 | 77   end | 
| bsw@870 | 78 | 
| bsw@462 | 79   ui.tabs(tabs) | 
| bsw@276 | 80 | 
| bsw@276 | 81 else | 
| bsw@276 | 82 | 
| bsw@386 | 83   if config.motd_public then | 
| bsw@386 | 84     local help_text = config.motd_public | 
| bsw@386 | 85     ui.container{ | 
| bsw@386 | 86       attr = { class = "wiki motd" }, | 
| bsw@386 | 87       content = function() | 
| bsw@386 | 88         slot.put(format.wiki_text(help_text)) | 
| bsw/jbe@0 | 89       end | 
| bsw@386 | 90     } | 
| bsw@386 | 91   end | 
| bsw@386 | 92 | 
| bsw@367 | 93   ui.tag{ tag = "p", content = _"Closed user group, please login to participate." } | 
| bsw/jbe@0 | 94 | 
| bsw@369 | 95   ui.form{ | 
| bsw@369 | 96   attr = { class = "login" }, | 
| bsw@369 | 97   module = 'index', | 
| bsw@369 | 98   action = 'login', | 
| bsw@369 | 99   routing = { | 
| bsw@369 | 100     ok = { | 
| bsw@369 | 101       mode   = 'redirect', | 
| bsw@369 | 102       module = param.get("redirect_module") or "index", | 
| bsw@369 | 103       view = param.get("redirect_view") or "index", | 
| bsw@369 | 104       id = param.get("redirect_id"), | 
| bsw@369 | 105     }, | 
| bsw@369 | 106     error = { | 
| bsw@369 | 107       mode   = 'forward', | 
| bsw@369 | 108       module = 'index', | 
| bsw@369 | 109       view   = 'login', | 
| bsw@369 | 110     } | 
| bsw@369 | 111   }, | 
| bsw@369 | 112   content = function() | 
| bsw@369 | 113     ui.field.text{ | 
| bsw@369 | 114       attr = { id = "username_field" }, | 
| bsw@369 | 115       label     = _'login name', | 
| bsw@369 | 116       html_name = 'login', | 
| bsw@369 | 117       value     = '' | 
| bsw@369 | 118     } | 
| bsw@369 | 119     ui.script{ script = 'document.getElementById("username_field").focus();' } | 
| bsw@369 | 120     ui.field.password{ | 
| bsw@369 | 121       label     = _'Password', | 
| bsw@369 | 122       html_name = 'password', | 
| bsw@369 | 123       value     = '' | 
| bsw@369 | 124     } | 
| bsw@369 | 125     ui.submit{ | 
| bsw@369 | 126       text = _'Login' | 
| bsw@369 | 127     } | 
| bsw@369 | 128   end | 
| bsw@369 | 129 } | 
| bsw/jbe@0 | 130 | 
| jorges@103 | 131 end | 
| jorges@103 | 132 |