| 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@276 | 8 elseif config.public_access 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@462 | 68   ui.tabs(tabs) | 
| bsw@276 | 69 | 
| bsw@276 | 70 else | 
| bsw@276 | 71 | 
| bsw@386 | 72   if config.motd_public then | 
| bsw@386 | 73     local help_text = config.motd_public | 
| bsw@386 | 74     ui.container{ | 
| bsw@386 | 75       attr = { class = "wiki motd" }, | 
| bsw@386 | 76       content = function() | 
| bsw@386 | 77         slot.put(format.wiki_text(help_text)) | 
| bsw/jbe@0 | 78       end | 
| bsw@386 | 79     } | 
| bsw@386 | 80   end | 
| bsw@386 | 81 | 
| bsw@367 | 82   ui.tag{ tag = "p", content = _"Closed user group, please login to participate." } | 
| bsw/jbe@0 | 83 | 
| bsw@369 | 84   ui.form{ | 
| bsw@369 | 85   attr = { class = "login" }, | 
| bsw@369 | 86   module = 'index', | 
| bsw@369 | 87   action = 'login', | 
| bsw@369 | 88   routing = { | 
| bsw@369 | 89     ok = { | 
| bsw@369 | 90       mode   = 'redirect', | 
| bsw@369 | 91       module = param.get("redirect_module") or "index", | 
| bsw@369 | 92       view = param.get("redirect_view") or "index", | 
| bsw@369 | 93       id = param.get("redirect_id"), | 
| bsw@369 | 94     }, | 
| bsw@369 | 95     error = { | 
| bsw@369 | 96       mode   = 'forward', | 
| bsw@369 | 97       module = 'index', | 
| bsw@369 | 98       view   = 'login', | 
| bsw@369 | 99     } | 
| bsw@369 | 100   }, | 
| bsw@369 | 101   content = function() | 
| bsw@369 | 102     ui.field.text{ | 
| bsw@369 | 103       attr = { id = "username_field" }, | 
| bsw@369 | 104       label     = _'login name', | 
| bsw@369 | 105       html_name = 'login', | 
| bsw@369 | 106       value     = '' | 
| bsw@369 | 107     } | 
| bsw@369 | 108     ui.script{ script = 'document.getElementById("username_field").focus();' } | 
| bsw@369 | 109     ui.field.password{ | 
| bsw@369 | 110       label     = _'Password', | 
| bsw@369 | 111       html_name = 'password', | 
| bsw@369 | 112       value     = '' | 
| bsw@369 | 113     } | 
| bsw@369 | 114     ui.submit{ | 
| bsw@369 | 115       text = _'Login' | 
| bsw@369 | 116     } | 
| bsw@369 | 117   end | 
| bsw@369 | 118 } | 
| bsw/jbe@0 | 119 | 
| jorges@103 | 120 end | 
| jorges@103 | 121 |