<?xml version="1.0" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text">Flyspray::</title>
  <subtitle type="text">
    Flyspray::ULab: Recently closed tasks
  </subtitle>
  <id>https://www.bugs.ulabequipment.com/</id>
    <updated>2026-03-26T16:42:56Z</updated>
  <link rel="self" type="text/xml" href="feed.php?feed_type=atom"/>
  <link rel="alternate" type="text/html" hreflang="en" href="/feed.php"/>
    <entry>
    <title>FS#80: object_booking month view taking 60+ seconds to render</title>
    <link href="https://www.bugs.ulabequipment.com/index.php?do=details&amp;task_id=80" />    
    <updated>2026-03-26T16:42:56Z</updated>    
    <published>2026-03-26T16:42:49Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml"> 
<p>
The function day_summary() was calling check_no_overlap() for every hour of every day in the calendar.<br />This resulted in approximately 30 days × up to 24 hours ≈ 700+ calls per page load.<br />Each call to check_no_overlap() executed multiple database queries (booking_object, lab_equipment, labs, proximity checks, overlap checks, etc.), leading to an estimated 5,000–6,000 database queries per page render.
</p>

<p>
The function check_no_overlap() is intended for booking validation, not for display logic.
</p>

<p>
Resolution:<br />Replaced calls to check_no_overlap() in the calendar rendering with a lightweight in-memory overlap check - function has_overlap($entriesForDay, $start, $end).
</p>

<p>
Changes made:<br />Refactored/replaced showMonth() with showMonth_2() to minimise queries (old code still present for checking if needed)<br />Added has_overlap() to check booking clashes using the preloaded $entries array<br />Updated day_summary_2() to use has_overlap() instead of check_no_overlap()<br />Updated calling code to pass daily booking entries into day_summary_2()
</p>

<p>
Result:<br />Page load time reduced from approximately 75 seconds to 0.2 seconds, redundant database queries eliminated.<br />Month view now uses a single query with in-memory processing.
</p>
</div>
    </content>
    <author><name>Ian Thompson</name></author>
    <id>https://www.bugs.ulabequipment.com/:80</id>
  </entry>
    <entry>
    <title>FS#79: multiday bookings crossing months were being overcharged in BIF report</title>
    <link href="https://www.bugs.ulabequipment.com/index.php?do=details&amp;task_id=79" />    
    <updated>2026-03-05T16:14:18Z</updated>    
    <published>2026-03-05T16:14:02Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml"> 
<p>
multi-day bookings that were &gt; month, or crossed the month boundary were given an hours value for the entire booking instead of the time used in the month (or date range) requested for the BIF report.  Code updated to limit the charge/hours to the max in the month.<br />
</p>
</div>
    </content>
    <author><name>Ian Thompson</name></author>
    <id>https://www.bugs.ulabequipment.com/:79</id>
  </entry>
    <entry>
    <title>FS#76: BIF reports wrong contents</title>
    <link href="https://www.bugs.ulabequipment.com/index.php?do=details&amp;task_id=76" />    
    <updated>2026-02-05T12:00:07Z</updated>    
    <published>2026-02-05T11:59:57Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml"> 
<p>
BIF reports containing wrong data.  The cleanFileName function was cutting the filename off at 35 characters, so longer lab names were being shortened and as Bath have similar, long-named labs, this was resulting in the same filename for multiple facilities and cached files resulting in the wrong data in BIF downloads.
</p>

<p>
Fix: updated cleanFileName to default to 120 chars - 39 limit was from legacy need to restrice filename length elsewhere.<br />Fix: updated charging.php as it was stripping the / from tempFiles/filename.csv resulting in files being stored outside of the tempFiles directory<br />
</p>
</div>
    </content>
    <author><name>Ian Thompson</name></author>
    <id>https://www.bugs.ulabequipment.com/:76</id>
  </entry>
    <entry>
    <title>FS#72: Add charity option as cost category</title>
    <link href="https://www.bugs.ulabequipment.com/index.php?do=details&amp;task_id=72" />    
    <updated>2025-10-17T15:20:51Z</updated>    
    <published>2025-08-22T15:16:36Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml"> 
<p>
extends FEC option previous asked for so now have 3 cost categories (for Bath/ Fin module users)
</p>

<p>
 $costCategory=array(&quot;0&quot;⇒&quot;Internal&quot;, &quot;1&quot;⇒&quot;FEC&quot;, &quot;2&quot;⇒&quot;Charity&quot;);
</p>

<p>
updates to <br />- project_codes.php [done dev/live]<br />- make_bookable.php &gt; charging tab [done on dev]<br />- project_codes/charging.php [done on dev]
</p>

<p>
 needs testing before going to live [testing complete]
</p>

<p>
moved to live [done]<br />
</p>
</div>
    </content>
    <author><name>Ian Thompson</name></author>
    <id>https://www.bugs.ulabequipment.com/:72</id>
  </entry>
    <entry>
    <title>FS#70: multiday bookings allowing change of duration beyond max booking time</title>
    <link href="https://www.bugs.ulabequipment.com/index.php?do=details&amp;task_id=70" />    
    <updated>2025-09-12T12:15:23Z</updated>    
    <published>2025-08-15T13:16:42Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml"> 
<p>
issue with multiday bookings allowing the user to book more than max booking time e.g. max booking 5 days, user can book 7 days.
</p>

<p>
<strong>* update: this is only admin/lab owners, so shouldn&#039;t be an issue for normal kit users </strong>*<br />
</p>
</div>
    </content>
    <author><name>Ian Thompson</name></author>
    <id>https://www.bugs.ulabequipment.com/:70</id>
  </entry>
    <entry>
    <title>FS#66: API keys out of date</title>
    <link href="https://www.bugs.ulabequipment.com/index.php?do=details&amp;task_id=66" />    
    <updated>2025-04-02T13:44:23Z</updated>    
    <published>2025-04-02T13:44:14Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml"> 
<p>
<acronym title="Application Programming Interface">API</acronym> keys in location_search were wrong/out of date.  
</p>

<p>
Updated with keys from 02/2024<br />[ulabequipment@gmail.com account]<br />
</p>
</div>
    </content>
    <author><name>Ian Thompson</name></author>
    <id>https://www.bugs.ulabequipment.com/:66</id>
  </entry>
    <entry>
    <title>FS#55: Bath department list</title>
    <link href="https://www.bugs.ulabequipment.com/index.php?do=details&amp;task_id=55" />    
    <updated>2024-09-25T14:12:36Z</updated>    
    <published>2024-09-20T14:03:22Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml"> 
<p>
faculty/department list incorrect.
</p>

<p>
change to:
</p>

<p>
[Faculty of Engineering &amp; Design]<br />Architecture &amp; Civil Engineering<br />Chemical Engineering<br />Electronic &amp; Electrical Engineering<br />Mechanical Engineering
</p>

<p>
[Faculty of Humanities &amp; Social Sciences]<br />Economics<br />Education<br />Health<br />Politics, Languages &amp; International Studies<br />Psychology<br />Social &amp; Policy Sciences
</p>

<p>
[Faculty of Science]<br />Chemistry<br />Computer Science<br />Life Sciences<br />Mathematical Sciences<br />Natural Sciences<br />Physics<br />Core research facilities 
</p>

<p>
[School of Management]<br />Accounting, Finance &amp; Law<br />Marketing, Business &amp; Society<br />Information, Decisions &amp; Operations<br />Strategy &amp; Organisation
</p>
</div>
    </content>
    <author><name>Ian Thompson</name></author>
    <id>https://www.bugs.ulabequipment.com/:55</id>
  </entry>
    <entry>
    <title>FS#48: incident tool not sending emails</title>
    <link href="https://www.bugs.ulabequipment.com/index.php?do=details&amp;task_id=48" />    
    <updated>2024-07-22T13:30:57Z</updated>    
    <published>2024-07-22T12:26:53Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml"> 
<p>
user reporting emails not being sent.  User account has emails switched on. No users listed as recipients in report.  requires further checking.
</p>

<p>
 update: the inc_notifications code had a typo ($bins instead of $binds) stopping the lab_ID being passed correctly when calling incident function from site home page.  Fix in place on DEV and live.<br />
</p>
</div>
    </content>
    <author><name>Ian Thompson</name></author>
    <id>https://www.bugs.ulabequipment.com/:48</id>
  </entry>
    <entry>
    <title>FS#44: add webcal calendar integration</title>
    <link href="https://www.bugs.ulabequipment.com/index.php?do=details&amp;task_id=44" />    
    <updated>2024-06-19T13:13:16Z</updated>    
    <published>2024-06-19T13:12:06Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml"> 
<p>
add webcal format calendar to allow users to subscribe to equipment to view bookings on their calendar app e.g. Outlook, Mail etc.
</p>

<p>
note, restricted to non-free accounts.<br />
</p>
</div>
    </content>
    <author><name>Ian Thompson</name></author>
    <id>https://www.bugs.ulabequipment.com/:44</id>
  </entry>
    <entry>
    <title>FS#42: cannot login</title>
    <link href="https://www.bugs.ulabequipment.com/index.php?do=details&amp;task_id=42" />    
    <updated>2024-06-17T14:01:21Z</updated>    
    <published>2024-06-17T13:05:12Z</published>
    <content type="xhtml" xml:lang="en" xml:base="http://diveintomark.org/">
      <div xmlns="http://www.w3.org/1999/xhtml"> 
<p>
test<br />
</p>
</div>
    </content>
    <author><name>anonymous</name></author>
    <id>https://www.bugs.ulabequipment.com/:42</id>
  </entry>
  </feed>
