| Commit message (Collapse) | Author | Age | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| | |
When an expanded list item has a single image, it would previously float
to the right of the list item action buttons, which looked messy.
Now, the buttons clear below the floated image, just like the buttons in
the individual report page `.problem-header`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make the expandable list item’s expanded state look more like the
regular `.problem-header`, to more strongly imply that you don’t need
to visit the individual report page to read more.
Since expandable list items now *always* contain more information in
their expanded state, there’s no need for the `show_more` flag in the
templates.
Addresses part of the feedback in mysociety/fixmystreet-commercial#1304.
|
|/ |
|
|
|
|
|
|
|
| |
->first, as used in cd8a5702, uses the iterator, so ->next will then
only return the second onward. Instead, do the needed thing in the
first iteration of the loop. Also check the option is set as some
scripts do not set it.
|
| |
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| | |
The two functions were conflicting with one another.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | | |
If the site only has the one category, it was being preselected
but the extra attribute questions were not being shown.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, when update_pin was called, category change events were
fired: 1. if category wasn't blank, 2. if category groups were enabled,
and 3. if category groups were enabled, a group was selected, and a
category was not.
Now we sort out everything inside the category_groups setup function,
only triggering a change event once, at the end.
|
| | |
| | |
| | |
| | |
| | | |
This is most noticeable with category groups, where changing the
parent would leave visible any asset/attribute questions.
|
| |/
| |
| |
| |
| |
| | |
If you had one filter category selected, clicked the map (category
auto pre-selected), changed the category, and clicked the map again,
it would re-select the filter category, not the changed category.
|
| |
| |
| |
| |
| |
| | |
Previously if no reports were closed with an email this meant that the
lang setup never ran and you got an error when _ was called in
close_problems. So, we call the lang setup in close_problems too.
|
|/ |
|
|
|
|
|
|
| |
This makes sure that we re-enable the report form if you select a non
OCC category after selecting PRoW, and also enables correct hiding and
displaying of the message.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
just because fixmystreet.actions exists on a layer it does not mean the
found or not_found methods are there so check for them too. Otherwise we
don't fall back to the default actions as the JS errors.
|
|
|
|
| |
with others
|
| |
|
| |
|
|
|
|
|
| |
It can be hard to see where one error stops and a new one begins in the
send reports error emails so put in a more obvious break between them.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the Vector tiles layers which Alloy provided which don't require
and API key or paging. This code is still a bit work in progress as it
makes a few assumptions:
* the zoom level is hard coded
* adding assets to layers assumes things are not async when they are
* we are using itemId which is not the correct thing
This uses an event to notify that loading a request for a new set of
tiles has started and then uses counting to check we've fetched them all
and hence can get the layer to check for an asset.
It also uses start times to throw away requests for tiles in a previous
request if they come in after a new request has started.
This also doesn't have anything for putting labels on assets because
that information doesn't seem to be in the tiles.
A final point is that the tiles can contain multiple assets at the same
coőrdinates and we don't do anything about that at the moment so the
user will just get the last one added when they click.
This includes a dump of all the layers from alloy and then matches them
up to categories displayed on FixMyStreet
|
|
|
|
|
| |
Co-authored-by: Zarino Zappia <zarino@mysociety.org>
Co-authored-by: Matthew Somerville <matthew@mysociety.org>
|
|
|
|
|
| |
Add a privacy_policy_url function to the cobrand and use that in the
templates instead of hard coding /privacy
|
|
|
|
|
| |
allows adding a logo_file setting in _color_overrides.html to change the
name of the file used. Defaults to email-logo.gif
|
| |
|
|
|
|
| |
Fixes mysociety/fixmystreet-commercial#1306
|
|\ |
|
| |
| |
| |
| |
| | |
The test has to now create a new comment object each time as
`get_cobrand_logged` is cached on the object.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If an update has a fixmystreet_id field then use the contents of that in
preference to the external_id field to match an update to a problem.
This handles the case where a report in a third party system passes
through different types (eg inspection and defect), resulting in the
external id changing. In this case it is sometimes possible to include
the fixmystreet id in each type and hence use that to match things up at
the fixmystreet side.
|
| |
| |
| |
| |
| | |
Remove the config that stopped us sending easting/northing if the user
had not clicked the map.
|
| |
| |
| |
| |
| | |
If an Open311 server returned an empty set of values, it was possible
for this template to then display a set of empty dropdown options.
|
| |
| |
| |
| |
| | |
Otherwise running on a site where one body ID is a substring
of another, comments can get processed for the wrong body.
|
| | |
|
|/
|
|
|
| |
After the change in 1cff2a0e, we need to make sure this is set
so that the relevant fields are not shown in the front end.
|
| |
|
|
|
|
| |
Otherwise any such fields are lost upon a manual edit.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Without doing this, a call to e.g. $contact->set_extra_fields(@meta)
in PopulateServiceList.pm, with an unchanged meta that contains some
Unicode values, can write to the database (and cause an unneeded row
in the history table), because the column from the database is UTF-8
decoded, whilst the new text is UTF-8 encoded.
It looks like an attempt was made in filter_from_storage to fix this
issue, but the column comparison for marking a column as dirty takes
place without this being called.
|
| |
| |
| |
| |
| |
| | |
The form may be brought in via JS, so we have to add an event to
something that will always be there (or alternatively set up when
pulled in, which was the old pre-duplicates.js behaviour).
|
| | |
|
|/ |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Rather than compile it all into on big string for output, write the
output as we go. Also output headers to encourage intermediaries to
stream as well.
|