| 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 
 |