]> git.ipfire.org Git - people/shoehn/ipfire.org.git/commitdiff
Add a direct download button to all release notes
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 17 Aug 2015 22:28:21 +0000 (00:28 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 17 Aug 2015 22:28:21 +0000 (00:28 +0200)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
templates/modules/news-item.html
webapp/backend/releases.py
webapp/ui_modules.py

index be4c37377c8144098a2829f999666acd33a48c9b..c8ae423fbc02e794bc9cdcad827ff4a5cfe7d9fa 100644 (file)
 
                <hr>
 
-               <small class="pull-right">
+               {% if release %}
+                       <div class="btn-toolbar ac">
+                               <a class="btn btn-primary btn-lg" href="//downloads.ipfire.org/release/{{ release.sname }}">
+                                       <span class="fa fa-download"></span> {{ _("Download %s") % escape(release.name) }}<br>
+                               </a>
+
+                               <a class="btn btn-success btn-lg" href="//www.ipfire.org/donate">
+                                       {{ _("Donate!") }}
+                               </a>
+                       </div>
+
+                       <br>
+               {% end %}
+
+               <p class="text-muted ac">
                        {{ _("Published by %(author)s, %(time)s") % { "author" : item.author, "time" : locale.format_date(item.published, full_format=True) } }}
-               </small>
+               </p>
        </div>
 </div>
index d7f5433f2b92de68889b7b0171c7e9085e4e1512..7184b229023863b4342237cd0462bbd105ab495d 100644 (file)
@@ -401,6 +401,12 @@ class Releases(Object):
                if ret:
                        return Release(self.backend, ret.id, data=ret)
 
+       def get_by_news_id(self, news_id):
+               ret = self.db.get("SELECT * FROM releases WHERE news_id = %s", news_id)
+
+               if ret:
+                       return Release(self.backend, ret.id, data=ret)
+
        def get_latest(self, stable=True):
                ret = self.db.get("SELECT * FROM releases WHERE published IS NOT NULL AND published <= NOW() \
                        AND stable = %s ORDER BY published DESC LIMIT 1", stable)
index a18b95db7d83dc762fbb2c49da83278a60fa4de4..fa29edb7ccf731942e6737ed507e91fc5bac2103 100644 (file)
@@ -217,7 +217,10 @@ class NewsItemModule(UIModule):
                # Render text
                item.text = textile.textile(item.text.decode("utf8"))
 
-               return self.render_string("modules/news-item.html", item=item,
+               # Find a release if one exists
+               release = self.releases.get_by_news_id(item.uuid)
+
+               return self.render_string("modules/news-item.html", item=item, release=release,
                        uncut=uncut, announcement=announcement, show_heading=show_heading)