| rev | 
   line source | 
| 
bsw/jbe@0
 | 
     1 
 | 
| 
bsw/jbe@19
 | 
     2 local initiative = param.get("initiative", "table")
 | 
| 
bsw/jbe@19
 | 
     3 local supporter = Supporter:by_pk(initiative.id, app.session.member.id)
 | 
| 
bsw/jbe@19
 | 
     4 
 | 
| 
bsw/jbe@19
 | 
     5 local unique_string = multirand.string(16, '0123456789abcdef')
 | 
| 
bsw/jbe@19
 | 
     6 
 | 
| 
bsw/jbe@19
 | 
     7 
 | 
| 
bsw/jbe@19
 | 
     8 local partial = {
 | 
| 
bsw/jbe@19
 | 
     9   routing = {
 | 
| 
bsw/jbe@19
 | 
    10     default = {
 | 
| 
bsw/jbe@19
 | 
    11       mode = "redirect",
 | 
| 
bsw/jbe@19
 | 
    12       module = "initiative",
 | 
| 
bsw/jbe@19
 | 
    13       view = "show_support",
 | 
| 
bsw/jbe@19
 | 
    14       id = initiative.id
 | 
| 
bsw/jbe@19
 | 
    15     }
 | 
| 
bsw/jbe@19
 | 
    16   }
 | 
| 
bsw/jbe@19
 | 
    17 }
 | 
| 
bsw/jbe@0
 | 
    18 
 | 
| 
bsw/jbe@19
 | 
    19 local routing = {
 | 
| 
bsw/jbe@19
 | 
    20   default = {
 | 
| 
bsw/jbe@19
 | 
    21     mode = "redirect",
 | 
| 
bsw/jbe@19
 | 
    22     module = request.get_module(),
 | 
| 
bsw/jbe@19
 | 
    23     view = request.get_view(),
 | 
| 
bsw/jbe@19
 | 
    24     id = param.get_id_cgi(),
 | 
| 
bsw/jbe@19
 | 
    25     params = param.get_all_cgi()
 | 
| 
bsw/jbe@19
 | 
    26   }
 | 
| 
bsw/jbe@19
 | 
    27 }
 | 
| 
bsw/jbe@19
 | 
    28 
 | 
| 
bsw/jbe@19
 | 
    29 if not initiative.issue.fully_frozen and not initiative.issue.closed then
 | 
| 
bsw/jbe@19
 | 
    30   if supporter then
 | 
| 
bsw/jbe@19
 | 
    31     if not supporter:has_critical_opinion() then
 | 
| 
bsw@10
 | 
    32       ui.container{
 | 
| 
bsw/jbe@19
 | 
    33         attr = {
 | 
| 
bsw/jbe@19
 | 
    34           class = "head head_supporter",
 | 
| 
bsw/jbe@19
 | 
    35           style = "cursor: pointer;",
 | 
| 
bsw/jbe@19
 | 
    36           onclick = "document.getElementById('support_content_" .. unique_string .. "').style.display = 'block';"
 | 
| 
bsw/jbe@19
 | 
    37         },
 | 
| 
bsw@10
 | 
    38         content = function()
 | 
| 
bsw/jbe@19
 | 
    39           ui.image{
 | 
| 
bsw/jbe@19
 | 
    40             static = "icons/16/thumb_up_green.png"
 | 
| 
bsw/jbe@0
 | 
    41           }
 | 
| 
bsw/jbe@19
 | 
    42           slot.put(_"Your are supporter")
 | 
| 
bsw/jbe@19
 | 
    43           ui.image{
 | 
| 
bsw/jbe@19
 | 
    44             static = "icons/16/dropdown.png"
 | 
| 
bsw/jbe@19
 | 
    45           }
 | 
| 
bsw@10
 | 
    46         end
 | 
| 
bsw@10
 | 
    47       }
 | 
| 
bsw@10
 | 
    48     else
 | 
| 
bsw/jbe@19
 | 
    49       ui.container{
 | 
| 
bsw/jbe@19
 | 
    50         attr = {
 | 
| 
bsw/jbe@19
 | 
    51           class = "head head_potential_supporter",
 | 
| 
bsw/jbe@19
 | 
    52           style = "cursor: pointer;",
 | 
| 
bsw/jbe@19
 | 
    53           onclick = "document.getElementById('support_content_" .. unique_string .. "').style.display = 'block';"
 | 
| 
bsw/jbe@19
 | 
    54         },
 | 
| 
bsw/jbe@19
 | 
    55         content = function()
 | 
| 
bsw/jbe@19
 | 
    56           ui.image{
 | 
| 
bsw/jbe@19
 | 
    57             static = "icons/16/thumb_up.png"
 | 
| 
bsw/jbe@19
 | 
    58           }
 | 
| 
bsw/jbe@19
 | 
    59           slot.put(_"Your are potential supporter")
 | 
| 
bsw/jbe@19
 | 
    60           ui.image{
 | 
| 
bsw/jbe@19
 | 
    61             static = "icons/16/dropdown.png"
 | 
| 
bsw/jbe@19
 | 
    62           }
 | 
| 
bsw/jbe@19
 | 
    63         end
 | 
| 
bsw/jbe@19
 | 
    64       }
 | 
| 
bsw/jbe@19
 | 
    65     end
 | 
| 
bsw/jbe@19
 | 
    66     ui.container{
 | 
| 
bsw/jbe@19
 | 
    67       attr = { class = "content", id = "support_content_" .. unique_string .. "" },
 | 
| 
bsw/jbe@19
 | 
    68       content = function()
 | 
| 
bsw/jbe@19
 | 
    69         ui.container{
 | 
| 
bsw/jbe@19
 | 
    70           attr = {
 | 
| 
bsw/jbe@19
 | 
    71             class = "close",
 | 
| 
bsw/jbe@19
 | 
    72             style = "cursor: pointer;",
 | 
| 
bsw/jbe@19
 | 
    73             onclick = "document.getElementById('support_content_" .. unique_string .. "').style.display = 'none';"
 | 
| 
bsw/jbe@19
 | 
    74           },
 | 
| 
bsw@10
 | 
    75           content = function()
 | 
| 
bsw/jbe@19
 | 
    76             ui.image{ static = "icons/16/cross.png" }
 | 
| 
bsw/jbe@19
 | 
    77           end
 | 
| 
bsw/jbe@19
 | 
    78         }
 | 
| 
bsw/jbe@19
 | 
    79         if supporter then
 | 
| 
bsw/jbe@19
 | 
    80           ui.link{
 | 
| 
bsw/jbe@19
 | 
    81             image   = { static = "icons/16/thumb_down_red.png" },
 | 
| 
bsw/jbe@19
 | 
    82             text    = _"Remove my support from this initiative",
 | 
| 
bsw/jbe@19
 | 
    83             module  = "initiative",
 | 
| 
bsw/jbe@19
 | 
    84             action  = "remove_support",
 | 
| 
bsw/jbe@19
 | 
    85             id      = initiative.id,
 | 
| 
bsw/jbe@19
 | 
    86             routing = routing,
 | 
| 
bsw/jbe@19
 | 
    87             partial = partial
 | 
| 
bsw/jbe@0
 | 
    88           }
 | 
| 
bsw/jbe@19
 | 
    89         else
 | 
| 
bsw/jbe@19
 | 
    90         end
 | 
| 
bsw/jbe@0
 | 
    91       end
 | 
| 
bsw/jbe@19
 | 
    92     }
 | 
| 
bsw/jbe@19
 | 
    93   else
 | 
| 
bsw/jbe@19
 | 
    94     if not initiative.revoked then
 | 
| 
bsw/jbe@19
 | 
    95       local params = param.get_all_cgi()
 | 
| 
bsw/jbe@19
 | 
    96       params.dyn = nil
 | 
| 
bsw/jbe@19
 | 
    97       ui.link{
 | 
| 
bsw/jbe@19
 | 
    98         image   = { static = "icons/16/thumb_up_green.png" },
 | 
| 
bsw/jbe@19
 | 
    99         text    = _"Support this initiative",
 | 
| 
bsw/jbe@19
 | 
   100         module  = "initiative",
 | 
| 
bsw/jbe@19
 | 
   101         action  = "add_support",
 | 
| 
bsw/jbe@19
 | 
   102         id      = initiative.id,
 | 
| 
bsw/jbe@19
 | 
   103         routing = routing,
 | 
| 
bsw/jbe@19
 | 
   104         partial = partial
 | 
| 
bsw/jbe@19
 | 
   105       }
 | 
| 
bsw/jbe@4
 | 
   106     end
 | 
| 
bsw@10
 | 
   107   end
 | 
| 
bsw/jbe@19
 | 
   108 end
 | 
| 
bsw@10
 | 
   109 
 |