-
Notifications
You must be signed in to change notification settings - Fork 41
[16.0][MIG] beesdoo_shift_swap -> shift_change #572
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
remytms
wants to merge
87
commits into
16.0
Choose a base branch
from
16.0-mig-beesdoo_shift_swap
base: 16.0
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
87 commits
Select commit
Hold shift + click to select a range
3e54759
[ADD] beesdoo_shift_swap
MatteoLdx 2d50d7e
[UPD] Update beesdoo_shift_swap.pot
480c0e5
[FIX] b_website_shift_swap: remove button unsubcribe on solidarity sh…
MatteoLdx fa9819c
[IMP] b_shift_swap: change attribute modification
MatteoLdx e3223a5
[REF] b_shift,b_website_shift,b_shift_swap: reorganize parameters
MatteoLdx c3197a5
[IMP] b_shift_swap: add implied security groups
MatteoLdx 0290b35
[IMP] b_shift_swap,b_website_shift_swap: request solidarity for a pas…
MatteoLdx 86d5895
[IMP] b_website_shift_swap: add parameter to control number of displa…
MatteoLdx 4a0e0b6
[IMP] b_website_shift_swap: add readme
MatteoLdx 38657b9
[FIX] b_shift_swap: remove is_solidarity attribute when cancelling a …
MatteoLdx 759ea88
[FIX] b_shift_swap: update tests to match recent changes
MatteoLdx a223bad
[ADD] translations
MatteoLdx 3248483
[IMP] b_shift_swap: remove parameter hours_limit_cancel_solidarity_offer
MatteoLdx 71d082c
[FIX] b_shift_swap: update tests
MatteoLdx f21ce48
[UPD] Update beesdoo_shift_swap.pot
e9eceed
[FIX] b_shift_swap: fix tests
MatteoLdx 3b41107
[FIX] SCRLfs → SC
carmenbianca a927aaf
[UPD] README.rst
github-grap-bot 14a8f09
[IMP] b_shift_swap: update shift swap view tree to display shifts
MatteoLdx b02f6d5
[IMP] b_shift,b_shift_swap: faster next shifts calculation
MatteoLdx 3dcc172
[IMP] b_shift_swap: send mail if no match found and shift is close
MatteoLdx 16e5aff
[FIX] b_shift_swap: access rights
MatteoLdx cafdc9c
[IMP] b_shift_swap: cancel exchange requests when unsubscribing from …
MatteoLdx 1fff01f
[FIX] b_shift_swap: add solidarity attributes when calculating next s…
MatteoLdx d67ec01
[IMP] b_shift_swap: avoid record creation outside of wizards
MatteoLdx 27475c1
[IMP] b_shift_swap: exchange wizard update
MatteoLdx 9e8dab4
[IMP] b_shift_swap,b_website_shift_swap,b_worker_status_shift_swap: p…
MatteoLdx bd9deda
[IMP] b_shift_swap,b_website_shift_swap: add exchange email unsubscri…
MatteoLdx 03a8769
[IMP] b_website_shift,b_website_shift_swap: disabled buttons if shift…
MatteoLdx 8c803a4
[IMP] b_shift_swap: update views
MatteoLdx 02a40f0
[IMP] b_shift_swap,b_website_shift_swap: add a start date for shifts …
MatteoLdx e2b5925
[REF] b_shift_swap: change future shift calculation to evaluate excha…
MatteoLdx 30801de
[IMP] b_shift_swap: request a solidarity shift in the past in the wizard
MatteoLdx d0953d2
[IMP] b_shift_swap: remove useless field date
MatteoLdx e5c984e
fixup! [IMP] b_shift_swap: exchange wizard update
MatteoLdx a1ffd1b
[IMP] b_shift_swap: search dated template by date
MatteoLdx a03b5ef
[IMP] b_shift_swap: add security access
MatteoLdx 6f024d6
[FIX] b_shift_swap,b_website_shift_swap: typos, remove useless field
MatteoLdx d41e3cf
fixup! [IMP] b_shift_swap: add security access
MatteoLdx 1ccea34
[FIX] b_shift_swap: deleted security groups, used beesdoo_shift ones …
MatteoLdx 7534b18
[IMP] b_shift_swap: add mixin to handle next shifts calculation
MatteoLdx 814bd46
[IMP] b_shift_swap: disable requesting solidarity for a past shift in…
MatteoLdx f63b8ac
[IMP] b_shift_swap: add email language, fix indent
MatteoLdx f9ded13
[IMP] b_shift,b_shift_swap: add comments
MatteoLdx 624534f
[UPD] Update beesdoo_shift_swap.pot
20273ec
beesdoo_shift_swap 12.0.2.0.0
github-grap-bot 6872c3f
[UPD] b_shift,b_shift_swap,b_website_shift,b_website_shift_swap: tran…
MatteoLdx 0fe4d9c
beesdoo_shift_swap 12.0.2.0.1
github-grap-bot e199576
[IMP] b_shift_swap: small fixes, add button on shift to cancel solida…
MatteoLdx b2b76bf
[FIX] b_shift,b_shift_swap: conditions to display solidarity buttons …
MatteoLdx 13a7747
[IMP] b_shift: add param to get_future_shift method to avoid cancelle…
MatteoLdx bef616b
[FIX] b_shift,b_shift_swap: add sudo
MatteoLdx 22a459c
[IMP] b_shift,b_shift_swap: don't display shifts and don't send mail …
MatteoLdx 607b8b6
[IMP] b_shift_swap: update comments
MatteoLdx 1dc113b
[IMP] b_shift_swap: remove start date constraint for shift exchange w…
MatteoLdx 095db27
[FIX] b_shift_swap: swap wizard, display all available shifts instead…
MatteoLdx d6e0656
[FIX] b_shift_swap : exchange request displayed name
MatteoLdx a1ae950
[UPD] Update beesdoo_shift_swap.pot
ba26c21
beesdoo_shift_swap 12.0.2.1.0
github-grap-bot 84ac1b7
[REF] beesdoo.shift -> shift
carmenbianca 276ab7e
[REF] beesdoo_shift -> shift
carmenbianca df6d63c
[FIX] shift: Prefix parameters in code
carmenbianca 8cf2744
[FIX] Run pre-commit
carmenbianca 7d31132
[FIX] beesdoo_shift_swap: Fix comment
carmenbianca 93d4a71
[REL] increment versions of dependent modules
huguesdk 14e7380
[UPD] Update beesdoo_shift_swap.pot
5c0d266
[FIX] beesdoo_shift_swap: Prevent a skip of subsequent items
carmenbianca e3313d0
[FIX] make changes processing code more obvious
huguesdk 5dd24b8
[BOT] post-merge updates
github-grap-bot 9353f86
[MIG] shift_change: Migration to versin 16.0
remytms 2f164f6
[FIX] shift_change: fields required
remytms 40f73c9
[ADD] shift_change_portal
remytms 09b87a3
[IMP] shift_change: restrict shift selection in admin view
remytms 9a36569
[IMP] shift_change_portal: test for max changes in portal
remytms 241a2bb
[IMP] shift_change: wizard and improved ui
remytms 6438891
[IMP] shift_change: prevent registering to a not available shift
remytms af31f94
[FIX] shift_change: move sibling shifts to dedicated test
remytms 91c9812
[FIX] shift_change: loop between shift change
remytms 58f15b9
[IMP] shift_change: description
remytms 16e0e66
[FIX] shift, shift_change: available shifts
remytms 79dd180
[FIX] shift_change: wizard error
remytms c2dfa42
[FIX] shift_change: remove duplicated demo
remytms 26ed7c1
[IMP] shift_change, shift_change_portal: time limit for new shift
remytms c7000c1
[IMP] shift_change: ui for shift selection
remytms 129cb4d
[IMP] shift_change: add wizard on res_partner form
remytms fcfc240
[FIX] shift_change_portal: change created when error
remytms fc6e434
[FIX] shift_beneficiary: generic overwrite
remytms File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| ../../../../shift_change |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| import setuptools | ||
|
|
||
| setuptools.setup( | ||
| setup_requires=['setuptools-odoo'], | ||
| odoo_addon=True, | ||
| ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| ../../../../shift_change_portal |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| import setuptools | ||
|
|
||
| setuptools.setup( | ||
| setup_requires=['setuptools-odoo'], | ||
| odoo_addon=True, | ||
| ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,69 @@ | ||
| ============ | ||
| Shift Change | ||
| ============ | ||
|
|
||
| .. | ||
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
| !! This file is generated by oca-gen-addon-readme !! | ||
| !! changes will be overwritten. !! | ||
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
| !! source digest: sha256:3bc799017041fe0a23c0121f2311b7f7de77b1ed7d56d502433fc392b3edcfc2 | ||
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
|
|
||
| .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png | ||
| :target: https://odoo-community.org/page/development-status | ||
| :alt: Beta | ||
| .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png | ||
| :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html | ||
| :alt: License: AGPL-3 | ||
| .. |badge3| image:: https://img.shields.io/badge/github-beescoop%2FObeesdoo-lightgray.png?logo=github | ||
| :target: https://github.com/beescoop/Obeesdoo/tree/16.0/shift_change | ||
| :alt: beescoop/Obeesdoo | ||
|
|
||
| |badge1| |badge2| |badge3| | ||
|
|
||
| Let regular worker change their future shifts. | ||
|
|
||
| Changing a shift means unsubscribe from a specific shift and register to | ||
| another one. | ||
|
|
||
| Change does not affect subscription to a shift template. | ||
|
|
||
| Changes can be done only between shifts already generated. | ||
|
|
||
| **Table of contents** | ||
|
|
||
| .. contents:: | ||
| :local: | ||
|
|
||
| Bug Tracker | ||
| =========== | ||
|
|
||
| Bugs are tracked on `GitHub Issues <https://github.com/beescoop/Obeesdoo/issues>`_. | ||
| In case of trouble, please check there if your issue has already been reported. | ||
| If you spotted it first, help us to smash it by providing a detailed and welcomed | ||
| `feedback <https://github.com/beescoop/Obeesdoo/issues/new?body=module:%20shift_change%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. | ||
|
|
||
| Do not contact contributors directly about support or help with technical issues. | ||
|
|
||
| Credits | ||
| ======= | ||
|
|
||
| Authors | ||
| ~~~~~~~ | ||
|
|
||
| * Coop IT Easy SC | ||
|
|
||
| Contributors | ||
| ~~~~~~~~~~~~ | ||
|
|
||
| * `Coop IT Easy SC <https://coopiteasy.be>`_: | ||
|
|
||
| * Rémy Taymans | ||
|
|
||
| Maintainers | ||
| ~~~~~~~~~~~ | ||
|
|
||
| This module is part of the `beescoop/Obeesdoo <https://github.com/beescoop/Obeesdoo/tree/16.0/shift_change>`_ project on GitHub. | ||
|
|
||
| You are welcome to contribute. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| # SPDX-FileCopyrightText: 2026 Coop IT Easy SC | ||
| # | ||
| # SPDX-License-Identifier: AGPL-3.0-or-later | ||
|
|
||
| from . import models | ||
| from . import wizard |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| # SPDX-FileCopyrightText: 2026 Coop IT Easy SC | ||
| # | ||
| # SPDX-License-Identifier: AGPL-3.0-or-later | ||
|
|
||
| { | ||
| "name": "Shift Change", | ||
| "summary": """ | ||
| Let regular workers change their shift. | ||
| """, | ||
| "author": "Coop IT Easy SC", | ||
| "website": "https://github.com/beescoop/Obeesdoo", | ||
| "category": "Cooperative Management", | ||
| "version": "16.0.1.0.0", | ||
| "depends": [ | ||
| "shift", | ||
| ], | ||
| "data": [ | ||
| "data/system_parameter.xml", | ||
| "security/ir.model.access.csv", | ||
| "views/shift_change.xml", | ||
| "views/shift_change_menu.xml", | ||
| "views/res_config_setting_view.xml", | ||
| "views/res_partner.xml", | ||
| "wizard/shift_change_create_wizard.xml", | ||
| ], | ||
| "demo": [], | ||
| "license": "AGPL-3", | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| <?xml version="1.0" encoding="utf-8" ?> | ||
| <!-- | ||
| SPDX-FileCopyrightText: 2026 Coop IT Easy SC | ||
|
|
||
| SPDX-License-Identifier: AGPL-3.0-or-later | ||
| --> | ||
| <odoo noupdate="1"> | ||
| <record id="old_shift_hour_limit_change" model="ir.config_parameter"> | ||
| <field name="key">shift_change.old_shift_hour_limit_change</field> | ||
| <field name="value">24</field> | ||
| </record> | ||
| <record id="new_shift_hour_limit_change" model="ir.config_parameter"> | ||
| <field name="key">shift_change.new_shift_hour_limit_change</field> | ||
| <field name="value">24</field> | ||
| </record> | ||
| <record id="same_shift_change_max" model="ir.config_parameter"> | ||
| <field name="key">shift_change.same_shift_change_max</field> | ||
| <field name="value">3</field> | ||
| </record> | ||
| </odoo> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,77 @@ | ||
| <?xml version="1.0" encoding="utf-8" ?> | ||
| <!-- | ||
| SPDX-FileCopyrightText: 2026 Coop IT Easy SC | ||
|
|
||
| SPDX-License-Identifier: AGPL-3.0-or-later | ||
| --> | ||
| <odoo> | ||
|
|
||
| <!-- Worker --> | ||
| <record id="shift.res_partner_worker_1_demo" model="res.partner"> | ||
| <field | ||
| name="cooperative_status_ids" | ||
| eval="[(6, 0, [ref('shift.cooperative_status_1_demo')])]" | ||
| /> | ||
| </record> | ||
|
|
||
| <record id="shift.res_partner_worker_2_demo" model="res.partner"> | ||
| <field | ||
| name="cooperative_status_ids" | ||
| eval="[(6, 0, [ref('shift.cooperative_status_2_demo')])]" | ||
| /> | ||
| </record> | ||
|
|
||
| <record id="shift.res_partner_worker_3_demo" model="res.partner"> | ||
| <field | ||
| name="cooperative_status_ids" | ||
| eval="[(6, 0, [ref('shift.cooperative_status_3_demo')])]" | ||
| /> | ||
| </record> | ||
|
|
||
| <!-- Task Template --> | ||
| <record id="task_template_1_demo" model="shift.template"> | ||
| <field name="name">A_TUE-10:00-12:00</field> | ||
| <field name="planning_id" ref="shift.shift_planning_1_demo" /> | ||
| <field name="day_nb_id" ref="shift.shift_daynumber_2_demo" /> | ||
| <field name="task_type_id" ref="shift.shift_task_type_3_demo" /> | ||
| <field name="start_time">10.0</field> | ||
| <field name="end_time">12.0</field> | ||
| <field name="duration">2</field> | ||
| <field name="worker_nb">5</field> | ||
| <field name="worker_ids" eval="[(6, 0, [])]" /> | ||
| <field name="remaining_worker">5</field> | ||
| </record> | ||
|
|
||
| <record id="task_template_2_demo" model="shift.template"> | ||
| <field name="name">A_WED-10:00-12:00</field> | ||
| <field name="planning_id" ref="shift.shift_planning_1_demo" /> | ||
| <field name="day_nb_id" ref="shift.shift_daynumber_3_demo" /> | ||
| <field name="task_type_id" ref="shift.shift_task_type_3_demo" /> | ||
| <field name="start_time">10.0</field> | ||
| <field name="end_time">12.0</field> | ||
| <field name="duration">2</field> | ||
| <field name="worker_nb">5</field> | ||
| <field | ||
| name="worker_ids" | ||
| eval="[(6, 0, [ref('shift.res_partner_worker_1_demo'), ref('shift.res_partner_worker_2_demo')])]" | ||
| /> | ||
| <field name="remaining_worker">4</field> | ||
| </record> | ||
|
|
||
| <record id="task_template_3_demo" model="shift.template"> | ||
| <field name="name">A_THU-10:00-12:00</field> | ||
| <field name="planning_id" ref="shift.shift_planning_1_demo" /> | ||
| <field name="day_nb_id" ref="shift.shift_daynumber_4_demo" /> | ||
| <field name="task_type_id" ref="shift.shift_task_type_3_demo" /> | ||
| <field name="start_time">10.0</field> | ||
| <field name="end_time">12.0</field> | ||
| <field name="duration">2</field> | ||
| <field name="worker_nb">1</field> | ||
| <field | ||
| name="worker_ids" | ||
| eval="[(6, 0, [ref('shift.res_partner_worker_1_demo')])]" | ||
| /> | ||
| <field name="remaining_worker">0</field> | ||
| </record> | ||
|
|
||
| </odoo> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| from openupgradelib import openupgrade | ||
|
|
||
|
|
||
| @openupgrade.migrate() | ||
| def migrate(env, version): | ||
| # TODO: | ||
| pass |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| # SPDX-FileCopyrightText: 2026 Coop IT Easy SC | ||
| # | ||
| # SPDX-License-Identifier: AGPL-3.0-or-later | ||
|
|
||
| from . import shift_change | ||
| from . import res_config_settings | ||
| from . import res_partner |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| # SPDX-FileCopyrightText: 2026 Coop IT Easy SC | ||
| # | ||
| # SPDX-License-Identifier: AGPL-3.0-or-later | ||
|
|
||
| from odoo import fields, models | ||
|
|
||
|
|
||
| class ResConfigSettings(models.TransientModel): | ||
| _inherit = "res.config.settings" | ||
|
|
||
| old_shift_hour_limit_change = fields.Integer( | ||
| config_parameter="shift_change.hour_limit_change", | ||
| ) | ||
| new_shift_hour_limit_change = fields.Integer( | ||
| config_parameter="shift_change.hour_limit_change", | ||
| ) | ||
| same_shift_change_max = fields.Integer( | ||
| config_parameter="shift_change.same_shift_change_max", | ||
| ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| # SPDX-FileCopyrightText: 2026 Coop IT Easy SC | ||
| # | ||
| # SPDX-License-Identifier: AGPL-3.0-or-later | ||
|
|
||
| from odoo import _, models | ||
|
|
||
|
|
||
| class ResPartner(models.Model): | ||
| _inherit = "res.partner" | ||
|
|
||
| def button_change_shift(self): | ||
| return { | ||
| "name": _("Change a shift"), | ||
| "type": "ir.actions.act_window", | ||
| "view_type": "form", | ||
| "view_mode": "form", | ||
| "res_model": "shift.change.create.wizard", | ||
| "target": "new", | ||
| } |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.