Bug 33478

Summary: Customise the format of notices when they are printed
Product: Koha Reporter: Aleisha Amohia <aleisha>
Component: NoticesAssignee: Aleisha Amohia <aleisha>
Status: RESOLVED FIXED QA Contact: Martin Renvoize (ashimema) <martin.renvoize>
Severity: enhancement    
Priority: P5 - low CC: andrew, aspencatteam, caroline.cyr-la-rose, fridolin.somers, lucas, m.de.rooy, nick, oleonard, samalau
Version: Main   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34728
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=34704
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35267
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=30287
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35279
Change sponsored?: Sponsored Patch complexity: Large patch
Documentation contact: Caroline Cyr La Rose Documentation submission: https://gitlab.com/koha-community/koha-manual/-/merge_requests/937
Text to go in the release notes:
This implements a style field for each template to allow for advanced CSS customisations of printed notices and slips. There are links to insert selectors as helpers. Styles can be applied for an individual notice or all notices at once.
Version(s) released in:
24.05.00
Circulation function:
Bug Depends on: 34030    
Bug Blocks: 33260, 35267, 38089, 38091, 38105, 36790    
Attachments: Bug 33478: [WIP] Allow formatting of notices
Bug 33478: Add formatting columns to letter table
Bug 33478: Schema updates
Bug 33478: [WIP] Allow formatting of notices
Bug 33478: Add formatting columns to letter table
Bug 33478: Add format_notices user permission
Bug 33478: Save notice format settings
Bug 33478: [WIP] Apply formatting to printed notices
Bug 33478: Schema updates
Bug 33478: Add formatting columns to letter table
Bug 33478: Schema updates
Bug 33478: Add format_notices user permission
Bug 33478: Save notice format settings
Bug 33478: Apply formatting to HOLD_SLIP
Bug 33478: Apply formatting to AR_SLIP
Bug 33478: Apply formatting to TRANSFERSLIP
Bug 33478: Apply formatting to OVERDUES_SLIP
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP
Bug 33478: Apply formatting to RECEIPT
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY
Bug 33478: Apply formatting to RECALL_REQUESTER_DET
Bug 33478: Add formatting columns to letter table
Bug 33478: Schema updates
Bug 33478: Save notice format settings
Bug 33478: Apply formatting to HOLD_SLIP
Bug 33478: Apply formatting to AR_SLIP
Bug 33478: Apply formatting to TRANSFERSLIP
Bug 33478: Apply formatting to OVERDUES_SLIP
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP
Bug 33478: Apply formatting to RECEIPT
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY
Bug 33478: Apply formatting to RECALL_REQUESTER_DET
Bug 33478: Save notice format settings
Bug 33478: Apply formatting to HOLD_SLIP
Bug 33478: Apply formatting to AR_SLIP
Bug 33478: Apply formatting to TRANSFERSLIP
Bug 33478: Apply formatting to OVERDUES_SLIP
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP
Bug 33478: Apply formatting to RECEIPT
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY
Bug 33478: Apply formatting to RECALL_REQUESTER_DET
Bug 33478: Save notice format settings
Bug 33478: Apply formatting to HOLD_SLIP
Bug 33478: Apply formatting to AR_SLIP
Bug 33478: Apply formatting to TRANSFERSLIP
Bug 33478: Apply formatting to OVERDUES_SLIP
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ACCOUNT_CREDIT
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP
Bug 33478: Apply formatting to RECEIPT
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY
Bug 33478: Apply formatting to RECALL_REQUESTER_DET
Bug 33478: Make sure formatting is applied to tables in notices
Bug 33478: Add formatting columns to letter table
Bug 33478: Schema updates
Bug 33478: Save notice format settings
Bug 33478: Apply formatting to HOLD_SLIP
Bug 33478: Apply formatting to AR_SLIP
Bug 33478: Apply formatting to TRANSFERSLIP
Bug 33478: Apply formatting to OVERDUES_SLIP
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ACCOUNT_CREDIT
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP
Bug 33478: Apply formatting to RECEIPT
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY
Bug 33478: Apply formatting to RECALL_REQUESTER_DET
Bug 33478: Make sure formatting is applied to tables in notices
Bug 33478: [WIP] CSS area instead of specific style inputs
Bug 33478: Add formatting columns to letter table
Bug 33478: Save notice format settings
Bug 33478: Apply formatting to HOLD_SLIP
Bug 33478: Apply formatting to AR_SLIP
Bug 33478: Apply formatting to TRANSFERSLIP
Bug 33478: Apply formatting to OVERDUES_SLIP
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ACCOUNT_CREDIT
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP
Bug 33478: Apply formatting to RECEIPT
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY
Bug 33478: Apply formatting to RECALL_REQUESTER_DET
Bug 33478: Make sure formatting is applied to tables in notices
Bug 33478: Schema updates
Bug 33478: CCS textarea instead of specific style inputs
Bug 33478: Better selector for body of notices
Bug 33478: Add formatting columns to letter table
Bug 33478: Save notice format settings
Bug 33478: Schema updates
Bug 33478: CCS textarea instead of specific style inputs
Bug 33478: Better selector for body of notices
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP
Bug 33478: Apply formatting to HOLD_SLIP
Bug 33478: Apply formatting to AR_SLIP
Bug 33478: Apply formatting to TRANSFERSLIP
Bug 33478: Apply formatting to OVERDUES_SLIP
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ACCOUNT_CREDIT
Bug 33478: Apply formatting to RECEIPT
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY
Bug 33478: Apply formatting to RECALL_REQUESTER_DET
Bug 33478: Apply formatting to AR_SLIP
Bug 33478: Save notice format settings
Bug 33478: Schema updates
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP
Bug 33478: Apply formatting to HOLD_SLIP
Bug 33478: Apply formatting to TRANSFERSLIP
Bug 33478: Apply formatting to OVERDUES_SLIP
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ACCOUNT_CREDIT
Bug 33478: Apply formatting to RECEIPT
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY
Bug 33478: Apply formatting to RECALL_REQUESTER_DET
Bug 33478: Apply formatting to AR_SLIP
Bug 33478: Make styles apply per notice
Bug 33478: Consider TranslateNotices when saving notice styles
Bug 33478: Save notice format settings
Bug 33478: Schema updates
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP
Bug 33478: Apply formatting to HOLD_SLIP
Bug 33478: Apply formatting to TRANSFERSLIP
Bug 33478: Apply formatting to OVERDUES_SLIP
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ACCOUNT_CREDIT
Bug 33478: Apply formatting to RECEIPT
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY
Bug 33478: Apply formatting to RECALL_REQUESTER_DET
Bug 33478: Apply formatting to AR_SLIP
Bug 33478: Make styles apply per notice
Bug 33478: Consider TranslateNotices when saving notice styles
Bug 33478: Save notice format settings
Bug 33478: Schema updates
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP
Bug 33478: Apply formatting to HOLD_SLIP
Bug 33478: Apply formatting to TRANSFERSLIP
Bug 33478: Apply formatting to OVERDUES_SLIP
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ACCOUNT_CREDIT
Bug 33478: Apply formatting to RECEIPT
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY
Bug 33478: Apply formatting to RECALL_REQUESTER_DET
Bug 33478: Apply formatting to AR_SLIP
Bug 33478: Make styles apply per notice
Bug 33478: Consider TranslateNotices when saving notice styles
Bug 33478: (follow-up) Correct file permission
Bug 33478: Save notice format settings
Bug 33478: Schema updates
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP
Bug 33478: Apply formatting to HOLD_SLIP
Bug 33478: Apply formatting to TRANSFERSLIP
Bug 33478: Apply formatting to OVERDUES_SLIP
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ACCOUNT_CREDIT
Bug 33478: Apply formatting to RECEIPT
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY
Bug 33478: Apply formatting to RECALL_REQUESTER_DET
Bug 33478: Apply formatting to AR_SLIP
Bug 33478: Make styles apply per notice
Bug 33478: Consider TranslateNotices when saving notice styles
Bug 33478: (follow-up) Correct file permission
Bug 33478: Save notice format settings
Bug 33478: Schema updates
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP
Bug 33478: Apply formatting to HOLD_SLIP
Bug 33478: Apply formatting to TRANSFERSLIP
Bug 33478: Apply formatting to OVERDUES_SLIP
Bug 33478: Apply formatting to ACCOUNT_DEBIT
Bug 33478: Apply formatting to ACCOUNT_CREDIT
Bug 33478: Apply formatting to RECEIPT
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY
Bug 33478: Apply formatting to RECALL_REQUESTER_DET
Bug 33478: Apply formatting to AR_SLIP
Bug 33478: Make styles apply per notice
Bug 33478: Consider TranslateNotices when saving notice styles
Bug 33478: (follow-up) Correct file permission

Description Aleisha Amohia 2023-04-11 00:25:01 UTC
A feature to customise the format of notices when they are printed would be great. Some things we'd like to be able to customise for example are:
- font size
- margins
- letterheads
Comment 1 Aleisha Amohia 2023-04-17 04:51:48 UTC Comment hidden (obsolete)
Comment 2 Aleisha Amohia 2023-04-18 04:58:58 UTC Comment hidden (obsolete)
Comment 3 Aleisha Amohia 2023-04-18 04:59:01 UTC Comment hidden (obsolete)
Comment 4 Aleisha Amohia 2023-04-18 04:59:03 UTC Comment hidden (obsolete)
Comment 5 Aleisha Amohia 2023-04-20 04:14:27 UTC Comment hidden (obsolete)
Comment 6 Aleisha Amohia 2023-04-20 04:14:30 UTC Comment hidden (obsolete)
Comment 7 Aleisha Amohia 2023-04-20 04:14:32 UTC Comment hidden (obsolete)
Comment 8 Aleisha Amohia 2023-04-20 04:14:35 UTC Comment hidden (obsolete)
Comment 9 Aleisha Amohia 2023-04-20 04:14:37 UTC Comment hidden (obsolete)
Comment 10 Aleisha Amohia 2023-04-21 03:39:53 UTC Comment hidden (obsolete)
Comment 11 Aleisha Amohia 2023-04-21 03:39:55 UTC Comment hidden (obsolete)
Comment 12 Aleisha Amohia 2023-04-21 03:39:58 UTC Comment hidden (obsolete)
Comment 13 Aleisha Amohia 2023-04-21 03:40:00 UTC Comment hidden (obsolete)
Comment 14 Aleisha Amohia 2023-04-21 03:40:03 UTC Comment hidden (obsolete)
Comment 15 Aleisha Amohia 2023-04-21 03:40:05 UTC Comment hidden (obsolete)
Comment 16 Aleisha Amohia 2023-04-21 03:40:08 UTC Comment hidden (obsolete)
Comment 17 Aleisha Amohia 2023-04-21 03:40:10 UTC Comment hidden (obsolete)
Comment 18 Aleisha Amohia 2023-04-21 03:40:13 UTC Comment hidden (obsolete)
Comment 19 Aleisha Amohia 2023-04-21 03:40:15 UTC Comment hidden (obsolete)
Comment 20 Aleisha Amohia 2023-04-21 03:40:18 UTC Comment hidden (obsolete)
Comment 21 Aleisha Amohia 2023-04-21 03:40:20 UTC Comment hidden (obsolete)
Comment 22 Aleisha Amohia 2023-04-21 03:40:23 UTC Comment hidden (obsolete)
Comment 23 Aleisha Amohia 2023-04-21 03:40:25 UTC Comment hidden (obsolete)
Comment 24 Nick Clemens (kidclamp) 2023-04-26 15:58:34 UTC
I didn't do a full run through as I hit a few issues.

Must fix:
 - A patron without permissions cannot save print notices. The current settings need to be included as hidden inputs
 - The permission doesn't prevent url/form manipulation without the permission. This must be checked in the code.
 - There is an empty value in the Units dropdown for 'AGATE'

Should fix:
 - The DB fields should be enum if they only support a limited range of values
 - This reveals  an consistency - ISSUESLIP is presented in print format, however, it uses the 'email' template. Possibly the settings can be their own section? Otherwise this needs to be addressed
 - 'Apply format settings to all notices' - I can see the utility here for initially settings things up - but this seems a bit too powerful. A warning at least would be nice
 - Even if you cannot edit the settings - it would be useful to view the print formatting so you know what you can see
 - The new form is added to all notices - but it really only applies to slips if I understand correctly? Does this work with bug 33260 for printing notices from the staff interface? It should be clarified if it does not work with gather_print_notices etc.

Could fix:
 - I don't know that a permission is needed here, if you can edit slips I would assume you can edit this portion too, but I assume there is a motivation
Comment 25 Aleisha Amohia 2023-04-27 05:10:44 UTC Comment hidden (obsolete)
Comment 26 Aleisha Amohia 2023-04-27 05:10:47 UTC Comment hidden (obsolete)
Comment 27 Aleisha Amohia 2023-04-27 05:10:49 UTC Comment hidden (obsolete)
Comment 28 Aleisha Amohia 2023-04-27 05:10:52 UTC Comment hidden (obsolete)
Comment 29 Aleisha Amohia 2023-04-27 05:10:55 UTC Comment hidden (obsolete)
Comment 30 Aleisha Amohia 2023-04-27 05:10:57 UTC Comment hidden (obsolete)
Comment 31 Aleisha Amohia 2023-04-27 05:11:00 UTC Comment hidden (obsolete)
Comment 32 Aleisha Amohia 2023-04-27 05:11:03 UTC Comment hidden (obsolete)
Comment 33 Aleisha Amohia 2023-04-27 05:11:05 UTC Comment hidden (obsolete)
Comment 34 Aleisha Amohia 2023-04-27 05:11:08 UTC Comment hidden (obsolete)
Comment 35 Aleisha Amohia 2023-04-27 05:11:11 UTC Comment hidden (obsolete)
Comment 36 Aleisha Amohia 2023-04-27 05:11:13 UTC Comment hidden (obsolete)
Comment 37 Aleisha Amohia 2023-04-27 05:11:16 UTC Comment hidden (obsolete)
Comment 38 Aleisha Amohia 2023-04-27 05:16:19 UTC
(In reply to Nick Clemens from comment #24)
> I didn't do a full run through as I hit a few issues.

Thank you for testing! Decided to remove the permission as I agree it's not really needed and think that addresses half of these issues.

> 
> Must fix:
>  - A patron without permissions cannot save print notices. The current
> settings need to be included as hidden inputs
>  - The permission doesn't prevent url/form manipulation without the
> permission. This must be checked in the code.

Removed permission

>  - There is an empty value in the Units dropdown for 'AGATE'

Fixed in latest patchset

> 
> Should fix:
>  - The DB fields should be enum if they only support a limited range of
> values

Fixed in latest patchset

>  - This reveals  an consistency - ISSUESLIP is presented in print format,
> however, it uses the 'email' template. Possibly the settings can be their
> own section? Otherwise this needs to be addressed

Moved to its own section out of the Print section)

>  - 'Apply format settings to all notices' - I can see the utility here for
> initially settings things up - but this seems a bit too powerful. A warning
> at least would be nice

Added a confirmation box when hitting Save

>  - Even if you cannot edit the settings - it would be useful to view the
> print formatting so you know what you can see

I haven't addresses the print preview because you can see a print preview when you go to Print the notice - I know it's not ideal. I can come back to this if I have some time but I don't think it should be a blocker at this point.

>  - The new form is added to all notices - but it really only applies to
> slips if I understand correctly? Does this work with bug 33260 for printing
> notices from the staff interface? It should be clarified if it does not work
> with gather_print_notices etc.

I plan to rebase Bug 33260 on top of this.

> 
> Could fix:
>  - I don't know that a permission is needed here, if you can edit slips I
> would assume you can edit this portion too, but I assume there is a
> motivation

Removed permission
Comment 39 Aleisha Amohia 2023-04-27 23:25:54 UTC Comment hidden (obsolete)
Comment 40 Aleisha Amohia 2023-04-27 23:25:57 UTC Comment hidden (obsolete)
Comment 41 Aleisha Amohia 2023-04-27 23:26:00 UTC Comment hidden (obsolete)
Comment 42 Aleisha Amohia 2023-04-27 23:26:03 UTC Comment hidden (obsolete)
Comment 43 Aleisha Amohia 2023-04-27 23:26:05 UTC Comment hidden (obsolete)
Comment 44 Aleisha Amohia 2023-04-27 23:26:08 UTC Comment hidden (obsolete)
Comment 45 Aleisha Amohia 2023-04-27 23:26:11 UTC Comment hidden (obsolete)
Comment 46 Aleisha Amohia 2023-04-27 23:26:14 UTC Comment hidden (obsolete)
Comment 47 Aleisha Amohia 2023-04-27 23:26:17 UTC Comment hidden (obsolete)
Comment 48 Aleisha Amohia 2023-04-27 23:26:20 UTC Comment hidden (obsolete)
Comment 49 Aleisha Amohia 2023-04-27 23:26:23 UTC Comment hidden (obsolete)
Comment 50 Aleisha Amohia 2023-04-28 01:19:27 UTC Comment hidden (obsolete)
Comment 51 Aleisha Amohia 2023-04-28 01:19:30 UTC Comment hidden (obsolete)
Comment 52 Aleisha Amohia 2023-04-28 01:19:33 UTC Comment hidden (obsolete)
Comment 53 Aleisha Amohia 2023-04-28 01:19:36 UTC Comment hidden (obsolete)
Comment 54 Aleisha Amohia 2023-04-28 01:19:39 UTC Comment hidden (obsolete)
Comment 55 Aleisha Amohia 2023-04-28 01:19:42 UTC Comment hidden (obsolete)
Comment 56 Aleisha Amohia 2023-04-28 01:19:46 UTC Comment hidden (obsolete)
Comment 57 Aleisha Amohia 2023-04-28 01:19:49 UTC Comment hidden (obsolete)
Comment 58 Aleisha Amohia 2023-04-28 01:19:52 UTC Comment hidden (obsolete)
Comment 59 Aleisha Amohia 2023-04-28 01:19:55 UTC Comment hidden (obsolete)
Comment 60 Aleisha Amohia 2023-04-28 01:19:58 UTC Comment hidden (obsolete)
Comment 61 Sam Lau 2023-05-22 19:36:49 UTC
Everything worked fine for me except for Apply formatting to ACCOUNTS_SUMMARY. The formatting stayed the same regardless of what was put under the ACCOUNTS_SUMMARY formatting tab.
Comment 62 Aleisha Amohia 2023-05-23 02:20:03 UTC Comment hidden (obsolete)
Comment 63 Sam Lau 2023-05-23 15:21:35 UTC Comment hidden (obsolete)
Comment 64 Sam Lau 2023-05-23 15:21:37 UTC Comment hidden (obsolete)
Comment 65 Sam Lau 2023-05-23 15:21:39 UTC Comment hidden (obsolete)
Comment 66 Sam Lau 2023-05-23 15:21:42 UTC Comment hidden (obsolete)
Comment 67 Sam Lau 2023-05-23 15:21:44 UTC Comment hidden (obsolete)
Comment 68 Sam Lau 2023-05-23 15:21:47 UTC Comment hidden (obsolete)
Comment 69 Sam Lau 2023-05-23 15:21:49 UTC Comment hidden (obsolete)
Comment 70 Sam Lau 2023-05-23 15:21:51 UTC Comment hidden (obsolete)
Comment 71 Sam Lau 2023-05-23 15:21:54 UTC Comment hidden (obsolete)
Comment 72 Sam Lau 2023-05-23 15:21:56 UTC Comment hidden (obsolete)
Comment 73 Sam Lau 2023-05-23 15:21:58 UTC Comment hidden (obsolete)
Comment 74 Sam Lau 2023-05-23 15:22:01 UTC Comment hidden (obsolete)
Comment 75 Sam Lau 2023-05-23 15:22:03 UTC Comment hidden (obsolete)
Comment 76 Sam Lau 2023-05-23 15:22:06 UTC Comment hidden (obsolete)
Comment 77 Marcel de Rooy 2023-09-08 07:25:02 UTC
Still applies. But I am not sure if this is the way to go. Why not just apply css to html notices. And plain text is plain text?
Asking QA team for opinions.
Comment 78 Martin Renvoize (ashimema) 2023-09-11 12:46:57 UTC
I'm with Marcel.. the first question I asked myself is why aren't you just using the existing preference for this?

There's more preferences than I thought however.. NoticeCSS, SlipCSS and finally IntranetSlipPrinterJS.

Rather than adding a plethora of fields to the letters table and require setting these for each and every slip.. I think I'd get behind improvements to the existing preferences and shortcuts to the right preference from the Notices and Slips page. I'd love to see those preferences as CSS from the DB rather than having to point to a hosted sheet.. though that would be a change.

Personally.. I'd have 

* EmailNoticeCSS - CSS stored in the DB for email notice CSS
* EmailNoticeCSSHosted - Location of CSS file for email notice CSS (to retain the old NoticeCSS option)
* PrintNoticeCSS - CSS stored in the DB for print notice CSS
* PrintNoticeCSSHosted - Location of the CSS file for the print notice CSS (to reatin the old SlipCSS option)

SMS doesn't support HTML/CSS so no need for that transport type to have these CSS options.

What I'd really like to see more use of however, is the notice preview functionality.. we hardly expose that anywhere and that would really benefit here.
Comment 79 Nick Clemens (kidclamp) 2023-09-14 12:37:31 UTC
(In reply to Martin Renvoize from comment #78)
> I'm with Marcel.. the first question I asked myself is why aren't you just
> using the existing preference for this?
...
> Rather than adding a plethora of fields to the letters table and require
> setting these for each and every slip.. 

I actually like this - the ability to set a standard for all notices, or set individual notices as needed without dealing with a large block that affects all notices (and can break everything with typos) 



> I think I'd get behind improvements
> to the existing preferences and shortcuts to the right preference from the
> Notices and Slips page. I'd love to see those preferences as CSS from the DB
> rather than having to point to a hosted sheet.. though that would be a
> change.

I don't see this as opposed to that, it allows for easy setting of some styles with no CSS knowledge required, and allows for the preferences to be expanded or added to in the future for those with more expertise to use

> What I'd really like to see more use of however, is the notice preview
> functionality.. we hardly expose that anywhere and that would really benefit
> here.

Totally agree, but think this might be its own bug
Comment 80 AspenCat Team 2023-09-14 16:14:47 UTC
I totally see the logic in trying to find the absolute best way to do this.  However, we have prison libraries that are in need of this development sooner than later.  They can't email their patrons, because their patrons aren't allowed email access.  If we could get some of this suggested changes onto a different bug, I would be very interested in sponsoring that work to make it even better.  Is it possible we could get this bug moving in the meantime as long as everything works? - Bob Bennhoff
Comment 81 Aleisha Amohia 2023-09-14 20:31:56 UTC
Koha is all about flexibility and customisability. Being able to apply CSS per notice provides that to the libraries.

Martin's suggestions for sysprefs for Email and Print Notice CSS sound like lovely ideas - and can be developed separate to this feature, on another bug report.

I also agree I'd like to see more use of the Notice Preview functionality - let's work on that on another bug report.

There's allowed to be more than one way to do something in Koha. I don't think we should limit customisability, and I don't see the suggestions made as alternatives to this work.

Setting back to Signed Off.
Comment 82 Nick Clemens (kidclamp) 2023-09-25 18:06:23 UTC
Must fix:
Applying this patch adds a default left justified, 14pt, 8.5 inches style to all notices which overrides anything set in SlipCSS - this will break user slip customizations - the new formatting must not override SlipCSS - especially if it is adding new defaults. This patchset must not affect existing slips. Ideally there would be nothing saved in the DB by default

Should fix:
Formatting applies to most things, however, some from print.css take precedence - for a hold slip the <h5> doesn't respect the font size I entered - if I enter a font size, I expect the entire notice to respect it - or we need more granular settings here

Would fix:
As we are storing the form values and using it to generate CSS - we could calculate that on save, and only need a single 'style' field for the slip - this would allow for adding an advanced editor in the future to allow staff to directly enter styles here. Not a blocker per se, but would add less fields and allow future extension. Otherwise each style we want to provide will require a new field

Question:
For a non-html notice - the formatting is odd.
Set OVERDUES_SLIP / Print / HTML Message unchecked
Set OVERDUES_SLIP / Format /Text justification: Right, Notice width: 4
Generate the overdue as per test plan
Notice is narrow, cuttoff at edge, and not justified
Should the style and wrapping div should only be added for html notices? i.e. should the <pre> trags be outside of the div and style, or those dropped entirely when notice is not html?
Comment 83 Aleisha Amohia 2023-10-03 00:07:27 UTC Comment hidden (obsolete)
Comment 84 Aleisha Amohia 2023-10-19 01:31:18 UTC
Created attachment 157368 [details] [review]
Bug 33478: Add formatting columns to letter table

Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 85 Aleisha Amohia 2023-10-19 01:31:22 UTC
Created attachment 157369 [details] [review]
Bug 33478: Save notice format settings

Save format settings for an individual notice, or for all notices

To test:

1. Apply the patches, install database updates, update schema if needed, and restart services
2. Go to Tools -> Notices and slips
3. Edit any notice
4. Go to the Format tab
5. Confirm format settings are available to edit
6. Change some settings and confirm they save correctly
7. Test that 'apply these settings to all notices' option works. Test the confirmation box appears when this is checked.
8. Add a new notice and confirm format settings save successfully

Sponsored-by: Colorado Library Consortium
Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 86 Aleisha Amohia 2023-10-19 01:31:25 UTC
Created attachment 157370 [details] [review]
Bug 33478: Apply formatting to HOLD_SLIP

To test:

1. Place a hold on a record
2. Check in an item attached to the record
3. When the pop-up for the hold is triggered, confirm hold and print slip
4. Confirm your format settings for HOLD_SLIP are applied

Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 87 Aleisha Amohia 2023-10-19 01:31:28 UTC
Created attachment 157371 [details] [review]
Bug 33478: Apply formatting to AR_SLIP

To test:

1. Enable ArticleRequests system preference in Koha Administration -> Global system preferences
2. Log into the OPAC
3. Do a catalogue search
4. Click the 'Request article' button for a record
5. Fill in some information and submit
6. Go to the staff interface
7. Go to Circulation -> Article Requests
8. Click the Actions menu next to your article request and choose Print slip
9. Confirm your format settings for AR_SLIP are applied

Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 88 Aleisha Amohia 2023-10-19 01:31:32 UTC
Created attachment 157372 [details] [review]
Bug 33478: Apply formatting to TRANSFERSLIP

To test:

1. Search for an item that was last seen at a library different from your logged in library i.e the holding library is Fairview but your logged in library is Centerville
2. Use the barcode to check in the item
3. When the popup to 'please return this item to <home library>' is triggered, click the Print slip button
4. Confirm your format settings for TRANSFERSLIP are applied

Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 89 Aleisha Amohia 2023-10-19 01:31:35 UTC
Created attachment 157373 [details] [review]
Bug 33478: Apply formatting to OVERDUES_SLIP

To test:

1. Check out an item to a user. Set the due date to a time in the past so it is overdue
2. Click Print in the members toolbar, then Print overdues
3. Confirm your format settings for OVERDUES_SLIP are applied

Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 90 Aleisha Amohia 2023-10-19 01:31:39 UTC
Created attachment 157374 [details] [review]
Bug 33478: Apply formatting to ACCOUNT_DEBIT

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. You'll be redirected to the Transactions tab
4. Click the Print button next to your invoice
5. Confirm your format settings for ACCOUNT_DEBIT are applied

Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 91 Aleisha Amohia 2023-10-19 01:31:42 UTC
Created attachment 157375 [details] [review]
Bug 33478: Apply formatting to ACCOUNT_CREDIT

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. You'll be redirected to the Transactions tab
4. Click the Pay button next to your invoice and confirm Payment
5. Click the Print button next to your Payment
6. Confirm your format settings for ACCOUNT_CREDIT are applied

Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 92 Aleisha Amohia 2023-10-19 01:31:46 UTC
Created attachment 157376 [details] [review]
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP

To test:

1. Check out an item to a patron
2. Click Print in the members toolbar, then Print quick slip
3. Confirm your format settings for ISSUEQSLIP are applied

4. Click Print in the members toolbar, then Print slip
5. Confirm your format settings for ISSUESLIP are applied

6. Return the item
7. When the item is checked in, click the 'Print checkin slip' button
8. Confirm your format settings for CHECKINSLIP are applied

Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 93 Aleisha Amohia 2023-10-19 01:31:49 UTC
Created attachment 157377 [details] [review]
Bug 33478: Apply formatting to RECEIPT

To test:

1. Enable EnablePointOfSale and UseCashRegisters system preferences in Koha Administration -> Global system preferences
2. Go to Koha Administration -> Cash registers and add a new cash register
3. Go to Koha Administration -> Debit types and add a new debit type. Make sure you check the 'can be sold' option
4. Go to Point of sale
5. Select Add for your item under Items for purchase
6. Fill in Collect payment box and click Confirm
7. When payment is received, click Print receipt
8. Confirm your format settings for RECEIPT are applied

Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 94 Aleisha Amohia 2023-10-19 01:31:53 UTC
Created attachment 157378 [details] [review]
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. Click the Print button in the patron toolbar
4. Click the 'Print account balance' button
5. Confirm your format settings for ACCOUNTS_SUMMARY are applied

Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 95 Aleisha Amohia 2023-10-19 01:31:57 UTC
Created attachment 157379 [details] [review]
Bug 33478: Apply formatting to RECALL_REQUESTER_DET

To test:

1. Enable UseRecalls system preference and configure all relevant recalls circulation and fines rules
2. Search for a record with only one item
3. Check out this item to Patron A
4. Log into the OPAC as Patron B
5. Search for the item and place a recall
6. Go back to the staff interface
7. Check in the item
8. When the pop-up for the recall is triggered, confirm recall and print slip
9. Confirm your format settings for RECALL_REQUESTER_DET are applied

Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 96 Aleisha Amohia 2023-10-19 01:32:00 UTC
Created attachment 157380 [details] [review]
Bug 33478: Make sure formatting is applied to tables in notices

This fixes the formatting not showing on ACCOUNTS_SUMMARY and also applies changes to headings

Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 97 Aleisha Amohia 2023-10-19 01:32:04 UTC
Created attachment 157381 [details] [review]
Bug 33478: Schema updates
Comment 98 Aleisha Amohia 2023-10-19 01:32:08 UTC
Created attachment 157382 [details] [review]
Bug 33478: CCS textarea instead of specific style inputs

This patch implements a single style field for the slip to allow for more advanced CSS customisation. This prevents the forcing of default styles which override the SlipCSS syspref settings. There are links to insert selectors as helpers.

To test, go to edit the Format of a notice. There is now a textarea so you can write CSS directly. There are links that insert selectors as CSS for notices needs specific IDs like #receipt and #slip to override print.css etc.

Confirm that SlipCSS stylesheet changes are applied first. Specific notice styles should be applied last.

Test with a non-HTML notice as well, such as RECALL_REQUESTER_DET. Plain (non_HTML) notices have always come with <pre> tags around them so the text is formatted slightly differently but any CSS from SlipCSS or the notice Format should still hold.

Sponsored-by: Colorado Library Consortium
Comment 99 Aleisha Amohia 2023-10-19 04:15:49 UTC
Created attachment 157387 [details] [review]
Bug 33478: Better selector for body of notices

suggest #slip, #receipt, and pre instead of body for css
Comment 100 Aleisha Amohia 2023-11-12 21:39:20 UTC
Created attachment 158835 [details] [review]
Bug 33478: Add formatting columns to letter table

Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 101 Aleisha Amohia 2023-11-12 21:39:24 UTC
Created attachment 158836 [details] [review]
Bug 33478: Save notice format settings

Save format settings for an individual notice, or for all notices

To test:

1. Apply the patches, install database updates, update schema if needed, and restart services
2. Go to Tools -> Notices and slips
3. Edit any notice
4. Go to the Format tab
5. Confirm format settings are available to edit
6. Change some settings and confirm they save correctly
7. Test that 'apply these settings to all notices' option works. Test the confirmation box appears when this is checked.
8. Add a new notice and confirm format settings save successfully

Sponsored-by: Colorado Library Consortium
Signed-off-by: Sam Lau <samalau@gmail.com>
Comment 102 Aleisha Amohia 2023-11-12 21:39:28 UTC
Created attachment 158837 [details] [review]
Bug 33478: Schema updates
Comment 103 Aleisha Amohia 2023-11-12 21:39:31 UTC
Created attachment 158838 [details] [review]
Bug 33478: CCS textarea instead of specific style inputs

This patch implements a single style field for the slip to allow for more advanced CSS customisation. This prevents the forcing of default styles which override the SlipCSS syspref settings. There are links to insert selectors as helpers.

To test, go to edit the Format of a notice. There is now a textarea so you can write CSS directly. There are links that insert selectors as CSS for notices needs specific IDs like #receipt and #slip to override print.css etc.

Confirm that SlipCSS stylesheet changes are applied first. Specific notice styles should be applied last.

Test with a non-HTML notice as well, such as RECALL_REQUESTER_DET. Plain (non_HTML) notices have always come with <pre> tags around them so the text is formatted slightly differently but any CSS from SlipCSS or the notice Format should still hold.

Sponsored-by: Colorado Library Consortium
Comment 104 Aleisha Amohia 2023-11-12 21:39:35 UTC
Created attachment 158839 [details] [review]
Bug 33478: Better selector for body of notices

suggest #slip, #receipt, and pre instead of body for css
Comment 105 Aleisha Amohia 2023-11-12 21:39:38 UTC
Created attachment 158840 [details] [review]
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP

To test:

1. Check out an item to a patron
2. Click Print in the members toolbar, then Print quick slip
3. Confirm your format settings for ISSUEQSLIP are applied

4. Click Print in the members toolbar, then Print slip
5. Confirm your format settings for ISSUESLIP are applied

6. Return the item
7. When the item is checked in, click the 'Print checkin slip' button
8. Confirm your format settings for CHECKINSLIP are applied
Comment 106 Aleisha Amohia 2023-11-12 21:39:42 UTC
Created attachment 158841 [details] [review]
Bug 33478: Apply formatting to HOLD_SLIP

To test:

1. Place a hold on a record
2. Check in an item attached to the record
3. When the pop-up for the hold is triggered, confirm hold and print slip
4. Confirm your format settings for HOLD_SLIP are applied
Comment 107 Aleisha Amohia 2023-11-12 21:39:45 UTC
Created attachment 158842 [details] [review]
Bug 33478: Apply formatting to AR_SLIP

To test:

1. Enable ArticleRequests system preference in Koha Administration -> Global system preferences
2. Log into the OPAC
3. Do a catalogue search
4. Click the 'Request article' button for a record
5. Fill in some information and submit
6. Go to the staff interface
7. Go to Circulation -> Article Requests
8. Click the Actions menu next to your article request and choose Print slip
9. Confirm your format settings for AR_SLIP are applied
Comment 108 Aleisha Amohia 2023-11-12 21:39:49 UTC
Created attachment 158843 [details] [review]
Bug 33478: Apply formatting to TRANSFERSLIP

To test:

1. Search for an item that was last seen at a library different from your logged in library i.e the holding library is Fairview but your logged in library is Centerville
2. Use the barcode to check in the item
3. When the popup to 'please return this item to <home library>' is triggered, click the Print slip button
4. Confirm your format settings for TRANSFERSLIP are applied
Comment 109 Aleisha Amohia 2023-11-12 21:39:52 UTC
Created attachment 158844 [details] [review]
Bug 33478: Apply formatting to OVERDUES_SLIP

To test:

1. Check out an item to a user. Set the due date to a time in the past so it is overdue
2. Click Print in the members toolbar, then Print overdues
3. Confirm your format settings for OVERDUES_SLIP are applied
Comment 110 Aleisha Amohia 2023-11-12 21:39:55 UTC
Created attachment 158845 [details] [review]
Bug 33478: Apply formatting to ACCOUNT_DEBIT

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. You'll be redirected to the Transactions tab
4. Click the Print button next to your invoice
5. Confirm your format settings for ACCOUNT_DEBIT are applied
Comment 111 Aleisha Amohia 2023-11-12 21:39:59 UTC
Created attachment 158846 [details] [review]
Bug 33478: Apply formatting to ACCOUNT_CREDIT

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. You'll be redirected to the Transactions tab
4. Click the Pay button next to your invoice and confirm Payment
5. Click the Print button next to your Payment
6. Confirm your format settings for ACCOUNT_CREDIT are applied
Comment 112 Aleisha Amohia 2023-11-12 21:40:03 UTC
Created attachment 158847 [details] [review]
Bug 33478: Apply formatting to RECEIPT

To test:

1. Enable EnablePointOfSale and UseCashRegisters system preferences in Koha Administration -> Global system preferences
2. Go to Koha Administration -> Cash registers and add a new cash register
3. Go to Koha Administration -> Debit types and add a new debit type. Make sure you check the 'can be sold' option
4. Go to Point of sale
5. Select Add for your item under Items for purchase
6. Fill in Collect payment box and click Confirm
7. When payment is received, click Print receipt
8. Confirm your format settings for RECEIPT are applied
Comment 113 Aleisha Amohia 2023-11-12 21:40:07 UTC
Created attachment 158848 [details] [review]
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. Click the Print button in the patron toolbar
4. Click the 'Print account balance' button
5. Confirm your format settings for ACCOUNTS_SUMMARY are applied
Comment 114 Aleisha Amohia 2023-11-12 21:40:11 UTC
Created attachment 158849 [details] [review]
Bug 33478: Apply formatting to RECALL_REQUESTER_DET

To test:

1. Enable UseRecalls system preference and configure all relevant recalls circulation and fines rules
2. Search for a record with only one item
3. Check out this item to Patron A
4. Log into the OPAC as Patron B
5. Search for the item and place a recall
6. Go back to the staff interface
7. Check in the item
8. When the pop-up for the recall is triggered, confirm recall and print slip
9. Confirm your format settings for RECALL_REQUESTER_DET are applied
Comment 115 Aleisha Amohia 2023-11-12 21:44:02 UTC
I have reworked this feature to apply on top of the new Preservation Module, which changed the markup for how most notices are sent.

Please test that any formatting applies to all notices again, thank you!
Comment 116 Aleisha Amohia 2023-11-12 23:18:19 UTC
Created attachment 158856 [details] [review]
Bug 33478: Apply formatting to AR_SLIP

To test:

1. Enable ArticleRequests system preference in Koha Administration -> Global system preferences
2. Log into the OPAC
3. Do a catalogue search
4. Click the 'Request article' button for a record
5. Fill in some information and submit
6. Go to the staff interface
7. Go to Circulation -> Article Requests
8. Click the Actions menu next to your article request and choose Print slip
9. Confirm your format settings for AR_SLIP are applied
Comment 117 Nick Clemens (kidclamp) 2024-01-09 13:59:43 UTC
Must fix:
This is looking nice, it works in basic setups, however, there is an issue if 'TranslateNotices' is enabled, the form value is not passed correctly for multiple languages. So on save sometimes the values are lost.
The 'Apply format settings to all notices:' also seems to reflect separate languages in the code - it should be made to work with multiple languages and the title updated.

The patches should also be rebased/squashed to reflect the current state (and drop the addition of multiple fields)

Please also see bug 33260 comment 39 and move that patch here.

Note:
The 'style' field is saved for each MTT of the letter - though only used in the print version. I think this is more an architecture issue, some slips are printed from the 'email' template, some are from 'print' I am not blocking here, but we should file a bug for this as it will be confusing and is some duplication in the DB
Comment 118 Aleisha Amohia 2024-02-29 01:33:02 UTC
Created attachment 162556 [details] [review]
Bug 33478: Save notice format settings

Save format settings for an individual notice, or for all notices
This patch implements a single style field for a slip to allow for advanced CSS customisation of printed notices. There are links to insert selectors as helpers. Styles can be applied for an individual notice, or all notices.

To test:

1. Apply the patches, install database updates, update schema if needed, and restart services
2. Go to Tools -> Notices and slips
3. Edit any notice
4. Go to the Format tab
5. Confirm there is a textarea for CSS, and links to insert helpful selectors for IDs like #receipt and #slip
6. Add some CSS and confirm it saves.
7. Test that 'apply these settings to all notices' option works. Test the confirmation box appears when this is checked.
8. Add a new notice and confirm CSS settings save successfully
9. The subsequent patches have specific testing plans for each printable notice. For each, confirm that SlipCSS stylesheet changes are applied first. Specific notice styles should be applied last.
10. Test with a non-HTML notice as well, such as RECALL_REQUESTER_DET. Plain (non_HTML) notices have always come with <pre> tags around them so the text is formatted slightly differently but any CSS from SlipCSS or the notice Format should still hold.

Sponsored-by: Colorado Library Consortium
Comment 119 Aleisha Amohia 2024-02-29 01:33:07 UTC
Created attachment 162557 [details] [review]
Bug 33478: Schema updates
Comment 120 Aleisha Amohia 2024-02-29 01:33:12 UTC
Created attachment 162558 [details] [review]
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP

To test:

1. Check out an item to a patron
2. Click Print in the members toolbar, then Print quick slip
3. Confirm your format settings for ISSUEQSLIP are applied

4. Click Print in the members toolbar, then Print slip
5. Confirm your format settings for ISSUESLIP are applied

6. Return the item
7. When the item is checked in, click the 'Print checkin slip' button
8. Confirm your format settings for CHECKINSLIP are applied
Comment 121 Aleisha Amohia 2024-02-29 01:33:16 UTC
Created attachment 162559 [details] [review]
Bug 33478: Apply formatting to HOLD_SLIP

To test:

1. Place a hold on a record
2. Check in an item attached to the record
3. When the pop-up for the hold is triggered, confirm hold and print slip
4. Confirm your format settings for HOLD_SLIP are applied
Comment 122 Aleisha Amohia 2024-02-29 01:33:20 UTC
Created attachment 162560 [details] [review]
Bug 33478: Apply formatting to TRANSFERSLIP

To test:

1. Search for an item that was last seen at a library different from your logged in library i.e the holding library is Fairview but your logged in library is Centerville
2. Use the barcode to check in the item
3. When the popup to 'please return this item to <home library>' is triggered, click the Print slip button
4. Confirm your format settings for TRANSFERSLIP are applied
Comment 123 Aleisha Amohia 2024-02-29 01:33:24 UTC
Created attachment 162561 [details] [review]
Bug 33478: Apply formatting to OVERDUES_SLIP

To test:

1. Check out an item to a user. Set the due date to a time in the past so it is overdue
2. Click Print in the members toolbar, then Print overdues
3. Confirm your format settings for OVERDUES_SLIP are applied
Comment 124 Aleisha Amohia 2024-02-29 01:33:28 UTC
Created attachment 162562 [details] [review]
Bug 33478: Apply formatting to ACCOUNT_DEBIT

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. You'll be redirected to the Transactions tab
4. Click the Print button next to your invoice
5. Confirm your format settings for ACCOUNT_DEBIT are applied
Comment 125 Aleisha Amohia 2024-02-29 01:33:32 UTC
Created attachment 162563 [details] [review]
Bug 33478: Apply formatting to ACCOUNT_CREDIT

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. You'll be redirected to the Transactions tab
4. Click the Pay button next to your invoice and confirm Payment
5. Click the Print button next to your Payment
6. Confirm your format settings for ACCOUNT_CREDIT are applied
Comment 126 Aleisha Amohia 2024-02-29 01:33:36 UTC
Created attachment 162564 [details] [review]
Bug 33478: Apply formatting to RECEIPT

To test:

1. Enable EnablePointOfSale and UseCashRegisters system preferences in Koha Administration -> Global system preferences
2. Go to Koha Administration -> Cash registers and add a new cash register
3. Go to Koha Administration -> Debit types and add a new debit type. Make sure you check the 'can be sold' option
4. Go to Point of sale
5. Select Add for your item under Items for purchase
6. Fill in Collect payment box and click Confirm
7. When payment is received, click Print receipt
8. Confirm your format settings for RECEIPT are applied
Comment 127 Aleisha Amohia 2024-02-29 01:33:40 UTC
Created attachment 162565 [details] [review]
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. Click the Print button in the patron toolbar
4. Click the 'Print account balance' button
5. Confirm your format settings for ACCOUNTS_SUMMARY are applied
Comment 128 Aleisha Amohia 2024-02-29 01:33:44 UTC
Created attachment 162566 [details] [review]
Bug 33478: Apply formatting to RECALL_REQUESTER_DET

To test:

1. Enable UseRecalls system preference and configure all relevant recalls circulation and fines rules
2. Search for a record with only one item
3. Check out this item to Patron A
4. Log into the OPAC as Patron B
5. Search for the item and place a recall
6. Go back to the staff interface
7. Check in the item
8. When the pop-up for the recall is triggered, confirm recall and print slip
9. Confirm your format settings for RECALL_REQUESTER_DET are applied
Comment 129 Aleisha Amohia 2024-02-29 01:33:48 UTC
Created attachment 162567 [details] [review]
Bug 33478: Apply formatting to AR_SLIP

To test:

1. Enable ArticleRequests system preference in Koha Administration -> Global system preferences
2. Log into the OPAC
3. Do a catalogue search
4. Click the 'Request article' button for a record
5. Fill in some information and submit
6. Go to the staff interface
7. Go to Circulation -> Article Requests
8. Click the Actions menu next to your article request and choose Print slip
9. Confirm your format settings for AR_SLIP are applied
Comment 130 Aleisha Amohia 2024-02-29 01:33:52 UTC
Created attachment 162568 [details] [review]
Bug 33478: Make styles apply per notice
Comment 131 Aleisha Amohia 2024-02-29 01:33:55 UTC
Created attachment 162569 [details] [review]
Bug 33478: Consider TranslateNotices when saving notice styles

This patch ensures saving styles per notice still works as expected when the TranslateNotices system preference is enabled.

To test, enable the TranslateNotices system preference and attempt to save different CSS for each installed language for one notice. Confirm the correct CSS is saved for the correct language.

Confirm the CSS selector helpers are inserted into the textarea as expected.

Confirm the 'Apply format settings to all notices for this language' setting works, as in CSS is saved for all relevant language notices.
Comment 132 Lucas Gass (lukeg) 2024-03-01 17:20:37 UTC
Looks like a very small rebase is needed after Bug 34478 was pushed.
Comment 133 Nick Clemens (kidclamp) 2024-03-26 12:28:47 UTC
Created attachment 163903 [details] [review]
Bug 33478: Save notice format settings

Save format settings for an individual notice, or for all notices
This patch implements a single style field for a slip to allow for advanced CSS customisation of printed notices. There are links to insert selectors as helpers. Styles can be applied for an individual notice, or all notices.

To test:

1. Apply the patches, install database updates, update schema if needed, and restart services
2. Go to Tools -> Notices and slips
3. Edit any notice
4. Go to the Format tab
5. Confirm there is a textarea for CSS, and links to insert helpful selectors for IDs like #receipt and #slip
6. Add some CSS and confirm it saves.
7. Test that 'apply these settings to all notices' option works. Test the confirmation box appears when this is checked.
8. Add a new notice and confirm CSS settings save successfully
9. The subsequent patches have specific testing plans for each printable notice. For each, confirm that SlipCSS stylesheet changes are applied first. Specific notice styles should be applied last.
10. Test with a non-HTML notice as well, such as RECALL_REQUESTER_DET. Plain (non_HTML) notices have always come with <pre> tags around them so the text is formatted slightly differently but any CSS from SlipCSS or the notice Format should still hold.

Sponsored-by: Colorado Library Consortium
Comment 134 Nick Clemens (kidclamp) 2024-03-26 12:28:50 UTC
Created attachment 163904 [details] [review]
Bug 33478: Schema updates
Comment 135 Nick Clemens (kidclamp) 2024-03-26 12:28:53 UTC
Created attachment 163905 [details] [review]
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP

To test:

1. Check out an item to a patron
2. Click Print in the members toolbar, then Print quick slip
3. Confirm your format settings for ISSUEQSLIP are applied

4. Click Print in the members toolbar, then Print slip
5. Confirm your format settings for ISSUESLIP are applied

6. Return the item
7. When the item is checked in, click the 'Print checkin slip' button
8. Confirm your format settings for CHECKINSLIP are applied
Comment 136 Nick Clemens (kidclamp) 2024-03-26 12:28:56 UTC
Created attachment 163906 [details] [review]
Bug 33478: Apply formatting to HOLD_SLIP

To test:

1. Place a hold on a record
2. Check in an item attached to the record
3. When the pop-up for the hold is triggered, confirm hold and print slip
4. Confirm your format settings for HOLD_SLIP are applied
Comment 137 Nick Clemens (kidclamp) 2024-03-26 12:28:59 UTC
Created attachment 163907 [details] [review]
Bug 33478: Apply formatting to TRANSFERSLIP

To test:

1. Search for an item that was last seen at a library different from your logged in library i.e the holding library is Fairview but your logged in library is Centerville
2. Use the barcode to check in the item
3. When the popup to 'please return this item to <home library>' is triggered, click the Print slip button
4. Confirm your format settings for TRANSFERSLIP are applied
Comment 138 Nick Clemens (kidclamp) 2024-03-26 12:29:02 UTC
Created attachment 163908 [details] [review]
Bug 33478: Apply formatting to OVERDUES_SLIP

To test:

1. Check out an item to a user. Set the due date to a time in the past so it is overdue
2. Click Print in the members toolbar, then Print overdues
3. Confirm your format settings for OVERDUES_SLIP are applied
Comment 139 Nick Clemens (kidclamp) 2024-03-26 12:29:05 UTC
Created attachment 163909 [details] [review]
Bug 33478: Apply formatting to ACCOUNT_DEBIT

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. You'll be redirected to the Transactions tab
4. Click the Print button next to your invoice
5. Confirm your format settings for ACCOUNT_DEBIT are applied
Comment 140 Nick Clemens (kidclamp) 2024-03-26 12:29:08 UTC
Created attachment 163910 [details] [review]
Bug 33478: Apply formatting to ACCOUNT_CREDIT

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. You'll be redirected to the Transactions tab
4. Click the Pay button next to your invoice and confirm Payment
5. Click the Print button next to your Payment
6. Confirm your format settings for ACCOUNT_CREDIT are applied
Comment 141 Nick Clemens (kidclamp) 2024-03-26 12:29:11 UTC
Created attachment 163911 [details] [review]
Bug 33478: Apply formatting to RECEIPT

To test:

1. Enable EnablePointOfSale and UseCashRegisters system preferences in Koha Administration -> Global system preferences
2. Go to Koha Administration -> Cash registers and add a new cash register
3. Go to Koha Administration -> Debit types and add a new debit type. Make sure you check the 'can be sold' option
4. Go to Point of sale
5. Select Add for your item under Items for purchase
6. Fill in Collect payment box and click Confirm
7. When payment is received, click Print receipt
8. Confirm your format settings for RECEIPT are applied
Comment 142 Nick Clemens (kidclamp) 2024-03-26 12:29:14 UTC
Created attachment 163912 [details] [review]
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. Click the Print button in the patron toolbar
4. Click the 'Print account balance' button
5. Confirm your format settings for ACCOUNTS_SUMMARY are applied
Comment 143 Nick Clemens (kidclamp) 2024-03-26 12:29:17 UTC
Created attachment 163913 [details] [review]
Bug 33478: Apply formatting to RECALL_REQUESTER_DET

To test:

1. Enable UseRecalls system preference and configure all relevant recalls circulation and fines rules
2. Search for a record with only one item
3. Check out this item to Patron A
4. Log into the OPAC as Patron B
5. Search for the item and place a recall
6. Go back to the staff interface
7. Check in the item
8. When the pop-up for the recall is triggered, confirm recall and print slip
9. Confirm your format settings for RECALL_REQUESTER_DET are applied
Comment 144 Nick Clemens (kidclamp) 2024-03-26 12:29:20 UTC
Created attachment 163914 [details] [review]
Bug 33478: Apply formatting to AR_SLIP

To test:

1. Enable ArticleRequests system preference in Koha Administration -> Global system preferences
2. Log into the OPAC
3. Do a catalogue search
4. Click the 'Request article' button for a record
5. Fill in some information and submit
6. Go to the staff interface
7. Go to Circulation -> Article Requests
8. Click the Actions menu next to your article request and choose Print slip
9. Confirm your format settings for AR_SLIP are applied
Comment 145 Nick Clemens (kidclamp) 2024-03-26 12:29:23 UTC
Created attachment 163915 [details] [review]
Bug 33478: Make styles apply per notice
Comment 146 Nick Clemens (kidclamp) 2024-03-26 12:29:26 UTC
Created attachment 163916 [details] [review]
Bug 33478: Consider TranslateNotices when saving notice styles

This patch ensures saving styles per notice still works as expected when the TranslateNotices system preference is enabled.

To test, enable the TranslateNotices system preference and attempt to save different CSS for each installed language for one notice. Confirm the correct CSS is saved for the correct language.

Confirm the CSS selector helpers are inserted into the textarea as expected.

Confirm the 'Apply format settings to all notices for this language' setting works, as in CSS is saved for all relevant language notices.
Comment 147 Lucas Gass (lukeg) 2024-03-26 14:35:45 UTC
Created attachment 163924 [details] [review]
Bug 33478: Save notice format settings

Save format settings for an individual notice, or for all notices
This patch implements a single style field for a slip to allow for advanced CSS customisation of printed notices. There are links to insert selectors as helpers. Styles can be applied for an individual notice, or all notices.

To test:

1. Apply the patches, install database updates, update schema if needed, and restart services
2. Go to Tools -> Notices and slips
3. Edit any notice
4. Go to the Format tab
5. Confirm there is a textarea for CSS, and links to insert helpful selectors for IDs like #receipt and #slip
6. Add some CSS and confirm it saves.
7. Test that 'apply these settings to all notices' option works. Test the confirmation box appears when this is checked.
8. Add a new notice and confirm CSS settings save successfully
9. The subsequent patches have specific testing plans for each printable notice. For each, confirm that SlipCSS stylesheet changes are applied first. Specific notice styles should be applied last.
10. Test with a non-HTML notice as well, such as RECALL_REQUESTER_DET. Plain (non_HTML) notices have always come with <pre> tags around them so the text is formatted slightly differently but any CSS from SlipCSS or the notice Format should still hold.

Sponsored-by: Colorado Library Consortium
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 148 Lucas Gass (lukeg) 2024-03-26 14:35:48 UTC
Created attachment 163925 [details] [review]
Bug 33478: Schema updates

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 149 Lucas Gass (lukeg) 2024-03-26 14:35:51 UTC
Created attachment 163926 [details] [review]
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP

To test:

1. Check out an item to a patron
2. Click Print in the members toolbar, then Print quick slip
3. Confirm your format settings for ISSUEQSLIP are applied

4. Click Print in the members toolbar, then Print slip
5. Confirm your format settings for ISSUESLIP are applied

6. Return the item
7. When the item is checked in, click the 'Print checkin slip' button
8. Confirm your format settings for CHECKINSLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 150 Lucas Gass (lukeg) 2024-03-26 14:35:54 UTC
Created attachment 163927 [details] [review]
Bug 33478: Apply formatting to HOLD_SLIP

To test:

1. Place a hold on a record
2. Check in an item attached to the record
3. When the pop-up for the hold is triggered, confirm hold and print slip
4. Confirm your format settings for HOLD_SLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 151 Lucas Gass (lukeg) 2024-03-26 14:35:57 UTC
Created attachment 163928 [details] [review]
Bug 33478: Apply formatting to TRANSFERSLIP

To test:

1. Search for an item that was last seen at a library different from your logged in library i.e the holding library is Fairview but your logged in library is Centerville
2. Use the barcode to check in the item
3. When the popup to 'please return this item to <home library>' is triggered, click the Print slip button
4. Confirm your format settings for TRANSFERSLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 152 Lucas Gass (lukeg) 2024-03-26 14:36:00 UTC
Created attachment 163929 [details] [review]
Bug 33478: Apply formatting to OVERDUES_SLIP

To test:

1. Check out an item to a user. Set the due date to a time in the past so it is overdue
2. Click Print in the members toolbar, then Print overdues
3. Confirm your format settings for OVERDUES_SLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 153 Lucas Gass (lukeg) 2024-03-26 14:36:03 UTC
Created attachment 163930 [details] [review]
Bug 33478: Apply formatting to ACCOUNT_DEBIT

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. You'll be redirected to the Transactions tab
4. Click the Print button next to your invoice
5. Confirm your format settings for ACCOUNT_DEBIT are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 154 Lucas Gass (lukeg) 2024-03-26 14:36:06 UTC
Created attachment 163931 [details] [review]
Bug 33478: Apply formatting to ACCOUNT_CREDIT

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. You'll be redirected to the Transactions tab
4. Click the Pay button next to your invoice and confirm Payment
5. Click the Print button next to your Payment
6. Confirm your format settings for ACCOUNT_CREDIT are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 155 Lucas Gass (lukeg) 2024-03-26 14:36:09 UTC
Created attachment 163932 [details] [review]
Bug 33478: Apply formatting to RECEIPT

To test:

1. Enable EnablePointOfSale and UseCashRegisters system preferences in Koha Administration -> Global system preferences
2. Go to Koha Administration -> Cash registers and add a new cash register
3. Go to Koha Administration -> Debit types and add a new debit type. Make sure you check the 'can be sold' option
4. Go to Point of sale
5. Select Add for your item under Items for purchase
6. Fill in Collect payment box and click Confirm
7. When payment is received, click Print receipt
8. Confirm your format settings for RECEIPT are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 156 Lucas Gass (lukeg) 2024-03-26 14:36:13 UTC
Created attachment 163933 [details] [review]
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. Click the Print button in the patron toolbar
4. Click the 'Print account balance' button
5. Confirm your format settings for ACCOUNTS_SUMMARY are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 157 Lucas Gass (lukeg) 2024-03-26 14:36:16 UTC
Created attachment 163934 [details] [review]
Bug 33478: Apply formatting to RECALL_REQUESTER_DET

To test:

1. Enable UseRecalls system preference and configure all relevant recalls circulation and fines rules
2. Search for a record with only one item
3. Check out this item to Patron A
4. Log into the OPAC as Patron B
5. Search for the item and place a recall
6. Go back to the staff interface
7. Check in the item
8. When the pop-up for the recall is triggered, confirm recall and print slip
9. Confirm your format settings for RECALL_REQUESTER_DET are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 158 Lucas Gass (lukeg) 2024-03-26 14:36:19 UTC
Created attachment 163935 [details] [review]
Bug 33478: Apply formatting to AR_SLIP

To test:

1. Enable ArticleRequests system preference in Koha Administration -> Global system preferences
2. Log into the OPAC
3. Do a catalogue search
4. Click the 'Request article' button for a record
5. Fill in some information and submit
6. Go to the staff interface
7. Go to Circulation -> Article Requests
8. Click the Actions menu next to your article request and choose Print slip
9. Confirm your format settings for AR_SLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 159 Lucas Gass (lukeg) 2024-03-26 14:36:22 UTC
Created attachment 163936 [details] [review]
Bug 33478: Make styles apply per notice

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 160 Lucas Gass (lukeg) 2024-03-26 14:36:25 UTC
Created attachment 163937 [details] [review]
Bug 33478: Consider TranslateNotices when saving notice styles

This patch ensures saving styles per notice still works as expected when the TranslateNotices system preference is enabled.

To test, enable the TranslateNotices system preference and attempt to save different CSS for each installed language for one notice. Confirm the correct CSS is saved for the correct language.

Confirm the CSS selector helpers are inserted into the textarea as expected.

Confirm the 'Apply format settings to all notices for this language' setting works, as in CSS is saved for all relevant language notices.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 161 Lucas Gass (lukeg) 2024-03-26 14:36:28 UTC
Created attachment 163938 [details] [review]
Bug 33478: (follow-up) Correct file permission

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 162 Nick Clemens (kidclamp) 2024-04-11 14:09:33 UTC
Created attachment 164719 [details] [review]
Bug 33478: Save notice format settings

Save format settings for an individual notice, or for all notices
This patch implements a single style field for a slip to allow for advanced CSS customisation of printed notices. There are links to insert selectors as helpers. Styles can be applied for an individual notice, or all notices.

To test:

1. Apply the patches, install database updates, update schema if needed, and restart services
2. Go to Tools -> Notices and slips
3. Edit any notice
4. Go to the Format tab
5. Confirm there is a textarea for CSS, and links to insert helpful selectors for IDs like #receipt and #slip
6. Add some CSS and confirm it saves.
7. Test that 'apply these settings to all notices' option works. Test the confirmation box appears when this is checked.
8. Add a new notice and confirm CSS settings save successfully
9. The subsequent patches have specific testing plans for each printable notice. For each, confirm that SlipCSS stylesheet changes are applied first. Specific notice styles should be applied last.
10. Test with a non-HTML notice as well, such as RECALL_REQUESTER_DET. Plain (non_HTML) notices have always come with <pre> tags around them so the text is formatted slightly differently but any CSS from SlipCSS or the notice Format should still hold.

Sponsored-by: Colorado Library Consortium
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 163 Nick Clemens (kidclamp) 2024-04-11 14:09:37 UTC
Created attachment 164720 [details] [review]
Bug 33478: Schema updates

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 164 Nick Clemens (kidclamp) 2024-04-11 14:09:41 UTC
Created attachment 164721 [details] [review]
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP

To test:

1. Check out an item to a patron
2. Click Print in the members toolbar, then Print quick slip
3. Confirm your format settings for ISSUEQSLIP are applied

4. Click Print in the members toolbar, then Print slip
5. Confirm your format settings for ISSUESLIP are applied

6. Return the item
7. When the item is checked in, click the 'Print checkin slip' button
8. Confirm your format settings for CHECKINSLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 165 Nick Clemens (kidclamp) 2024-04-11 14:09:45 UTC
Created attachment 164722 [details] [review]
Bug 33478: Apply formatting to HOLD_SLIP

To test:

1. Place a hold on a record
2. Check in an item attached to the record
3. When the pop-up for the hold is triggered, confirm hold and print slip
4. Confirm your format settings for HOLD_SLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 166 Nick Clemens (kidclamp) 2024-04-11 14:09:49 UTC
Created attachment 164723 [details] [review]
Bug 33478: Apply formatting to TRANSFERSLIP

To test:

1. Search for an item that was last seen at a library different from your logged in library i.e the holding library is Fairview but your logged in library is Centerville
2. Use the barcode to check in the item
3. When the popup to 'please return this item to <home library>' is triggered, click the Print slip button
4. Confirm your format settings for TRANSFERSLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 167 Nick Clemens (kidclamp) 2024-04-11 14:09:53 UTC
Created attachment 164724 [details] [review]
Bug 33478: Apply formatting to OVERDUES_SLIP

To test:

1. Check out an item to a user. Set the due date to a time in the past so it is overdue
2. Click Print in the members toolbar, then Print overdues
3. Confirm your format settings for OVERDUES_SLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 168 Nick Clemens (kidclamp) 2024-04-11 14:09:57 UTC
Created attachment 164725 [details] [review]
Bug 33478: Apply formatting to ACCOUNT_DEBIT

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. You'll be redirected to the Transactions tab
4. Click the Print button next to your invoice
5. Confirm your format settings for ACCOUNT_DEBIT are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 169 Nick Clemens (kidclamp) 2024-04-11 14:10:01 UTC
Created attachment 164726 [details] [review]
Bug 33478: Apply formatting to ACCOUNT_CREDIT

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. You'll be redirected to the Transactions tab
4. Click the Pay button next to your invoice and confirm Payment
5. Click the Print button next to your Payment
6. Confirm your format settings for ACCOUNT_CREDIT are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 170 Nick Clemens (kidclamp) 2024-04-11 14:10:05 UTC
Created attachment 164727 [details] [review]
Bug 33478: Apply formatting to RECEIPT

To test:

1. Enable EnablePointOfSale and UseCashRegisters system preferences in Koha Administration -> Global system preferences
2. Go to Koha Administration -> Cash registers and add a new cash register
3. Go to Koha Administration -> Debit types and add a new debit type. Make sure you check the 'can be sold' option
4. Go to Point of sale
5. Select Add for your item under Items for purchase
6. Fill in Collect payment box and click Confirm
7. When payment is received, click Print receipt
8. Confirm your format settings for RECEIPT are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 171 Nick Clemens (kidclamp) 2024-04-11 14:10:09 UTC
Created attachment 164728 [details] [review]
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. Click the Print button in the patron toolbar
4. Click the 'Print account balance' button
5. Confirm your format settings for ACCOUNTS_SUMMARY are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 172 Nick Clemens (kidclamp) 2024-04-11 14:10:13 UTC
Created attachment 164729 [details] [review]
Bug 33478: Apply formatting to RECALL_REQUESTER_DET

To test:

1. Enable UseRecalls system preference and configure all relevant recalls circulation and fines rules
2. Search for a record with only one item
3. Check out this item to Patron A
4. Log into the OPAC as Patron B
5. Search for the item and place a recall
6. Go back to the staff interface
7. Check in the item
8. When the pop-up for the recall is triggered, confirm recall and print slip
9. Confirm your format settings for RECALL_REQUESTER_DET are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 173 Nick Clemens (kidclamp) 2024-04-11 14:10:16 UTC
Created attachment 164730 [details] [review]
Bug 33478: Apply formatting to AR_SLIP

To test:

1. Enable ArticleRequests system preference in Koha Administration -> Global system preferences
2. Log into the OPAC
3. Do a catalogue search
4. Click the 'Request article' button for a record
5. Fill in some information and submit
6. Go to the staff interface
7. Go to Circulation -> Article Requests
8. Click the Actions menu next to your article request and choose Print slip
9. Confirm your format settings for AR_SLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 174 Nick Clemens (kidclamp) 2024-04-11 14:10:20 UTC
Created attachment 164731 [details] [review]
Bug 33478: Make styles apply per notice

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 175 Nick Clemens (kidclamp) 2024-04-11 14:10:24 UTC
Created attachment 164732 [details] [review]
Bug 33478: Consider TranslateNotices when saving notice styles

This patch ensures saving styles per notice still works as expected when the TranslateNotices system preference is enabled.

To test, enable the TranslateNotices system preference and attempt to save different CSS for each installed language for one notice. Confirm the correct CSS is saved for the correct language.

Confirm the CSS selector helpers are inserted into the textarea as expected.

Confirm the 'Apply format settings to all notices for this language' setting works, as in CSS is saved for all relevant language notices.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 176 Nick Clemens (kidclamp) 2024-04-11 14:10:28 UTC
Created attachment 164733 [details] [review]
Bug 33478: (follow-up) Correct file permission

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 177 Martin Renvoize (ashimema) 2024-04-11 14:28:45 UTC
Created attachment 164741 [details] [review]
Bug 33478: Save notice format settings

Save format settings for an individual notice, or for all notices
This patch implements a single style field for a slip to allow for advanced CSS customisation of printed notices. There are links to insert selectors as helpers. Styles can be applied for an individual notice, or all notices.

To test:

1. Apply the patches, install database updates, update schema if needed, and restart services
2. Go to Tools -> Notices and slips
3. Edit any notice
4. Go to the Format tab
5. Confirm there is a textarea for CSS, and links to insert helpful selectors for IDs like #receipt and #slip
6. Add some CSS and confirm it saves.
7. Test that 'apply these settings to all notices' option works. Test the confirmation box appears when this is checked.
8. Add a new notice and confirm CSS settings save successfully
9. The subsequent patches have specific testing plans for each printable notice. For each, confirm that SlipCSS stylesheet changes are applied first. Specific notice styles should be applied last.
10. Test with a non-HTML notice as well, such as RECALL_REQUESTER_DET. Plain (non_HTML) notices have always come with <pre> tags around them so the text is formatted slightly differently but any CSS from SlipCSS or the notice Format should still hold.

Sponsored-by: Colorado Library Consortium
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 178 Martin Renvoize (ashimema) 2024-04-11 14:28:51 UTC
Created attachment 164742 [details] [review]
Bug 33478: Schema updates

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 179 Martin Renvoize (ashimema) 2024-04-11 14:28:57 UTC
Created attachment 164743 [details] [review]
Bug 33478: Apply formatting to ISSUESLIP, ISSUEQSLIP, CHECKINSLIP

To test:

1. Check out an item to a patron
2. Click Print in the members toolbar, then Print quick slip
3. Confirm your format settings for ISSUEQSLIP are applied

4. Click Print in the members toolbar, then Print slip
5. Confirm your format settings for ISSUESLIP are applied

6. Return the item
7. When the item is checked in, click the 'Print checkin slip' button
8. Confirm your format settings for CHECKINSLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 180 Martin Renvoize (ashimema) 2024-04-11 14:29:01 UTC
Created attachment 164744 [details] [review]
Bug 33478: Apply formatting to HOLD_SLIP

To test:

1. Place a hold on a record
2. Check in an item attached to the record
3. When the pop-up for the hold is triggered, confirm hold and print slip
4. Confirm your format settings for HOLD_SLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 181 Martin Renvoize (ashimema) 2024-04-11 14:29:05 UTC
Created attachment 164745 [details] [review]
Bug 33478: Apply formatting to TRANSFERSLIP

To test:

1. Search for an item that was last seen at a library different from your logged in library i.e the holding library is Fairview but your logged in library is Centerville
2. Use the barcode to check in the item
3. When the popup to 'please return this item to <home library>' is triggered, click the Print slip button
4. Confirm your format settings for TRANSFERSLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 182 Martin Renvoize (ashimema) 2024-04-11 14:29:10 UTC
Created attachment 164746 [details] [review]
Bug 33478: Apply formatting to OVERDUES_SLIP

To test:

1. Check out an item to a user. Set the due date to a time in the past so it is overdue
2. Click Print in the members toolbar, then Print overdues
3. Confirm your format settings for OVERDUES_SLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 183 Martin Renvoize (ashimema) 2024-04-11 14:29:14 UTC
Created attachment 164747 [details] [review]
Bug 33478: Apply formatting to ACCOUNT_DEBIT

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. You'll be redirected to the Transactions tab
4. Click the Print button next to your invoice
5. Confirm your format settings for ACCOUNT_DEBIT are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 184 Martin Renvoize (ashimema) 2024-04-11 14:29:21 UTC
Created attachment 164748 [details] [review]
Bug 33478: Apply formatting to ACCOUNT_CREDIT

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. You'll be redirected to the Transactions tab
4. Click the Pay button next to your invoice and confirm Payment
5. Click the Print button next to your Payment
6. Confirm your format settings for ACCOUNT_CREDIT are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 185 Martin Renvoize (ashimema) 2024-04-11 14:29:28 UTC
Created attachment 164749 [details] [review]
Bug 33478: Apply formatting to RECEIPT

To test:

1. Enable EnablePointOfSale and UseCashRegisters system preferences in Koha Administration -> Global system preferences
2. Go to Koha Administration -> Cash registers and add a new cash register
3. Go to Koha Administration -> Debit types and add a new debit type. Make sure you check the 'can be sold' option
4. Go to Point of sale
5. Select Add for your item under Items for purchase
6. Fill in Collect payment box and click Confirm
7. When payment is received, click Print receipt
8. Confirm your format settings for RECEIPT are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 186 Martin Renvoize (ashimema) 2024-04-11 14:29:41 UTC
Created attachment 164750 [details] [review]
Bug 33478: Apply formatting to ACCOUNTS_SUMMARY

To test:

1. Go to a patron accounting page
2. Create a manual invoice and Save
3. Click the Print button in the patron toolbar
4. Click the 'Print account balance' button
5. Confirm your format settings for ACCOUNTS_SUMMARY are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 187 Martin Renvoize (ashimema) 2024-04-11 14:29:52 UTC
Created attachment 164751 [details] [review]
Bug 33478: Apply formatting to RECALL_REQUESTER_DET

To test:

1. Enable UseRecalls system preference and configure all relevant recalls circulation and fines rules
2. Search for a record with only one item
3. Check out this item to Patron A
4. Log into the OPAC as Patron B
5. Search for the item and place a recall
6. Go back to the staff interface
7. Check in the item
8. When the pop-up for the recall is triggered, confirm recall and print slip
9. Confirm your format settings for RECALL_REQUESTER_DET are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 188 Martin Renvoize (ashimema) 2024-04-11 14:30:00 UTC
Created attachment 164752 [details] [review]
Bug 33478: Apply formatting to AR_SLIP

To test:

1. Enable ArticleRequests system preference in Koha Administration -> Global system preferences
2. Log into the OPAC
3. Do a catalogue search
4. Click the 'Request article' button for a record
5. Fill in some information and submit
6. Go to the staff interface
7. Go to Circulation -> Article Requests
8. Click the Actions menu next to your article request and choose Print slip
9. Confirm your format settings for AR_SLIP are applied

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 189 Martin Renvoize (ashimema) 2024-04-11 14:30:04 UTC
Created attachment 164753 [details] [review]
Bug 33478: Make styles apply per notice

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Comment 190 Martin Renvoize (ashimema) 2024-04-11 14:30:14 UTC
Created attachment 164754 [details] [review]
Bug 33478: Consider TranslateNotices when saving notice styles

This patch ensures saving styles per notice still works as expected when the TranslateNotices system preference is enabled.

To test, enable the TranslateNotices system preference and attempt to save different CSS for each installed language for one notice. Confirm the correct CSS is saved for the correct language.

Confirm the CSS selector helpers are inserted into the textarea as expected.

Confirm the 'Apply format settings to all notices for this language' setting works, as in CSS is saved for all relevant language notices.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 191 Martin Renvoize (ashimema) 2024-04-11 14:30:21 UTC
Created attachment 164755 [details] [review]
Bug 33478: (follow-up) Correct file permission

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 192 Martin Renvoize (ashimema) 2024-04-11 14:34:56 UTC
Whilst I had my initial reservations, I understand the use cases here now and certainly won't block it.

The code works as described and whilst we can polish it in the future it's all working well enough.

QA scripts are happy, tests are passing..

Passing QA, thanks for following through on this over time.
Comment 193 Katrin Fischer 2024-04-26 17:08:56 UTC
I am struggling a tiny bit with the usability in the editor:

Right now the tabs represent different message transports. 
We now add another tab, but it means something different: Format
And then the Format only applies to the Print message transport.

Makes me wonder: should it maybe be part of the print section? Maybe as an extended thing that can be "folded out"? Should it stay as a tab, but be renamed "Print format"? 

I am still going to push this as I think we can adjust display without breaking anything later on. But it would be great to get some feedback.
Comment 194 Katrin Fischer 2024-04-26 18:19:30 UTC
Pushed for 24.05!

Well done everyone, thank you!
Comment 195 Fridolin Somers 2024-05-24 08:54:33 UTC
Not backported to 23.11.x
Comment 196 Caroline Cyr La Rose 2024-07-25 18:18:20 UTC
(In reply to Katrin Fischer from comment #193)
> I am struggling a tiny bit with the usability in the editor:
> 
> Right now the tabs represent different message transports. 
> We now add another tab, but it means something different: Format
> And then the Format only applies to the Print message transport.
> 
> Makes me wonder: should it maybe be part of the print section? Maybe as an
> extended thing that can be "folded out"? Should it stay as a tab, but be
> renamed "Print format"? 
> 
> I am still going to push this as I think we can adjust display without
> breaking anything later on. But it would be great to get some feedback.

As I was documenting this, I thought the same. I wasn't sure where to put the information, after SMS where it is visually? But it applies only to print notices... At the same level as the transport types even if it's not a transport type? I agree for it to be a subsection of the Print tab would make more sense. 

I also had trouble using the feature, but that might just be a "me" problem... I tried with a simple "color: red;" with the "headers" selectors and the text stayed black...
Comment 197 Martin Renvoize (ashimema) 2024-10-01 06:45:36 UTC
If we add Bug 33260 as is then this will apply to all transport types when printed.

Honestly.. I find this and the new printing code rather confusing for end users.. but I "sort of" get it for some cases.

Nick and I are still trying to iterate a bit on the aforementioned bug though to clarify things if we can.
Comment 198 Martin Renvoize (ashimema) 2024-10-03 16:21:36 UTC
OK.. this is quite funny..

This doesn't actually apply to 'print' type notices at all.. those notices are generally printed via gather_print_notices.pl and none of the patches here add the styling additions here to either gather_print_notices.pl or it's corresponding template batch/print-notices.tt.

So in fact.. those only really applies to SLIPs which get printed from the UI.

It will apply to all other notice message transport types once the printing option has been exposed by bug 33260.
Comment 199 Martin Renvoize (ashimema) 2024-10-04 06:56:07 UTC
Hmm, I also don't understand the regular expression here use to map the styles to the specific notices.

`slip.style.replace('[^{]+{', '#slip_' _ slip.id _ ' {')`

This will replace all selectors with '#slip_ID'.. so you're selectors will just get nuked and thus the whole notice will be formatted with one style?

I found this whilst trying to get styles to properly apply on bug 33260
Comment 200 Martin Renvoize (ashimema) 2024-10-04 07:46:43 UTC
I've opened bugs and linked them to this one for the outstanding issues above.