liquid_feedback_frontend

changeset 173:ca006681befc

Support added for changed autoreject feature in upcoming core release
author bsw
date Sun Oct 31 00:22:39 2010 +0200 (2010-10-31)
parents 165f4bd02cf3
children f62c61bd912c
files app/main/interest/_action/update.lua app/main/interest/_show_box.lua app/main/membership/_show_box.lua locale/translations.de.lua static/icons/16/thumb_down_red_crossed.png
line diff
     1.1 --- a/app/main/interest/_action/update.lua	Sun Oct 10 19:40:32 2010 +0200
     1.2 +++ b/app/main/interest/_action/update.lua	Sun Oct 31 00:22:39 2010 +0200
     1.3 @@ -29,10 +29,7 @@
     1.4    interest.autoreject = false
     1.5  end
     1.6  
     1.7 -local autoreject = param.get("autoreject", atom.boolean)
     1.8 -if autoreject ~= nil then
     1.9 -  interest.autoreject = autoreject
    1.10 -end
    1.11 +interest.autoreject = param.get("autoreject", atom.boolean)
    1.12  
    1.13  interest:save()
    1.14  
     2.1 --- a/app/main/interest/_show_box.lua	Sun Oct 10 19:40:32 2010 +0200
     2.2 +++ b/app/main/interest/_show_box.lua	Sun Oct 31 00:22:39 2010 +0200
     2.3 @@ -2,6 +2,7 @@
     2.4  local issue = param.get("issue", "table")
     2.5  
     2.6  local interest = Interest:by_pk(issue.id, app.session.member.id)
     2.7 +local membership = Membership:by_pk(issue.area_id, app.session.member_id)
     2.8  
     2.9  if interest then
    2.10    slot.select("actions", function()
    2.11 @@ -20,12 +21,20 @@
    2.12              }
    2.13              slot.put(_"Your are interested")
    2.14  
    2.15 -            if interest.autoreject then
    2.16 +            if interest.autoreject == true or
    2.17 +              (interest.autoreject == nil and membership.autoreject == true)
    2.18 +            then
    2.19                ui.image{
    2.20                  static = "icons/16/thumb_down_red.png"
    2.21                }
    2.22              end
    2.23  
    2.24 +            if interest.autoreject == false then
    2.25 +              ui.image{
    2.26 +                static = "icons/16/thumb_down_red_crossed.png"
    2.27 +              }
    2.28 +            end
    2.29 +
    2.30              ui.image{
    2.31                static = "icons/16/dropdown.png"
    2.32              }
    2.33 @@ -56,22 +65,65 @@
    2.34                slot.put("<br />")
    2.35                slot.put("<br />")
    2.36              end
    2.37 -            if interest.autoreject then
    2.38 -              ui.field.text{ value = _"Autoreject is on." }
    2.39 +            if interest.autoreject == nil then
    2.40 +              if membership then
    2.41 +                if membership.autoreject then
    2.42 +                  ui.field.text{ value = _"Autoreject is inherited from area. (Currently turned on)" }
    2.43 +                else
    2.44 +                  ui.field.text{ value = _"Autoreject is inherited from area. (Currently turned off)" }
    2.45 +                end
    2.46 +              else
    2.47 +                ui.field.text{ value = _"Autoreject is inherited from area. (No member of this area)" }
    2.48 +              end
    2.49 +              slot.put("<br />")
    2.50                if issue.state ~= "finished" and issue.state ~= "cancelled" then
    2.51                  ui.link{
    2.52 -                  text    = _"Remove autoreject",
    2.53 +                  text    = _"Turn on autoreject for issue",
    2.54 +                  module  = "interest",
    2.55 +                  action  = "update",
    2.56 +                  params  = { issue_id = issue.id, autoreject = true },
    2.57 +                  routing = { default = { mode = "redirect", module = "issue", view = "show", id = issue.id } }
    2.58 +                }
    2.59 +                ui.link{
    2.60 +                  text    = _"Turn off autoreject for issue",
    2.61                    module  = "interest",
    2.62                    action  = "update",
    2.63                    params  = { issue_id = issue.id, autoreject = false },
    2.64                    routing = { default = { mode = "redirect", module = "issue", view = "show", id = issue.id } }
    2.65                  }
    2.66                end
    2.67 -            else
    2.68 -              ui.field.text{ value = _"Autoreject is off." }
    2.69 +            elseif interest.autoreject == true then
    2.70 +              ui.field.text{ value = _"Autoreject for this issue is turned on." }
    2.71 +              slot.put("<br />")
    2.72                if issue.state ~= "finished" and issue.state ~= "cancelled" then
    2.73                  ui.link{
    2.74 -                  text    = _"Set autoreject",
    2.75 +                  text    = _"Inherit autoreject from area",
    2.76 +                  module  = "interest",
    2.77 +                  action  = "update",
    2.78 +                  params  = { issue_id = issue.id, autoreject = nil },
    2.79 +                  routing = { default = { mode = "redirect", module = "issue", view = "show", id = issue.id } }
    2.80 +                }
    2.81 +                ui.link{
    2.82 +                  text    = _"Turn off autoreject for issue",
    2.83 +                  module  = "interest",
    2.84 +                  action  = "update",
    2.85 +                  params  = { issue_id = issue.id, autoreject = false },
    2.86 +                  routing = { default = { mode = "redirect", module = "issue", view = "show", id = issue.id } }
    2.87 +                }
    2.88 +              end
    2.89 +            elseif interest.autoreject == false then
    2.90 +              ui.field.text{ value = _"Autoreject for this issue is turned off." }
    2.91 +              slot.put("<br />")
    2.92 +              if issue.state ~= "finished" and issue.state ~= "cancelled" then
    2.93 +                ui.link{
    2.94 +                  text    = _"Inherit autoreject from area",
    2.95 +                  module  = "interest",
    2.96 +                  action  = "update",
    2.97 +                  params  = { issue_id = issue.id, autoreject = nil },
    2.98 +                  routing = { default = { mode = "redirect", module = "issue", view = "show", id = issue.id } }
    2.99 +                }
   2.100 +                ui.link{
   2.101 +                  text    = _"Turn on autoreject for issue",
   2.102                    module  = "interest",
   2.103                    action  = "update",
   2.104                    params  = { issue_id = issue.id, autoreject = true },
     3.1 --- a/app/main/membership/_show_box.lua	Sun Oct 10 19:40:32 2010 +0200
     3.2 +++ b/app/main/membership/_show_box.lua	Sun Oct 31 00:22:39 2010 +0200
     3.3 @@ -16,6 +16,13 @@
     3.4            static = "icons/16/user_green.png"
     3.5          }
     3.6          slot.put(_"You are member")
     3.7 +
     3.8 +        if membership.autoreject == true then
     3.9 +          ui.image{
    3.10 +            static = "icons/16/thumb_down_red.png"
    3.11 +          }
    3.12 +        end
    3.13 +
    3.14          ui.image{
    3.15            static = "icons/16/dropdown.png"
    3.16          }
     4.1 --- a/locale/translations.de.lua	Sun Oct 10 19:40:32 2010 +0200
     4.2 +++ b/locale/translations.de.lua	Sun Oct 31 00:22:39 2010 +0200
     4.3 @@ -1,8 +1,8 @@
     4.4  #!/usr/bin/env lua
     4.5  return {
     4.6 -["--- Initiators ---"] = "--- Initiatoren ---";
     4.7  ["##{id}"] = false;
     4.8  ["##{issue_id}.#{id} #{name}"] = false;
     4.9 +["#{author} at #{date}"] = "#{author} am #{date}";
    4.10  ["#{interested_issues_to_vote_count} issue(s) you are interested in"] = "#{interested_issues_to_vote_count} Themen, die Dich interessieren";
    4.11  ["#{issues_to_vote_count} issue(s)"] = "#{issues_to_vote_count} Themen";
    4.12  ["#{number} Image(s) has been deleted"] = "Es wurde(n) #{number} Bild(er) gelöscht";
    4.13 @@ -11,6 +11,7 @@
    4.14  ["(change URL)"] = "(URL ändern)";
    4.15  ["(new window)"] = "(neues Fenster)";
    4.16  ["+ #{weight}"] = "+ #{weight}";
    4.17 +["+getElementById("] = false;
    4.18  ["A-Z"] = "A-Z";
    4.19  ["API key"] = "API-Schlüssel";
    4.20  ["API key has been deleted"] = "API-Schlüssel wurde gelöscht";
    4.21 @@ -60,6 +61,13 @@
    4.22  ["Area wide delegation active"] = "Delegation für Themenbereich aktiv";
    4.23  ["Areas"] = "Themenbereiche";
    4.24  ["Author"] = "Autor";
    4.25 +["Auto support is now disabled"] = false;
    4.26 +["Auto support is now enabled"] = false;
    4.27 +["Autoreject for this issue is turned off."] = "Auto-Ablehnen ist für dieses Thema ausgeschaltet";
    4.28 +["Autoreject for this issue is turned on."] = "Auto-Ablehnen ist für dieses Thema eingeschaltet";
    4.29 +["Autoreject is inherited from area. (Currently turned off)"] = "Auto-Ablehnen wird vom Themenbereich übernommen. (Zur Zeit abgeschaltet)";
    4.30 +["Autoreject is inherited from area. (Currently turned on)"] = "Auto-Ablehnen wird vom Themenbereich übernommen. (Zur Zeit angeschaltet)";
    4.31 +["Autoreject is inherited from area. (No member of this area)"] = "Auto-Ablehnen wird vom Themenbereich übernommen. (Keine Mitgliedschaft)";
    4.32  ["Autoreject is off."] = "Auto-Ablehnen ist aus";
    4.33  ["Autoreject is on."] = "Auto-Ablehnen ist an";
    4.34  ["Avatar"] = "Avatar";
    4.35 @@ -115,11 +123,13 @@
    4.36  ["Current status"] = "Aktueller Status";
    4.37  ["Current votings in areas you are member of and issues you are interested in:"] = "Jetzt laufende Abstimmungen zu Themen aus Deinen Themenbereichen oder solchen an denen Du interessiert bist:";
    4.38  ["Currently no API key is set."] = "Zur Zeit ist kein API-Schlüssel festgelegt.";
    4.39 +["Currently required"] = false;
    4.40  ["Date"] = "Datum";
    4.41  ["Date format is not valid. Please use following format: YYYY-MM-DD"] = "Datumsformat nicht korrekt. Bitte verwende: JJJJ-MM-TT, also z.B. 1945-05-23";
    4.42 +["Default Policy"] = false;
    4.43  ["Degree"] = "Grad";
    4.44 +["Delegation problems"] = "Delegationsprobleme";
    4.45  ["Delegations"] = "Delegationen";
    4.46 -["Delegation problems"] = "Delegationsprobleme";
    4.47  ["Delete API key"] = "API-Schlüssel löschen";
    4.48  ["Delete filter"] = "Filter löschen";
    4.49  ["Description"] = "Beschreibung";
    4.50 @@ -128,6 +138,7 @@
    4.51  ["Diff"] = "Differenz";
    4.52  ["Direct member count"] = "Anzahl Direktmitglieder";
    4.53  ["Direct membership"] = "Direkte Mitgliedschaft";
    4.54 +["Disable autosupport for this initiative"] = false;
    4.55  ["Disapproval (prefer to last block) [many entries]"] = "Ablehnung (jedoch Bevorzugung gegenüber letztem Ablehnungsblock)";
    4.56  ["Disapproval (prefer to last block) [single entry]"] = "Ablehnung (jedoch Bevorzugung gegenüber letztem Ablehnungsblock)";
    4.57  ["Disapproval (prefer to lower block) [many entries]"] = "Ablehnung (jedoch Bevorzugung gegenüber unterem Ablehnungsblock)";
    4.58 @@ -157,7 +168,10 @@
    4.59  ["Email address confirmation"] = "Bestätigung der E-Mail-Adresse";
    4.60  ["Email address is confirmed now"] = "E-Mail-Adresse ist jetzt bestätigt";
    4.61  ["Email address too short!"] = "E-Mail-Adresse ist zu kurz!";
    4.62 +["Email confirmation request"] = false;
    4.63  ["Email unconfirmed"] = "Unbestätigte E-Mail-Adresse";
    4.64 +["Empty help text: #{id}.#{lang}.txt"] = false;
    4.65 +["Enable autosupport for this initiative"] = false;
    4.66  ["Error while converting image. Please note, that only JPG files are supported!"] = "Fehler beim Konvertieren des Bilds. Bitte beachte, dass nur JPG-Dateien unterstützt werden.";
    4.67  ["Error while resolving openid. Internal message: '#{errmsg}'"] = "Fehler beim Auflösen der OpenID. Interne Fehlermeldung: '#{errmsg}'";
    4.68  ["Error while updating member, database reported:<br /><br /> (#{errormessage})"] = "Fehler beim aktualisieren des Mitglieds, die Datenbank berichtet folgenden Fehler:<br /><br /> (#{errormessage})";
    4.69 @@ -176,9 +190,12 @@
    4.70  ["Go up"] = "Nach oben";
    4.71  ["Half frozen at"] = "Halb eingefroren am/um";
    4.72  ["Hello "] = "Hallo ";
    4.73 +["Help #{id}"] = false;
    4.74  ["Help for: #{text}"] = "Hilfe zu: #{text}";
    4.75  ["Hide"] = "Verstecken";
    4.76  ["Hide filter details"] = "Filter-Details verstecken";
    4.77 +["Hide this help message"] = "Diese Hilfenachricht verstecken";
    4.78 +["History"] = "Historie";
    4.79  ["Home"] = "Startseite";
    4.80  ["I consider suggestion as"] = "Ich halte die Anregung für";
    4.81  ["Id"] = "Id";
    4.82 @@ -189,16 +206,18 @@
    4.83  ["In discussion"] = "In Diskussion";
    4.84  ["Incoming delegations"] = "Eingehende Delegationen";
    4.85  ["Information about the available policies"] = "Informationen zu den verfügbaren Regelwerken";
    4.86 +["Inherit autoreject from area"] = "Auto-Ablehnen vom Themengebiet übernehmen";
    4.87  ["Initiated"] = "Initiiert";
    4.88  ["Initiated initiatives"] = "Initiierte Initiativen";
    4.89 +["Initiative ##{id}"] = "Initiative ##{id}";
    4.90  ["Initiative events"] = "Initiativen-Ereignisse";
    4.91  ["Initiative is revoked now"] = "Initiative ist jetzt zurückgezogen";
    4.92  ["Initiative quorum"] = "Quorum Inititive";
    4.93  ["Initiative revoked"] = "Initiative zurückgezogen";
    4.94  ["Initiative successfully created"] = "Initiative erfolgreich erzeugt";
    4.95  ["Initiative successfully updated"] = "Initiative erfolgreich aktualisiert";
    4.96 +["Initiative: "] = false;
    4.97  ["Initiative: '#{name}'"] = "Initiative: '#{name}'";
    4.98 -["Initiative ##{id}"] = "Initiative ##{id}";
    4.99  ["Initiatives"] = "Initiativen";
   4.100  ["Initiatives in this area (last created first)"] = "Initiativen in diesem Themenbereich (zuletzt angelegte zuerst)";
   4.101  ["Initiatives in this area (last updated first)"] = "Initiativen in diesem Themenbereich (zuletzt aktualisierte zuerst)";
   4.102 @@ -214,6 +233,7 @@
   4.103  ["Interested"] = "Interessiert";
   4.104  ["Interested members"] = "Interessierte Mitglieder";
   4.105  ["Internal posts"] = "Interne Ämter";
   4.106 +["Invalid query"] = false;
   4.107  ["Invalid username or password!"] = "Ungültiger Benutzername oder Kennwort";
   4.108  ["Invitation has been refused"] = "Einladung wurde widerrufen";
   4.109  ["Invite an initiator to initiative"] = "Initiator zur Initiative einladen";
   4.110 @@ -236,6 +256,7 @@
   4.111  ["JavaScript is disabled or not available."] = "JavaScript ist abgeschaltet oder nicht verfügbar.";
   4.112  ["Last author"] = "Letzter Autor";
   4.113  ["Last snapshot:"] = "Letzte Auszählung:";
   4.114 +["Legend:"] = false;
   4.115  ["License"] = "Lizenz";
   4.116  ["Locked?"] = "Gesperrt?";
   4.117  ["Login"] = "Anmeldung";
   4.118 @@ -273,6 +294,7 @@
   4.119  ["Membership updated"] = "Mitgliedschaft aktualisiert";
   4.120  ["Memberships"] = "Mitgliedschaften";
   4.121  ["Message of the day"] = "Hinweise";
   4.122 +["Missing help text: #{id}.#{lang}.txt"] = false;
   4.123  ["Mobile phone"] = "Mobiltelefon";
   4.124  ["Monday"] = "Montag";
   4.125  ["Move down"] = "Runter schieben";
   4.126 @@ -295,6 +317,7 @@
   4.127  ["Next state"] = "Nächster Zustand";
   4.128  ["No"] = "Nein";
   4.129  ["No changes to your images were made"] = "An Deinen Bildern wurde nichts geändert";
   4.130 +["No default"] = false;
   4.131  ["No delegation"] = "Keine Delegation";
   4.132  ["No events selected to list"] = "Keine Ereignisse ausgewählt";
   4.133  ["No membership at all"] = "Gar keine Mitgliedschaft";
   4.134 @@ -314,6 +337,7 @@
   4.135  ["Old password"] = "Altes Kennwort";
   4.136  ["Old password is wrong"] = "Das alte Kennwort ist falsch";
   4.137  ["Oldest"] = "Älteste";
   4.138 +["On that page please enter the confirmation code:\n\n"] = false;
   4.139  ["On that page please enter the reset code:\n\n"] = "Auf dieser Seite gib bitte den folgenden Rücksetzcode ein:\n\n";
   4.140  ["One issue"] = "Ein Thema";
   4.141  ["One issue you are interested in"] = "Ein Thema, das Dich interessiert";
   4.142 @@ -342,6 +366,7 @@
   4.143  ["Please choose a policy"] = "Bitte wähle ein Regelwerk";
   4.144  ["Please choose two different versions of the draft to compare"] = "Bitte wähle zwei verschiedene Versionen des Drafts, um sie zu vergleichen.";
   4.145  ["Please choose two versions of the draft to compare"] = "Bitte wähle zwei Versionen des Drafts, um sie zu vergleichen.";
   4.146 +["Please confirm your email address by clicking the following link:\n\n"] = false;
   4.147  ["Please enter the email reset code you have received:"] = "Bitte gib den Rücksetzcode ein, den Du erhalten hast:";
   4.148  ["Please enter the invite code you've received."] = "Bitte gib den Invite-Code ein, den Du erhalten hast.";
   4.149  ["Please enter your email address. This address will be used for automatic notifications (if you request them) and in case you've lost your password. This address will not be published. After registration you will receive an email with a confirmation link."] = "Bitte gib Deine E-Mail-Adresse ein. Diese Adresse wird für automatische Benachrichtigungen (wenn Du diese anforderst) sowie zum Zurücksetzen des Kennworts verwendet. Diese Adresse wird nicht veröffentlicht. Nach Abschluß der Registration wirst Du eine E-Mail mit einem Link zum Bestätigen der Adresse erhalten.";
   4.150 @@ -380,6 +405,7 @@
   4.151  ["Remove my membership"] = "Mitgliedschaft aufgeben";
   4.152  ["Remove my request to vote later"] = "Meinen Wunsch später abzustimmen zurückziehen";
   4.153  ["Remove my support from this initiative"] = "Meine Unterstützung der Initiative entziehen";
   4.154 +["Rendered"] = false;
   4.155  ["Repeat new password"] = "Neues Kennwort wiederholen";
   4.156  ["Request password reset link"] = "Link zum Rücksetzen des Kennworts anfordern";
   4.157  ["Resend activation email to '#{email}'"] = "E-Mail mit Aktivierungslink erneut an '#{email}' senden";
   4.158 @@ -432,6 +458,7 @@
   4.159  ["Sorry, it was not possible to verify your OpenID."] = "Sorry, es war nicht möglich deine OpenID zu verifizieren.";
   4.160  ["Sorry, you have reached your personal flood limit. Please be slower..."] = "Sorry, Du hast Dein persönliches Flood-Limit erreicht. Bitte sei langsamer...";
   4.161  ["Sorry, your contingent for creating initiatives has been used up. Please try again later."] = "Sorry, Dein Antragskontingent ist zur Zeit ausgeschöpft. Bitte versuche es später erneut!";
   4.162 +["Source"] = false;
   4.163  ["State"] = "Zustand";
   4.164  ["Statement"] = "Statement";
   4.165  ["Status"] = false;
   4.166 @@ -448,6 +475,7 @@
   4.167  ["Suggestion ##{id}"] = "Anregung ##{id}";
   4.168  ["Suggestion currently implemented"] = "Anregung zur Zeit umgesetzt";
   4.169  ["Suggestion currently not implemented"] = "Anregung zur Zeit nicht umgesetzt";
   4.170 +["Suggestion does not exist anymore"] = "Anregung existiert nicht mehr";
   4.171  ["Suggestion for initiative: '#{name}'"] = "Anregung für Initiative '#{name}'";
   4.172  ["Suggestions"] = "Anregungen";
   4.173  ["Sunday"] = "Sonntag";
   4.174 @@ -456,6 +484,7 @@
   4.175  ["Supported"] = "Unterstützt";
   4.176  ["Supported initiatives"] = "Unterstützte Initiativen";
   4.177  ["Supporter"] = "Unterstützer";
   4.178 +["Syntax help"] = "Syntax-Hilfe";
   4.179  ["Tabs"] = "Registerkarten";
   4.180  ["Terms of use"] = "Nutzungsbedingungen";
   4.181  ["The API key has been changed too fast."] = "Der API-Schlüssel wurde zu schnell geändert.";
   4.182 @@ -502,8 +531,11 @@
   4.183  ["Traditional wiki syntax"] = "Traditionelle Wiki-Syntax";
   4.184  ["Trustee"] = "Bevollmächtigter";
   4.185  ["Tuesday"] = "Dienstag";
   4.186 +["Turn off autoreject for issue"] = "Auto-Ablehnen für dieses Thema ausschalten";
   4.187 +["Turn on autoreject for issue"] = "Auto-Ablehnen für dieses Thema einschalten";
   4.188  ["Type of tabs"] = "Tabulatortyp";
   4.189  ["Unconfirmed address"] = "Unbestätigte E-Mail";
   4.190 +["Unknown author"] = "Unbekannter Autor";
   4.191  ["Updated drafts"] = "Neue Entwürfe";
   4.192  ["Upload images"] = "Bilder hochladen";
   4.193  ["Verification time"] = "Zeit für die Überprüfung";
   4.194 @@ -557,7 +589,9 @@
   4.195  ["Your API key:"] = "Dein API-Schlüssel:";
   4.196  ["Your are interested"] = "Du bist interessiert";
   4.197  ["Your are potential supporter"] = "Du bist potentieller Unterstützer";
   4.198 +["Your are potential supporter (WARNING: Autosupport enabled)"] = false;
   4.199  ["Your are supporter"] = "Du bist Unterstützer";
   4.200 +["Your are supporter (Autosupport enabled)"] = false;
   4.201  ["Your delegation for this area has been deleted."] = "Deine Delegation für diesen Themenbereich wurde gelöscht";
   4.202  ["Your delegation for this area has been updated."] = "Deine Delegation für diesen Themenbereich wurde geändert";
   4.203  ["Your delegation for this issue has been deleted."] = "Deine Delegation für dieses Thema wurde gelöscht";
   4.204 @@ -585,6 +619,7 @@
   4.205  ["activated"] = "aktiviert";
   4.206  ["and #{count} more initiatives"] = "und #{count} weitere Initiativen";
   4.207  ["deactivated"] = "deaktiviert";
   4.208 +["delete<br /><br />"] = false;
   4.209  ["disabled"] = "ausgeschaltet";
   4.210  ["email"] = "E-Mail";
   4.211  ["implemented"] = "umgesetzt";
     5.1 Binary file static/icons/16/thumb_down_red_crossed.png has changed

Impressum / About Us