| rev | 
   line source | 
| 
bsw@1045
 | 
     1 local initiative = Initiative:by_id(param.get_id())
 | 
| 
bsw@1045
 | 
     2 
 | 
| 
bsw@1045
 | 
     3 initiative:load_everything_for_member_id(app.session.member_id)
 | 
| 
bsw@1045
 | 
     4 initiative.issue:load_everything_for_member_id(app.session.member_id)
 | 
| 
bsw@1045
 | 
     5 
 | 
| 
bsw@1045
 | 
     6 
 | 
| 
bsw@1045
 | 
     7 execute.view{ module = "issue", view = "_sidebar_state", params = {
 | 
| 
bsw@1045
 | 
     8   initiative = initiative
 | 
| 
bsw@1045
 | 
     9 } }
 | 
| 
bsw@1045
 | 
    10 
 | 
| 
bsw@1045
 | 
    11 execute.view { 
 | 
| 
bsw@1045
 | 
    12   module = "issue", view = "_sidebar_issue", 
 | 
| 
bsw@1045
 | 
    13   params = {
 | 
| 
bsw@1045
 | 
    14     issue = initiative.issue,
 | 
| 
bsw@1045
 | 
    15     highlight_initiative_id = initiative.id
 | 
| 
bsw@1045
 | 
    16   }
 | 
| 
bsw@1045
 | 
    17 }
 | 
| 
bsw@1045
 | 
    18 
 | 
| 
bsw@1045
 | 
    19 execute.view {
 | 
| 
bsw@1045
 | 
    20   module = "issue", view = "_sidebar_whatcanido",
 | 
| 
bsw@1045
 | 
    21   params = { initiative = initiative }
 | 
| 
bsw@1045
 | 
    22 }
 | 
| 
bsw@1045
 | 
    23 
 | 
| 
bsw@1045
 | 
    24 execute.view { 
 | 
| 
bsw@1045
 | 
    25   module = "issue", view = "_sidebar_members", params = {
 | 
| 
bsw@1045
 | 
    26     issue = initiative.issue, initiative = initiative
 | 
| 
bsw@1045
 | 
    27   }
 | 
| 
bsw@1045
 | 
    28 }
 | 
| 
bsw@1045
 | 
    29 
 | 
| 
bsw@1045
 | 
    30 
 | 
| 
bsw@1045
 | 
    31 
 | 
| 
bsw@1045
 | 
    32 execute.view {
 | 
| 
bsw@1045
 | 
    33   module = "issue", view = "_head", params = {
 | 
| 
bsw@1045
 | 
    34     issue = initiative.issue
 | 
| 
bsw@1045
 | 
    35   }
 | 
| 
bsw@1045
 | 
    36 }
 | 
| 
bsw@1045
 | 
    37 
 | 
| 
bsw@1045
 | 
    38 ui.form{
 | 
| 
bsw@1045
 | 
    39   method = "get",
 | 
| 
bsw@1045
 | 
    40   module = "draft",
 | 
| 
bsw@1045
 | 
    41   view = "diff",
 | 
| 
bsw@1045
 | 
    42   attr = { class = "section" },
 | 
| 
bsw@1045
 | 
    43   content = function()
 | 
| 
bsw@1045
 | 
    44     ui.field.hidden{ name = "initiative_id", value = initiative.id }
 | 
| 
bsw@1045
 | 
    45   
 | 
| 
bsw@1045
 | 
    46     ui.sectionHead( function()
 | 
| 
bsw@1045
 | 
    47       ui.link{
 | 
| 
bsw@1045
 | 
    48         module = "initiative", view = "show", id = initiative.id,
 | 
| 
bsw@1045
 | 
    49         content = function ()
 | 
| 
bsw@1045
 | 
    50           ui.heading { 
 | 
| 
bsw@1045
 | 
    51             level = 1,
 | 
| 
bsw@1045
 | 
    52             content = initiative.display_name
 | 
| 
bsw@1045
 | 
    53           }
 | 
| 
bsw@1045
 | 
    54         end
 | 
| 
bsw@1045
 | 
    55       }
 | 
| 
bsw@1045
 | 
    56       ui.heading { level = 2, content = _"Draft history" }
 | 
| 
bsw@1045
 | 
    57     end)
 | 
| 
bsw@1045
 | 
    58     
 | 
| 
bsw@1045
 | 
    59     ui.sectionRow( function()
 | 
| 
bsw@1045
 | 
    60     
 | 
| 
bsw@1045
 | 
    61       local columns = {
 | 
| 
bsw@1045
 | 
    62         {
 | 
| 
bsw@1045
 | 
    63           label = _"draft ID",
 | 
| 
bsw@1045
 | 
    64           content = function(record)
 | 
| 
bsw@1045
 | 
    65             ui.tag { content = record.id }
 | 
| 
bsw@1045
 | 
    66           end
 | 
| 
bsw@1045
 | 
    67         },
 | 
| 
bsw@1045
 | 
    68         {
 | 
| 
bsw@1045
 | 
    69           label = _"published at",
 | 
| 
bsw@1045
 | 
    70           content = function(record)
 | 
| 
bsw@1045
 | 
    71             ui.link{
 | 
| 
bsw@1045
 | 
    72               attr = { class = "action" },
 | 
| 
bsw@1045
 | 
    73               module = "draft", view = "show", id = record.id,
 | 
| 
bsw@1045
 | 
    74               text = format.timestamp(record.created)
 | 
| 
bsw@1045
 | 
    75             }
 | 
| 
bsw@1045
 | 
    76           end
 | 
| 
bsw@1045
 | 
    77         },
 | 
| 
bsw@1045
 | 
    78         {
 | 
| 
bsw@1045
 | 
    79           label = _"compare",
 | 
| 
bsw@1045
 | 
    80           content = function(record)
 | 
| 
bsw@1045
 | 
    81             slot.put('<input type="radio" name="old_draft_id" value="' .. tostring(record.id) .. '">')
 | 
| 
bsw@1045
 | 
    82             slot.put('<input type="radio" name="new_draft_id" value="' .. tostring(record.id) .. '">')
 | 
| 
bsw@1045
 | 
    83           end
 | 
| 
bsw@1045
 | 
    84         }
 | 
| 
bsw@1045
 | 
    85       }
 | 
| 
bsw@1045
 | 
    86       
 | 
| 
bsw@1045
 | 
    87       if app.session:has_access("authors_pseudonymous") then
 | 
| 
bsw@1045
 | 
    88         columns[#columns+1] = {
 | 
| 
bsw@1045
 | 
    89           label = _"author",
 | 
| 
bsw@1045
 | 
    90           content = function(record)
 | 
| 
bsw@1045
 | 
    91             if record.author then
 | 
| 
bsw@1045
 | 
    92               return util.micro_avatar ( record.author )
 | 
| 
bsw@1045
 | 
    93             end
 | 
| 
bsw@1045
 | 
    94           end
 | 
| 
bsw@1045
 | 
    95         }
 | 
| 
bsw@1045
 | 
    96       end
 | 
| 
bsw@1045
 | 
    97       
 | 
| 
bsw@1209
 | 
    98       if config.render_external_reference and config.render_external_reference.draft then
 | 
| 
bsw@1209
 | 
    99         columns[#columns+1] = {
 | 
| 
bsw@1209
 | 
   100           label = _"external reference",
 | 
| 
bsw@1209
 | 
   101           content = function(draft)
 | 
| 
bsw@1209
 | 
   102             config.render_external_reference.draft(draft, function (callback)
 | 
| 
bsw@1209
 | 
   103               callback()
 | 
| 
bsw@1209
 | 
   104             end)
 | 
| 
bsw@1209
 | 
   105           end
 | 
| 
bsw@1209
 | 
   106         }
 | 
| 
bsw@1209
 | 
   107       end
 | 
| 
bsw@1209
 | 
   108       
 | 
| 
bsw@1045
 | 
   109       ui.list{
 | 
| 
bsw@1045
 | 
   110         records = initiative.drafts,
 | 
| 
bsw@1045
 | 
   111         columns = columns
 | 
| 
bsw@1045
 | 
   112       }
 | 
| 
bsw@1045
 | 
   113       
 | 
| 
bsw@1045
 | 
   114       slot.put("<br />")
 | 
| 
bsw@1045
 | 
   115       ui.container { attr = { class = "actions" }, content = function()
 | 
| 
bsw@1045
 | 
   116         ui.tag{
 | 
| 
bsw@1045
 | 
   117           tag = "input",
 | 
| 
bsw@1045
 | 
   118           attr = {
 | 
| 
bsw@1045
 | 
   119             type = "submit",
 | 
| 
bsw@1045
 | 
   120             class = "btn btn-default",
 | 
| 
bsw@1045
 | 
   121             value = _"compare revisions"
 | 
| 
bsw@1045
 | 
   122           },
 | 
| 
bsw@1045
 | 
   123           content = ""
 | 
| 
bsw@1045
 | 
   124         }
 | 
| 
bsw@1045
 | 
   125       end }
 | 
| 
bsw@1045
 | 
   126     end )
 | 
| 
bsw@1045
 | 
   127   end
 | 
| 
bsw@1045
 | 
   128 }
 |