diff --git a/migrations/versions/35d477d67b7_.py b/migrations/versions/35d477d67b7_.py
new file mode 100644
index 00000000..42de5393
--- /dev/null
+++ b/migrations/versions/35d477d67b7_.py
@@ -0,0 +1,33 @@
+"""empty message
+
+Revision ID: 35d477d67b7
+Revises: 33e499db410
+Create Date: 2024-12-06 10:16:54.464973
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '35d477d67b7'
+down_revision = '33e499db410'
+
+from alembic import op
+import sqlalchemy as sa
+
+
+def upgrade():
+ ### commands auto generated by Alembic - please adjust! ###
+ op.create_table('bill_file',
+ sa.Column('id', sa.Integer(), nullable=False),
+ sa.Column('bill_id', sa.Integer(), nullable=False),
+ sa.Column('file_id', sa.Integer(), nullable=False),
+ sa.ForeignKeyConstraint(['bill_id'], ['bill.id'], name=op.f('fk_bill_file_bill_id_bill')),
+ sa.ForeignKeyConstraint(['file_id'], ['file.id'], name=op.f('fk_bill_file_file_id_file')),
+ sa.PrimaryKeyConstraint('id', name=op.f('pk_bill_file'))
+ )
+ ### end Alembic commands ###
+
+
+def downgrade():
+ ### commands auto generated by Alembic - please adjust! ###
+ op.drop_table('bill_file')
+ ### end Alembic commands ###
diff --git a/pmg/admin/__init__.py b/pmg/admin/__init__.py
index 65843c43..50cb1500 100644
--- a/pmg/admin/__init__.py
+++ b/pmg/admin/__init__.py
@@ -1260,6 +1260,18 @@ def get_list(self, term, offset=0, limit=DEFAULT_PAGE_SIZE):
return query.offset(offset).limit(limit).all()
+class InlineBillFileForm(InlineFormAdmin):
+ form_columns = (
+ "id",
+ "file",
+ )
+ form_ajax_refs = {
+ "file": {
+ "fields": ("title", "file_path"),
+ "page_size": 10,
+ },
+ }
+
class BillsView(MyModelView):
column_list = (
@@ -1289,13 +1301,14 @@ class BillsView(MyModelView):
"date_of_assent",
"effective_date",
"act_name",
- "versions",
+ "versions"
)
column_default_sort = ("year", True)
column_searchable_list = ("title",)
inline_models = [
InlineBillEventsForm(Event),
InlineBillVersionForm(BillVersion),
+ InlineBillFileForm(BillFile),
]
form_args = {
"events": {"widget": widgets.InlineBillEventsWidget()},
diff --git a/pmg/api/schemas.py b/pmg/api/schemas.py
index 1330b584..732d2c53 100644
--- a/pmg/api/schemas.py
+++ b/pmg/api/schemas.py
@@ -18,6 +18,7 @@
Bill,
BillType,
BillVersion,
+ BillFile,
BillStatus,
Event,
QuestionReply,
@@ -396,6 +397,7 @@ class Meta:
"effective_date",
"act_name",
"versions",
+ "bill_files",
"events",
"created_at",
"updated_at",
@@ -405,6 +407,7 @@ class Meta:
status = fields.Nested("BillStatusSchema")
place_of_introduction = fields.Nested("HouseSchema")
versions = fields.Nested("BillVersionSchema", many=True)
+ bill_files = fields.Nested("BillFileSchema", many=True)
events = PolyField(serialization_schema_selector=choose_event_schema, many=True)
_links = ma.Hyperlinks({"self": AbsoluteUrlFor("api2.bills", id="
- Annual Subscription: R6 800 + R1020 (VAT) = R7 820
- Short access: R2 200 + R330 (VAT) = R2 530
- Single meeting report plus documents: R530 + R79.50 (VAT) = R609.50
- 2024 Price List
{% endif %}
+
{% if bill.status %}
{% if bill.status.name in ["enacted", "president", "ncop", "na", "returned-to-na", "introduced"] -%}
{{ version.title }}
+
+{% endif %}
+
{% endblock %}
{% block javascript %}
diff --git a/pmg/templates/user_management/committee_subscriptions.html b/pmg/templates/user_management/committee_subscriptions.html
index e603833c..3dcde007 100644
--- a/pmg/templates/user_management/committee_subscriptions.html
+++ b/pmg/templates/user_management/committee_subscriptions.html
@@ -44,46 +44,47 @@ Bill files:
Committee subscriptions
{% endif %}
+
{% include "_premium_committees.html" %}
+
Subscription Options
- Choose 4 of the above committees and receive comprehensive minutes and documents for 12 months.
- Should your organization require access to more than 4 of the above committees, this is possible
- according to the list below.
+ Annual Subscription: R7 300 + R1095 (VAT) = R8 395
+ Choose 4 of the above committees and receive comprehensive minutes and documents for 12 months. Should your organization require access to more than 4 of the above committees, this is possible according to the list below.
+ Short access: R2 300 + R345 (VAT) = R2 645
Subscribe to one committee for 3 months.
+ Single meeting report plus documents: R580 + R87 (VAT) = R667
Send an email to subscribe@pmg.org.za and receive the meeting report immediately upon proof of payment.
-
-
-
+ 2025 Price List
+