Skip to content

Commit

Permalink
Updated register display
Browse files Browse the repository at this point in the history
This adds a menu structure in the side bar by category.
And brings the formatting into twfy from parlparse.
  • Loading branch information
ajparsons committed Feb 17, 2025
1 parent eb4063f commit 885fe63
Show file tree
Hide file tree
Showing 4 changed files with 112 additions and 18 deletions.
24 changes: 16 additions & 8 deletions www/docs/mp/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -996,17 +996,25 @@ function person_pbc_membership($member) {
}

function person_register_interests($member, $extra_info) {
if (!isset($extra_info['register_member_interests_html'])) {
return;
}

$reg = [ 'date' => '', 'data' => '<p>Nil</p>' ];
if (isset($extra_info['register_member_interests_date'])) {
$reg['date'] = format_date($extra_info['register_member_interests_date'], SHORTDATEFORMAT);
$valid_chambers = ['commons', 'scottish-parliament', 'northern-ireland-assembly', 'senedd'];

$lang = LANGUAGE;

$reg = [ 'date' => '', 'chamber_registers' => [] ];

foreach ($valid_chambers as $chamber) {
$key = 'person_regmem_' . $chamber . '_' . $lang;
if (!isset($extra_info[$key])) {
continue;
}
$reg['chamber_registers'][$chamber] = MySociety\TheyWorkForYou\DataClass\Regmem\Person::fromJson($extra_info[$key]);
}
if ($extra_info['register_member_interests_html'] != '') {
$reg['data'] = $extra_info['register_member_interests_html'];
// if chamber_registers is empty, we don't have any data
if (empty($reg['chamber_registers'])) {
return;
}

return $reg;
}

Expand Down
45 changes: 45 additions & 0 deletions www/includes/easyparliament/templates/html/mp/_register_entry.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php /** @var MySociety\TheyWorkForYou\DataClass\Regmem\InfoEntry $entry */ ?>

<div class="interest-item" id="<?= $entry->comparable_id ?>">

<?php if (!$entry->details->isEmpty()): ?>
<?php print_r($entry->details) ?>

<?php if ($entry->content): ?>
<?php if ($entry->info_type == "subentry"): ?>
<h6 class="interest-summary"><?= htmlspecialchars($entry->content) ?></h6>
<?php else: ?>
<h4 class="interest-summary"><?= htmlspecialchars($entry->content) ?></h4>
<?php endif; ?>

<?php endif; ?>
<ul class="interest-details-list">
<?php foreach ($entry->details as $detail): ?>
<?php include '_register_field.php'; ?>
<?php endforeach; ?>
<?php if ($entry->date_registered): ?>
<li class="registration-date">Registration Date: <?= htmlspecialchars($entry->date_registered) ?></li>
<?php endif; ?>
<?php if ($entry->date_published): ?>
<li class="published-date">Published Date: <?= htmlspecialchars($entry->date_published) ?></li>
<?php endif; ?>
<?php if ($entry->date_updated): ?>
<li class="last-updated-date">Last Updated Date: <?= htmlspecialchars($entry->date_updated) ?></li>
<?php endif; ?>
</ul>
<?php endif; ?>

</ul>
<?php if (!$entry->sub_entries->isEmpty()): ?>
<h5 class="child-item-header">Specific work or payments</h5>
<div class="interest-child-items" id="parent-<?= $entry->comparable_id ?>">
<?php foreach ($entry->sub_entries as $subentry): ?>
<?php $parent_entry = $entry; ?>
<?php $entry = $subentry; ?>
<?php include '_register_entry.php'; ?>
<?php $entry = $parent_entry; ?>
<?php endforeach; ?>
</div>
<?php endif; ?>

</div>
18 changes: 18 additions & 0 deletions www/includes/easyparliament/templates/html/mp/_register_field.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?php /** @var MySociety\TheyWorkForYou\DataClass\Regmem\Detail $detail */ ?>

<li class="interest-detail">
<span class="interest-detail-name"><?= $detail->display_as ?>: </span>
<?php if ($detail->type == "container"): ?>
<ul class="interest-detail-values-groups">
<?php $upper_detail = $detail; ?>
<?php foreach ($detail->sub_details() as $detail): ?>
<?php include '_register_field.php'; ?>
<?php endforeach; ?>
<?php $detail = $upper_detail; ?>
</ul>
<?php else : ?>
<?php if ($detail->value): ?>
<span class="interest-detail-value"><?= htmlspecialchars($detail->value) ?></span>
<?php endif; ?>
<?php endif; ?>
</li>
43 changes: 33 additions & 10 deletions www/includes/easyparliament/templates/html/mp/register.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,26 @@
<div class="person-panels">
<div class="sidebar__unit in-page-nav">
<div>
<h3 class="browse-content"><?= gettext('Browse content') ?></h3>

<h3 class="browse-content"><?= gettext('Browse content') ?></h3>
<ul>
<li><a href="https://pages.mysociety.org/parl_register_interests/datasets/parliament_2024/latest">Download a spreadsheet</a></li>
<li><a href="https://www.mysociety.org/2024/01/17/improving-the-register-of-mps-interests/">Read more about the data</a></li>
<li><a href="https://pages.mysociety.org/parl_register_interests/datasets/parliament_2024/latest">Download a spreadsheet</a></li>
<li><a href="https://www.mysociety.org/2024/01/17/improving-the-register-of-mps-interests/">Read more about the data</a></li>
</ul>

<?php foreach ($register_interests['chamber_registers'] as $register): ?>
<?php /** @var MySociety\TheyWorkForYou\DataClass\Regmem\Person $register */ ?>

<h3 class="browse-content"><?= $register->displayChamber() ?></h3>
<ul>
<?php foreach ($register->categories as $category): ?>
<li><a href="#category-<?= $register->chamber . $category->category_id ?>"><?= $category->category_name ?></a></li>
<?php endforeach; ?>
</ul>
<?php include '_featured_content.php'; ?>
<?php include '_donation.php'; ?>
<?php endforeach; ?>

<?php include '_featured_content.php'; ?>
<?php include '_donation.php'; ?>
</div>
</div>

Expand All @@ -27,16 +39,27 @@
<div class="panel register">
<a name="register"></a>
<h2>Register of Members&rsquo; Interests</h2>
<p><b>New</b>: <a href="https://pages.mysociety.org/parl_register_interests/datasets/parliament_2024/latest">Download a spreadsheet of all Members Interests.</a></p>

<p>
<a href="<?= WEBPATH ?>regmem/?p=<?= $person_id ?>">View the history of this MP&rsquo;s entries in the Register</a>
</p>
<?php if ($register_interests['date']): ?>
<p>Last updated: <?= $register_interests['date'] ?>.</p>
<?php endif; ?>

<?= $register_interests['data'] ?>
<?php /** @var MySociety\TheyWorkForYou\DataClass\Regmem\Person $register */ ?>
<?php foreach ($register_interests['chamber_registers'] as $chamber => $register): ?>

<p>This register last updated on: <?= $register->published_date ?></p>

<?php foreach ($register->categories as $category): ?>
<h3 id="category-<?= $chamber . $category->category_id ?>"><?= $category->category_name ?></h3>

<?php foreach ($category->entries as $entry): ?>
<?php include('_register_entry.php'); ?>

<?php endforeach; ?>

<?php endforeach; ?>

<?php endforeach; ?>


<p>
Expand Down

0 comments on commit 885fe63

Please sign in to comment.