diff options
-rw-r--r-- | app/models.py | 8 | ||||
-rw-r--r-- | app/templates/macros/packagegridtile.html | 15 | ||||
-rw-r--r-- | app/templates/packages/create_edit.html | 4 | ||||
-rw-r--r-- | app/templates/packages/view.html | 24 | ||||
-rw-r--r-- | migrations/versions/d0bec9e5698e_.py | 28 | ||||
-rw-r--r-- | setup.py | 7 |
6 files changed, 77 insertions, 9 deletions
diff --git a/app/models.py b/app/models.py index 368e59b..ece47a9 100644 --- a/app/models.py +++ b/app/models.py @@ -184,11 +184,13 @@ class Notification(db.Model): class License(db.Model): - id = db.Column(db.Integer, primary_key=True) - name = db.Column(db.String(50), nullable=False, unique=True) + id = db.Column(db.Integer, primary_key=True) + name = db.Column(db.String(50), nullable=False, unique=True) + is_foss = db.Column(db.Boolean, nullable=False, default=True) - def __init__(self, v): + def __init__(self, v, is_foss=True): self.name = v + self.is_foss = is_foss def __str__(self): return self.name diff --git a/app/templates/macros/packagegridtile.html b/app/templates/macros/packagegridtile.html index 45f1f45..bfc827f 100644 --- a/app/templates/macros/packagegridtile.html +++ b/app/templates/macros/packagegridtile.html @@ -8,6 +8,21 @@ <p> {{ package.shortDesc }} </p> + + + {% if not package.license.is_foss and not package.media_license.is_foss and package.type != package.type.TXP %} + <p style="color:#f33;"> + <b>Warning:</b> Non-free code and media. + </p> + {% elif not package.license.is_foss and package.type != package.type.TXP %} + <p style="color:#f33;"> + <b>Warning:</b> Non-free code. + </p> + {% elif not package.media_license.is_foss %} + <p style="color:#f33;"> + <b>Warning:</b> Non-free media. + </p> + {% endif %} </div> </a></li> {% endmacro %} diff --git a/app/templates/packages/create_edit.html b/app/templates/packages/create_edit.html index 52a1d4b..86ee413 100644 --- a/app/templates/packages/create_edit.html +++ b/app/templates/packages/create_edit.html @@ -26,7 +26,9 @@ {{ render_field(form.shortDesc, class_="pkg_meta") }} {{ render_field(form.desc, class_="pkg_meta") }} {{ render_multiselect_field(form.tags, class_="pkg_meta") }} - {{ render_field(form.license, class_="pkg_meta") }} + <div class="pkg_meta"> + {{ render_field(form.license, class_="not_txp") }} + </div> {{ render_field(form.media_license, class_="pkg_meta") }} <div class="pkg_meta"> diff --git a/app/templates/packages/view.html b/app/templates/packages/view.html index 2e62ea9..e4555f0 100644 --- a/app/templates/packages/view.html +++ b/app/templates/packages/view.html @@ -61,7 +61,21 @@ <aside class="asideright box box_grey"> <h3>Details</h3> + <div class="box-body"> + {% if not package.license.is_foss and not package.media_license.is_foss and package.type != package.type.TXP %} + <div class="box box_grey alert alert-error" style="margin-top: 0;"> + <b>Warning:</b> Non-free code and media. + </div> + {% elif not package.license.is_foss and package.type != package.type.TXP %} + <div class="box box_grey alert alert-error" style="margin-top: 0;"> + <b>Warning:</b> Non-free code. + </div> + {% elif not package.media_license.is_foss %} + <div class="box box_grey alert alert-error" style="margin-top: 0;"> + <b>Warning:</b> Non-free media. + </div> + {% endif %} <table> <tr> <td>Name</td> @@ -93,11 +107,13 @@ <tr> <td>License</td> <td> - {% if package.license != package.media_license %} + {% if package.license == package.media_license %} + {{ package.license.name }} + {% elif package.type == package.type.TXP %} + {{ package.media_license.name }} + {% else %} {{ package.license.name }} for code,<br /> {{ package.media_license.name }} for media. - {% else %} - {{ package.license.name }} {% endif %} </td> </tr> @@ -108,7 +124,7 @@ </table> <ul class="buttonset linedbuttonset"> - {% if package.getDownloadRelease() %}<li><a href="{{ package.getDownloadURL() }}">Download</a></li>{% endif %} + {% if package.getDownloadRelease() %}<li><a href="{{ package.getDownloadURL() }}" class="btn_green">Download</a></li>{% endif %} {% if package.repo %}<li><a href="{{ package.repo }}">View Source</a></li>{% endif %} {% if package.forums %}<li><a href="https://forum.minetest.net/viewtopic.php?t={{ package.forums }}">Forums</a></li>{% endif %} {% if package.issueTracker %}<li><a href="{{ package.issueTracker }}">Issue Tracker</a></li>{% endif %} diff --git a/migrations/versions/d0bec9e5698e_.py b/migrations/versions/d0bec9e5698e_.py new file mode 100644 index 0000000..9fe2bed --- /dev/null +++ b/migrations/versions/d0bec9e5698e_.py @@ -0,0 +1,28 @@ +"""empty message + +Revision ID: d0bec9e5698e +Revises: aa6d7b595a94 +Create Date: 2018-05-29 21:23:43.847738 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'd0bec9e5698e' +down_revision = 'aa6d7b595a94' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('license', sa.Column('is_foss', sa.Boolean(), nullable=False, server_default="true")) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('license', 'is_foss') + # ### end Alembic commands ### @@ -359,11 +359,16 @@ for tag in ["Inventory", "Mapgen", "Building", \ licenses = {} for license in ["GPLv2.1", "GPLv3", "LGPLv2.1", "LGPLv3", "AGPLv2.1", "AGPLv3", "Apache", "BSD 3-Clause", "BSD 2-Clause", "CC0", "CC-BY-SA", - "CC-BY", "CC-BY-NC-SA", "MIT", "ZLib"]: + "CC-BY", "MIT", "ZLib"]: row = License(license) licenses[row.name] = row db.session.add(row) +for license in ["CC-BY-NC-SA"]: + row = License(license, False) + licenses[row.name] = row + db.session.add(row) + if test_data: defineDummyData(licenses, tags, ruben) |