)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"b992c3b1233307815ce9f8f3792c7698a3983101","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ad00b44f_fcdd26eb","updated":"2026-01-23 21:09:12.000000000","message":"Looks good, thanks for working on this. I think the question for inline styling should be the same for the other change. Let\u0027s wait on that.\nI\u0027ll also test this and ack before switching my vote to +2\nLast but not least, great job, Rose!","commit_id":"6b042b87deda449ead75b952274e8aafe7a27865"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"671aa6204272aaec81df842352b211ddeec716c3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8d9c4249_d110fc1a","updated":"2026-02-05 19:09:03.000000000","message":"Thank you for walking us through this in the collab-review during the midcycle, @rosewairimu1@gmail.com. Please see some comments inline","commit_id":"ebc7e3cbc756a5d28113dc02a00030516a36433e"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"43c4bbae936fddccfe237478cf2deb252e33cadd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c9ebcd0f_90324c56","updated":"2026-02-19 17:02:08.000000000","message":"Please have a look at my inline comments","commit_id":"6a32f739004081efdff5922a728de2f2fa113f80"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"e6d1f58b93386e7fa6abe4ea2f809a44a32ef6bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"440ef430_4a45c1de","updated":"2026-02-23 07:46:55.000000000","message":"Thanks, lgtm","commit_id":"2f91a0225b8d75aae7b990b80cb2796a5733922e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"65e05997f3a21635fd482c5a5c196a8ddf2a6591","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1a95b42a_a97d04ec","updated":"2026-02-23 16:33:11.000000000","message":"recheck\n\npy310 failure was addressed in the CI","commit_id":"2f91a0225b8d75aae7b990b80cb2796a5733922e"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"5c2843611e34f2709b300bd6ce75cfaa08b30eaf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7e786307_99812782","updated":"2026-02-26 17:01:05.000000000","message":"Assuming we fix asked suggestions in follow-up change.","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6188741ccee5c0f493f5edca6d110698b28a89cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"6dea0c64_34712fbd","updated":"2026-02-26 19:27:36.000000000","message":"rebased to resolve merge conflicts","commit_id":"2b0a3424b44bb6a8017ae669a45653e09b8cad48"}],"manila_ui/api/manila.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"671aa6204272aaec81df842352b211ddeec716c3","unresolved":true,"context_lines":[{"line_number":317,"context_line":"    return share_network"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"def share_network_get(request, share_net_id):"},{"line_number":321,"context_line":"    return manilaclient("},{"line_number":322,"context_line":"        request).share_networks.get(share_net_id)"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"def share_network_update(request, share_net_id, name\u003dNone, description\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"2f4df9c8_956d73b4","line":322,"range":{"start_line":320,"start_character":0,"end_line":322,"end_character":49},"updated":"2026-02-05 19:09:03.000000000","message":"Avoid unrelated formatting changes, please revert this","commit_id":"ebc7e3cbc756a5d28113dc02a00030516a36433e"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"0970adb87c5765a81eebc121022e9f130a2c46f3","unresolved":false,"context_lines":[{"line_number":317,"context_line":"    return share_network"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"def share_network_get(request, share_net_id):"},{"line_number":321,"context_line":"    return manilaclient("},{"line_number":322,"context_line":"        request).share_networks.get(share_net_id)"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"def share_network_update(request, share_net_id, name\u003dNone, description\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ac325037_f39f3d1e","line":322,"range":{"start_line":320,"start_character":0,"end_line":322,"end_character":49},"in_reply_to":"2f4df9c8_956d73b4","updated":"2026-02-09 14:20:03.000000000","message":"Done","commit_id":"ebc7e3cbc756a5d28113dc02a00030516a36433e"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"43c4bbae936fddccfe237478cf2deb252e33cadd","unresolved":true,"context_lines":[{"line_number":307,"context_line":"    if metadata:"},{"line_number":308,"context_line":"        subnets \u003d getattr(share_network, \u0027share_network_subnets\u0027, [])"},{"line_number":309,"context_line":"        if subnets:"},{"line_number":310,"context_line":"            first_subnet \u003d subnets[0]"},{"line_number":311,"context_line":"            subnet_id \u003d ("},{"line_number":312,"context_line":"                first_subnet.get(\u0027id\u0027) if isinstance(first_subnet, dict)"},{"line_number":313,"context_line":"                else getattr(first_subnet, \u0027id\u0027, None))"}],"source_content_type":"text/x-python","patch_set":5,"id":"20eb06f5_3a831c63","line":310,"range":{"start_line":310,"start_character":12,"end_line":310,"end_character":37},"updated":"2026-02-19 17:02:08.000000000","message":"Can you add a comment, please, why targeting the first subnet only?\n\nI assume in this flow you cannot create multiple subnets, right?","commit_id":"6a32f739004081efdff5922a728de2f2fa113f80"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"3640dadc5503e249ab2e924550f25d1cb302e34d","unresolved":false,"context_lines":[{"line_number":307,"context_line":"    if metadata:"},{"line_number":308,"context_line":"        subnets \u003d getattr(share_network, \u0027share_network_subnets\u0027, [])"},{"line_number":309,"context_line":"        if subnets:"},{"line_number":310,"context_line":"            first_subnet \u003d subnets[0]"},{"line_number":311,"context_line":"            subnet_id \u003d ("},{"line_number":312,"context_line":"                first_subnet.get(\u0027id\u0027) if isinstance(first_subnet, dict)"},{"line_number":313,"context_line":"                else getattr(first_subnet, \u0027id\u0027, None))"}],"source_content_type":"text/x-python","patch_set":5,"id":"96976c11_f0bf5a82","line":310,"range":{"start_line":310,"start_character":12,"end_line":310,"end_character":37},"in_reply_to":"0a61d121_993790a7","updated":"2026-03-12 01:57:51.000000000","message":"Done","commit_id":"6a32f739004081efdff5922a728de2f2fa113f80"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"8400cb057e242027c39e0820f36d1b72f127ea68","unresolved":false,"context_lines":[{"line_number":307,"context_line":"    if metadata:"},{"line_number":308,"context_line":"        subnets \u003d getattr(share_network, \u0027share_network_subnets\u0027, [])"},{"line_number":309,"context_line":"        if subnets:"},{"line_number":310,"context_line":"            first_subnet \u003d subnets[0]"},{"line_number":311,"context_line":"            subnet_id \u003d ("},{"line_number":312,"context_line":"                first_subnet.get(\u0027id\u0027) if isinstance(first_subnet, dict)"},{"line_number":313,"context_line":"                else getattr(first_subnet, \u0027id\u0027, None))"}],"source_content_type":"text/x-python","patch_set":5,"id":"4375fe79_74f4fb42","line":310,"range":{"start_line":310,"start_character":12,"end_line":310,"end_character":37},"in_reply_to":"20eb06f5_3a831c63","updated":"2026-03-02 16:55:27.000000000","message":"Done","commit_id":"6a32f739004081efdff5922a728de2f2fa113f80"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a6d3e0362ffed583beb3d4a40b9a25f0680bac4c","unresolved":true,"context_lines":[{"line_number":307,"context_line":"    if metadata:"},{"line_number":308,"context_line":"        subnets \u003d getattr(share_network, \u0027share_network_subnets\u0027, [])"},{"line_number":309,"context_line":"        if subnets:"},{"line_number":310,"context_line":"            first_subnet \u003d subnets[0]"},{"line_number":311,"context_line":"            subnet_id \u003d ("},{"line_number":312,"context_line":"                first_subnet.get(\u0027id\u0027) if isinstance(first_subnet, dict)"},{"line_number":313,"context_line":"                else getattr(first_subnet, \u0027id\u0027, None))"}],"source_content_type":"text/x-python","patch_set":5,"id":"a150c422_38323b4f","line":310,"range":{"start_line":310,"start_character":12,"end_line":310,"end_character":37},"in_reply_to":"4375fe79_74f4fb42","updated":"2026-03-11 19:19:48.000000000","message":"Comment not added in https://review.opendev.org/c/openstack/manila-ui/+/980056/","commit_id":"6a32f739004081efdff5922a728de2f2fa113f80"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"51b1c261c1201cab30ca34dbb10dda6db8197b81","unresolved":true,"context_lines":[{"line_number":307,"context_line":"    if metadata:"},{"line_number":308,"context_line":"        subnets \u003d getattr(share_network, \u0027share_network_subnets\u0027, [])"},{"line_number":309,"context_line":"        if subnets:"},{"line_number":310,"context_line":"            first_subnet \u003d subnets[0]"},{"line_number":311,"context_line":"            subnet_id \u003d ("},{"line_number":312,"context_line":"                first_subnet.get(\u0027id\u0027) if isinstance(first_subnet, dict)"},{"line_number":313,"context_line":"                else getattr(first_subnet, \u0027id\u0027, None))"}],"source_content_type":"text/x-python","patch_set":5,"id":"0a61d121_993790a7","line":310,"range":{"start_line":310,"start_character":12,"end_line":310,"end_character":37},"in_reply_to":"a150c422_38323b4f","updated":"2026-03-12 01:56:01.000000000","message":"@gouthampravi@gmail.com This was addressed in the previously merged patch. I just missed to mark it as resolved","commit_id":"6a32f739004081efdff5922a728de2f2fa113f80"}],"manila_ui/dashboards/project/share_networks/share_network_subnets/forms.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"b992c3b1233307815ce9f8f3792c7698a3983101","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2014 NetApp, Inc."},{"line_number":2,"context_line":"# All rights reserved."},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"5855a869_1c513d80","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":33},"updated":"2026-01-23 21:09:12.000000000","message":"I think we can update to 2026 and mention the openinfra foundation/outreachy instead","commit_id":"6b042b87deda449ead75b952274e8aafe7a27865"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9e7e10d523ca6b58691a207c708c779c1df9266","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2014 NetApp, Inc."},{"line_number":2,"context_line":"# All rights reserved."},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"fcd796e7_1dca9db2","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":33},"in_reply_to":"5855a869_1c513d80","updated":"2026-01-26 18:52:05.000000000","message":"Let\u0027s drop this copyright as we discussed.","commit_id":"6b042b87deda449ead75b952274e8aafe7a27865"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"9f581182c7fe05a7d45568b3f97a10fc1d84dace","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2014 NetApp, Inc."},{"line_number":2,"context_line":"# All rights reserved."},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"f8c7951b_15c24d76","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":33},"in_reply_to":"fcd796e7_1dca9db2","updated":"2026-02-02 14:37:22.000000000","message":"Done","commit_id":"6b042b87deda449ead75b952274e8aafe7a27865"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"671aa6204272aaec81df842352b211ddeec716c3","unresolved":true,"context_lines":[{"line_number":33,"context_line":"        if \"metadata\" in self.initial:"},{"line_number":34,"context_line":"            meta_str \u003d \"\""},{"line_number":35,"context_line":"            for k, v in self.initial[\"metadata\"].items():"},{"line_number":36,"context_line":"                meta_str +\u003d \"%s\u003d%s\\r\\n\" % (k, v)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"            self.initial[\"metadata\"] \u003d meta_str"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"d73c7dfa_169792f9","line":36,"range":{"start_line":36,"start_character":16,"end_line":36,"end_character":48},"updated":"2026-02-05 19:09:03.000000000","message":"meta_str +\u003d f\"{k}\u003d{v}\\r\\n\"","commit_id":"ebc7e3cbc756a5d28113dc02a00030516a36433e"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"0970adb87c5765a81eebc121022e9f130a2c46f3","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        if \"metadata\" in self.initial:"},{"line_number":34,"context_line":"            meta_str \u003d \"\""},{"line_number":35,"context_line":"            for k, v in self.initial[\"metadata\"].items():"},{"line_number":36,"context_line":"                meta_str +\u003d \"%s\u003d%s\\r\\n\" % (k, v)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"            self.initial[\"metadata\"] \u003d meta_str"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa4d465c_d103e8b5","line":36,"range":{"start_line":36,"start_character":16,"end_line":36,"end_character":48},"in_reply_to":"d73c7dfa_169792f9","updated":"2026-02-09 14:20:03.000000000","message":"Done","commit_id":"ebc7e3cbc756a5d28113dc02a00030516a36433e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d8899dcc1bddf813f490fde94124fd8788efefa2","unresolved":true,"context_lines":[{"line_number":13,"context_line":"from django.utils.translation import gettext_lazy as _"},{"line_number":14,"context_line":"from horizon import exceptions"},{"line_number":15,"context_line":"from horizon import forms"},{"line_number":16,"context_line":"from horizon import messages"},{"line_number":17,"context_line":"from manila_ui.api import manila"},{"line_number":18,"context_line":"from manila_ui.dashboards import utils"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"959c48c6_3fff2b00","line":16,"updated":"2026-02-24 07:02:11.000000000","message":"Missing blank line between third-party imports (horizon) and\nproject imports (manila_ui)","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"1e40d6fe92e09167185f71a196b73c119349869e","unresolved":false,"context_lines":[{"line_number":13,"context_line":"from django.utils.translation import gettext_lazy as _"},{"line_number":14,"context_line":"from horizon import exceptions"},{"line_number":15,"context_line":"from horizon import forms"},{"line_number":16,"context_line":"from horizon import messages"},{"line_number":17,"context_line":"from manila_ui.api import manila"},{"line_number":18,"context_line":"from manila_ui.dashboards import utils"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"54815ff3_4638c1c6","line":16,"in_reply_to":"959c48c6_3fff2b00","updated":"2026-03-11 13:27:44.000000000","message":"Done","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d8899dcc1bddf813f490fde94124fd8788efefa2","unresolved":true,"context_lines":[{"line_number":38,"context_line":"        subnet_id \u003d self.initial[\u0027subnet_id\u0027]"},{"line_number":39,"context_line":"        try:"},{"line_number":40,"context_line":"            share_network \u003d manila.share_network_get(request, share_network_id)"},{"line_number":41,"context_line":"            set_dict, unset_list \u003d utils.parse_str_meta(data[\u0027metadata\u0027])"},{"line_number":42,"context_line":"            if set_dict:"},{"line_number":43,"context_line":"                manila.share_network_subnet_set_metadata("},{"line_number":44,"context_line":"                    request, share_network, subnet_id, set_dict)"}],"source_content_type":"text/x-python","patch_set":7,"id":"2d273e36_71fa263e","line":41,"updated":"2026-02-24 07:02:11.000000000","message":"`parse_str_meta()` can raise `ValidationError` on malformed input\n(duplicate keys, spaces in keys, etc.). The existing share metadata\nform (`UpdateMetadataForm` in shares/forms.py) catches\n`ValidationError` separately and calls `self.api_error(e.messages[0])`\nto show a specific inline error. Here, a `ValidationError` will\nfall through to the broad `except Exception` and show the generic\n\"Unable to update\" message instead. Please add a `ValidationError`\ncatch matching the existing pattern.","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"1e40d6fe92e09167185f71a196b73c119349869e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        subnet_id \u003d self.initial[\u0027subnet_id\u0027]"},{"line_number":39,"context_line":"        try:"},{"line_number":40,"context_line":"            share_network \u003d manila.share_network_get(request, share_network_id)"},{"line_number":41,"context_line":"            set_dict, unset_list \u003d utils.parse_str_meta(data[\u0027metadata\u0027])"},{"line_number":42,"context_line":"            if set_dict:"},{"line_number":43,"context_line":"                manila.share_network_subnet_set_metadata("},{"line_number":44,"context_line":"                    request, share_network, subnet_id, set_dict)"}],"source_content_type":"text/x-python","patch_set":7,"id":"d4add29b_fb044bd1","line":41,"in_reply_to":"2d273e36_71fa263e","updated":"2026-03-11 13:27:44.000000000","message":"Done","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"}],"manila_ui/dashboards/project/share_networks/tables.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e98d9c68803c5e175dd00e1df64961210ca065ca","unresolved":true,"context_lines":[{"line_number":150,"context_line":"    url \u003d \"horizon:project:share_networks:update_subnet_metadata\""},{"line_number":151,"context_line":"    classes \u003d (\"ajax-modal\",)"},{"line_number":152,"context_line":"    icon \u003d \"pencil\""},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    def get_link_url(self, datum):"},{"line_number":155,"context_line":"        share_network_id \u003d self.table.kwargs[\u0027share_network_id\u0027]"},{"line_number":156,"context_line":"        return reverse(self.url, args\u003d(share_network_id, datum[\u0027id\u0027]))"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffc38537_fe6718d1","line":153,"updated":"2026-02-05 20:18:43.000000000","message":"policy_rules is missing here:\n\n```\npolicy_rules \u003d ((\"share\", \"share_network_subnet:update_metadata\"),)\n```","commit_id":"ebc7e3cbc756a5d28113dc02a00030516a36433e"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"0970adb87c5765a81eebc121022e9f130a2c46f3","unresolved":false,"context_lines":[{"line_number":150,"context_line":"    url \u003d \"horizon:project:share_networks:update_subnet_metadata\""},{"line_number":151,"context_line":"    classes \u003d (\"ajax-modal\",)"},{"line_number":152,"context_line":"    icon \u003d \"pencil\""},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    def get_link_url(self, datum):"},{"line_number":155,"context_line":"        share_network_id \u003d self.table.kwargs[\u0027share_network_id\u0027]"},{"line_number":156,"context_line":"        return reverse(self.url, args\u003d(share_network_id, datum[\u0027id\u0027]))"}],"source_content_type":"text/x-python","patch_set":4,"id":"87e57530_da2c0164","line":153,"in_reply_to":"ffc38537_fe6718d1","updated":"2026-02-09 14:20:03.000000000","message":"Done","commit_id":"ebc7e3cbc756a5d28113dc02a00030516a36433e"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"43c4bbae936fddccfe237478cf2deb252e33cadd","unresolved":true,"context_lines":[{"line_number":161,"context_line":"    metadata \u003d subnet.get(\u0027metadata\u0027, {})"},{"line_number":162,"context_line":"    if not metadata:"},{"line_number":163,"context_line":"        return _(\"None\")"},{"line_number":164,"context_line":"    return \", \".join([\"%s\u003d%s\" % (k, v) for k, v in metadata.items()])"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"class NetworkSubnetFilterAction(tables.FilterAction):"}],"source_content_type":"text/x-python","patch_set":5,"id":"d9ff03aa_1d85c2ab","line":164,"range":{"start_line":164,"start_character":4,"end_line":164,"end_character":69},"updated":"2026-02-19 17:02:08.000000000","message":"I think you can use the utility function `project_utils.metadata_to_str()` like in the snapshots metadata patch","commit_id":"6a32f739004081efdff5922a728de2f2fa113f80"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a6d3e0362ffed583beb3d4a40b9a25f0680bac4c","unresolved":true,"context_lines":[{"line_number":161,"context_line":"    metadata \u003d subnet.get(\u0027metadata\u0027, {})"},{"line_number":162,"context_line":"    if not metadata:"},{"line_number":163,"context_line":"        return _(\"None\")"},{"line_number":164,"context_line":"    return \", \".join([\"%s\u003d%s\" % (k, v) for k, v in metadata.items()])"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"class NetworkSubnetFilterAction(tables.FilterAction):"}],"source_content_type":"text/x-python","patch_set":5,"id":"969bfc6d_30a63adf","line":164,"range":{"start_line":164,"start_character":4,"end_line":164,"end_character":69},"in_reply_to":"7bd8c6c1_9130db08","updated":"2026-03-11 19:19:48.000000000","message":"These comments weren\u0027t addressed in https://review.opendev.org/c/openstack/manila-ui/+/980056/1/","commit_id":"6a32f739004081efdff5922a728de2f2fa113f80"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"51b1c261c1201cab30ca34dbb10dda6db8197b81","unresolved":true,"context_lines":[{"line_number":161,"context_line":"    metadata \u003d subnet.get(\u0027metadata\u0027, {})"},{"line_number":162,"context_line":"    if not metadata:"},{"line_number":163,"context_line":"        return _(\"None\")"},{"line_number":164,"context_line":"    return \", \".join([\"%s\u003d%s\" % (k, v) for k, v in metadata.items()])"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"class NetworkSubnetFilterAction(tables.FilterAction):"}],"source_content_type":"text/x-python","patch_set":5,"id":"e5ec4fa9_971fbf6d","line":164,"range":{"start_line":164,"start_character":4,"end_line":164,"end_character":69},"in_reply_to":"969bfc6d_30a63adf","updated":"2026-03-12 01:56:01.000000000","message":"@gouthampravi@gmail.com This was also addressed in the previously merged patch. I just missed to mark it as resolved","commit_id":"6a32f739004081efdff5922a728de2f2fa113f80"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"8400cb057e242027c39e0820f36d1b72f127ea68","unresolved":false,"context_lines":[{"line_number":161,"context_line":"    metadata \u003d subnet.get(\u0027metadata\u0027, {})"},{"line_number":162,"context_line":"    if not metadata:"},{"line_number":163,"context_line":"        return _(\"None\")"},{"line_number":164,"context_line":"    return \", \".join([\"%s\u003d%s\" % (k, v) for k, v in metadata.items()])"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"class NetworkSubnetFilterAction(tables.FilterAction):"}],"source_content_type":"text/x-python","patch_set":5,"id":"7bd8c6c1_9130db08","line":164,"range":{"start_line":164,"start_character":4,"end_line":164,"end_character":69},"in_reply_to":"d9ff03aa_1d85c2ab","updated":"2026-03-02 16:55:27.000000000","message":"Done","commit_id":"6a32f739004081efdff5922a728de2f2fa113f80"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"3640dadc5503e249ab2e924550f25d1cb302e34d","unresolved":false,"context_lines":[{"line_number":161,"context_line":"    metadata \u003d subnet.get(\u0027metadata\u0027, {})"},{"line_number":162,"context_line":"    if not metadata:"},{"line_number":163,"context_line":"        return _(\"None\")"},{"line_number":164,"context_line":"    return \", \".join([\"%s\u003d%s\" % (k, v) for k, v in metadata.items()])"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"class NetworkSubnetFilterAction(tables.FilterAction):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ed057520_c0b534ad","line":164,"range":{"start_line":164,"start_character":4,"end_line":164,"end_character":69},"in_reply_to":"e5ec4fa9_971fbf6d","updated":"2026-03-12 01:57:51.000000000","message":"Done","commit_id":"6a32f739004081efdff5922a728de2f2fa113f80"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d8899dcc1bddf813f490fde94124fd8788efefa2","unresolved":true,"context_lines":[{"line_number":165,"context_line":"    return utils.metadata_to_str(metadata)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"class NetworkSubnetFilterAction(tables.FilterAction):"},{"line_number":169,"context_line":"    filter_type \u003d \"query\""},{"line_number":170,"context_line":"    filter_choices \u003d ((\u0027metadata\u0027, _(\"Metadata\"), True),)"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"947388b5_9ef93f58","line":168,"updated":"2026-02-24 07:02:11.000000000","message":"`NetworkSubnetFilterAction` is defined but never referenced.\n`ShareNetworkSubnetsTable` uses the generic `tables.FilterAction`\n(line 220), not this class. Remove it?","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"1e40d6fe92e09167185f71a196b73c119349869e","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    return utils.metadata_to_str(metadata)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"class NetworkSubnetFilterAction(tables.FilterAction):"},{"line_number":169,"context_line":"    filter_type \u003d \"query\""},{"line_number":170,"context_line":"    filter_choices \u003d ((\u0027metadata\u0027, _(\"Metadata\"), True),)"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"8e119373_0668d4c6","line":168,"in_reply_to":"947388b5_9ef93f58","updated":"2026-03-11 13:27:44.000000000","message":"Done","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"}],"manila_ui/dashboards/project/share_networks/tabs.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"671aa6204272aaec81df842352b211ddeec716c3","unresolved":true,"context_lines":[{"line_number":11,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":12,"context_line":"#    under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"from django.utils.translation import gettext_lazy as _"},{"line_number":15,"context_line":"from horizon import exceptions"},{"line_number":16,"context_line":"from horizon import tabs"},{"line_number":17,"context_line":"from manila_ui.api import manila"},{"line_number":18,"context_line":"from manila_ui.dashboards.project.share_networks import tables as sn_tables"},{"line_number":19,"context_line":"from openstack_dashboard.api import base"},{"line_number":20,"context_line":"from openstack_dashboard.api import neutron"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class OverviewTab(tabs.Tab):"}],"source_content_type":"text/x-python","patch_set":4,"id":"b74f62c6_d9453fe9","line":20,"range":{"start_line":14,"start_character":0,"end_line":20,"end_character":43},"updated":"2026-02-05 19:09:03.000000000","message":"We\u0027ve an import order convention: https://docs.openstack.org/hacking/latest/user/hacking.html#import-order-template\n\ndjango/horizon/openstack_dashboard imports should be in a separate section above the manila_ui imports","commit_id":"ebc7e3cbc756a5d28113dc02a00030516a36433e"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"0970adb87c5765a81eebc121022e9f130a2c46f3","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":12,"context_line":"#    under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"from django.utils.translation import gettext_lazy as _"},{"line_number":15,"context_line":"from horizon import exceptions"},{"line_number":16,"context_line":"from horizon import tabs"},{"line_number":17,"context_line":"from manila_ui.api import manila"},{"line_number":18,"context_line":"from manila_ui.dashboards.project.share_networks import tables as sn_tables"},{"line_number":19,"context_line":"from openstack_dashboard.api import base"},{"line_number":20,"context_line":"from openstack_dashboard.api import neutron"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class OverviewTab(tabs.Tab):"}],"source_content_type":"text/x-python","patch_set":4,"id":"4d538719_37e810b5","line":20,"range":{"start_line":14,"start_character":0,"end_line":20,"end_character":43},"in_reply_to":"b74f62c6_d9453fe9","updated":"2026-02-09 14:20:03.000000000","message":"Done","commit_id":"ebc7e3cbc756a5d28113dc02a00030516a36433e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d8899dcc1bddf813f490fde94124fd8788efefa2","unresolved":true,"context_lines":[{"line_number":26,"context_line":"    slug \u003d \"overview\""},{"line_number":27,"context_line":"    template_name \u003d \"project/share_networks/_detail.html\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def get_context_data(self, request):"},{"line_number":30,"context_line":"        share_network \u003d self.tab_group.kwargs[\u0027share_network\u0027]"},{"line_number":31,"context_line":"        subnets_to_show \u003d share_network.share_network_subnets"},{"line_number":32,"context_line":"        filter_string \u003d request.GET.get(\u0027metadata_filter\u0027, \u0027\u0027).strip().lower()"}],"source_content_type":"text/x-python","patch_set":7,"id":"21997e41_fda7f003","line":29,"updated":"2026-02-24 07:02:11.000000000","message":"The `OverviewTab.get_context_data()` method computes\n`subnets_to_show` with metadata filtering, but `_detail.html` no\nlonger renders any subnet information (it was moved to the new\n`SubnetsTab` in this same commit). This entire filtering block\nis dead code and can be removed. The method should just return\n`{\"share_network\": share_network}`.","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"1e40d6fe92e09167185f71a196b73c119349869e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    slug \u003d \"overview\""},{"line_number":27,"context_line":"    template_name \u003d \"project/share_networks/_detail.html\""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def get_context_data(self, request):"},{"line_number":30,"context_line":"        share_network \u003d self.tab_group.kwargs[\u0027share_network\u0027]"},{"line_number":31,"context_line":"        subnets_to_show \u003d share_network.share_network_subnets"},{"line_number":32,"context_line":"        filter_string \u003d request.GET.get(\u0027metadata_filter\u0027, \u0027\u0027).strip().lower()"}],"source_content_type":"text/x-python","patch_set":7,"id":"6023f66b_a59b6f10","line":29,"in_reply_to":"21997e41_fda7f003","updated":"2026-03-11 13:27:44.000000000","message":"Done","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d8899dcc1bddf813f490fde94124fd8788efefa2","unresolved":true,"context_lines":[{"line_number":59,"context_line":"            share_network \u003d self.tab_group.kwargs[\u0027share_network\u0027]"},{"line_number":60,"context_line":"            request \u003d self.request"},{"line_number":61,"context_line":"            all_subnets \u003d getattr(share_network, \u0027share_network_subnets\u0027, [])"},{"line_number":62,"context_line":"            if base.is_service_enabled(request, \u0027network\u0027):"},{"line_number":63,"context_line":"                for subnet in all_subnets:"},{"line_number":64,"context_line":"                    try:"},{"line_number":65,"context_line":"                        subnet[\"neutron_net\"] \u003d neutron.network_get("}],"source_content_type":"text/x-python","patch_set":7,"id":"46eb524f_98b8ba30","line":62,"updated":"2026-02-24 07:02:11.000000000","message":"The neutron network/subnet name resolution here (lines 62-73)\nduplicates work already done in `Detail.get_data()` in views.py\n(lines 121-141)","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"1e40d6fe92e09167185f71a196b73c119349869e","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            share_network \u003d self.tab_group.kwargs[\u0027share_network\u0027]"},{"line_number":60,"context_line":"            request \u003d self.request"},{"line_number":61,"context_line":"            all_subnets \u003d getattr(share_network, \u0027share_network_subnets\u0027, [])"},{"line_number":62,"context_line":"            if base.is_service_enabled(request, \u0027network\u0027):"},{"line_number":63,"context_line":"                for subnet in all_subnets:"},{"line_number":64,"context_line":"                    try:"},{"line_number":65,"context_line":"                        subnet[\"neutron_net\"] \u003d neutron.network_get("}],"source_content_type":"text/x-python","patch_set":7,"id":"5b54357e_aaf103cd","line":62,"in_reply_to":"46eb524f_98b8ba30","updated":"2026-03-11 13:27:44.000000000","message":"Done","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d8899dcc1bddf813f490fde94124fd8788efefa2","unresolved":true,"context_lines":[{"line_number":88,"context_line":"                return ["},{"line_number":89,"context_line":"                    subnet for subnet in all_subnets"},{"line_number":90,"context_line":"                    if filter_string in \" \".join("},{"line_number":91,"context_line":"                        [f\"{k}\u003d{v}\" for k, v in subnet.get("},{"line_number":92,"context_line":"                            \u0027metadata\u0027, {}).items()]).lower()"},{"line_number":93,"context_line":"                ]"},{"line_number":94,"context_line":"            return all_subnets"}],"source_content_type":"text/x-python","patch_set":7,"id":"6f4fa593_ff2ced74","line":91,"updated":"2026-02-24 07:02:11.000000000","message":"`subnet.get(\u0027metadata\u0027, {}).items()` — if the API returns\n`metadata: null`, `.get(\u0027metadata\u0027, {})` returns `None` (the key\nexists with value None), and `.items()` on `None` raises\n`AttributeError`. The OverviewTab filter at line 37 correctly\nuses `subnet.get(\u0027metadata\u0027, {}) or {}` to guard against this.\nApply the same pattern here.","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"1e40d6fe92e09167185f71a196b73c119349869e","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                return ["},{"line_number":89,"context_line":"                    subnet for subnet in all_subnets"},{"line_number":90,"context_line":"                    if filter_string in \" \".join("},{"line_number":91,"context_line":"                        [f\"{k}\u003d{v}\" for k, v in subnet.get("},{"line_number":92,"context_line":"                            \u0027metadata\u0027, {}).items()]).lower()"},{"line_number":93,"context_line":"                ]"},{"line_number":94,"context_line":"            return all_subnets"}],"source_content_type":"text/x-python","patch_set":7,"id":"4475c6e6_7f1113ad","line":91,"in_reply_to":"6f4fa593_ff2ced74","updated":"2026-03-11 13:27:44.000000000","message":"Done","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"}],"manila_ui/dashboards/project/share_networks/templates/share_networks/_detail.html":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d8899dcc1bddf813f490fde94124fd8788efefa2","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    \u003cdd\u003e{{ share_network.project_id }}\u003c/dd\u003e"},{"line_number":23,"context_line":"  \u003c/dl\u003e"},{"line_number":24,"context_line":"\u003c/div\u003e"},{"line_number":25,"context_line":"\u003cdiv class\u003d\"detail\"\u003e"},{"line_number":26,"context_line":"  \u003chr class\u003d\"header_rule\"\u003e"},{"line_number":27,"context_line":"  \u003cdl class\u003d\"dl-horizontal\"\u003e"},{"line_number":28,"context_line":"  \u003c/dl\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"a8340b1e_a6ab62dd","line":25,"updated":"2026-02-24 07:02:11.000000000","message":"This renders a visible horizontal rule with no content. Consider removing\nthis block entirely.","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"1e40d6fe92e09167185f71a196b73c119349869e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    \u003cdd\u003e{{ share_network.project_id }}\u003c/dd\u003e"},{"line_number":23,"context_line":"  \u003c/dl\u003e"},{"line_number":24,"context_line":"\u003c/div\u003e"},{"line_number":25,"context_line":"\u003cdiv class\u003d\"detail\"\u003e"},{"line_number":26,"context_line":"  \u003chr class\u003d\"header_rule\"\u003e"},{"line_number":27,"context_line":"  \u003cdl class\u003d\"dl-horizontal\"\u003e"},{"line_number":28,"context_line":"  \u003c/dl\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"797d66a3_9ac7c86f","line":25,"in_reply_to":"a8340b1e_a6ab62dd","updated":"2026-03-11 13:27:44.000000000","message":"Done","commit_id":"4724421865aeabf6c4af47a9081fb67a5dfbec44"}],"manila_ui/dashboards/project/share_networks/templates/share_networks/_update_subnet_metadata.html":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"671aa6204272aaec81df842352b211ddeec716c3","unresolved":true,"context_lines":[{"line_number":8,"context_line":"      \u003cpre\u003ekey\u003dvalue\u003c/pre\u003e"},{"line_number":9,"context_line":"      {% trans \"To unset metadata use:\" %}"},{"line_number":10,"context_line":"      \u003cpre\u003ekey\u003c/pre\u003e"},{"line_number":11,"context_line":"      {% trans \"All pairs that are in field for left are set for this metadata.\" %}"},{"line_number":12,"context_line":"    \u003c/p\u003e"},{"line_number":13,"context_line":"{% endblock %}"}],"source_content_type":"text/html","patch_set":4,"id":"ce3d1998_0357b4f0","line":11,"range":{"start_line":11,"start_character":16,"end_line":11,"end_character":78},"updated":"2026-02-05 19:09:03.000000000","message":"All key\u003dvalue pairs in the input field will be set as the metadata.","commit_id":"ebc7e3cbc756a5d28113dc02a00030516a36433e"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"0970adb87c5765a81eebc121022e9f130a2c46f3","unresolved":false,"context_lines":[{"line_number":8,"context_line":"      \u003cpre\u003ekey\u003dvalue\u003c/pre\u003e"},{"line_number":9,"context_line":"      {% trans \"To unset metadata use:\" %}"},{"line_number":10,"context_line":"      \u003cpre\u003ekey\u003c/pre\u003e"},{"line_number":11,"context_line":"      {% trans \"All pairs that are in field for left are set for this metadata.\" %}"},{"line_number":12,"context_line":"    \u003c/p\u003e"},{"line_number":13,"context_line":"{% endblock %}"}],"source_content_type":"text/html","patch_set":4,"id":"d969464e_51d42880","line":11,"range":{"start_line":11,"start_character":16,"end_line":11,"end_character":78},"in_reply_to":"ce3d1998_0357b4f0","updated":"2026-02-09 14:20:03.000000000","message":"Done","commit_id":"ebc7e3cbc756a5d28113dc02a00030516a36433e"}],"manila_ui/dashboards/project/share_networks/templates/share_networks/update_subnet_metadata.html":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"671aa6204272aaec81df842352b211ddeec716c3","unresolved":true,"context_lines":[{"line_number":3,"context_line":"{% block title %}{% trans \"Edit Share Network Subnet Metadata\" %}{% endblock %}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"{% block main %}"},{"line_number":6,"context_line":"    {% include \u0027project/shares/_update_metadata.html\u0027 %}"},{"line_number":7,"context_line":"{% endblock %}"}],"source_content_type":"text/html","patch_set":4,"id":"1ce5d1a2_972961e5","line":6,"range":{"start_line":6,"start_character":16,"end_line":6,"end_character":52},"updated":"2026-02-05 19:09:03.000000000","message":"is this reuse intentional?","commit_id":"ebc7e3cbc756a5d28113dc02a00030516a36433e"},{"author":{"_account_id":38469,"name":"Rose Kimondo","display_name":"Rose Kimondo","email":"rosewairimu1@gmail.com","username":"rosekimondo"},"change_message_id":"0970adb87c5765a81eebc121022e9f130a2c46f3","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{% block title %}{% trans \"Edit Share Network Subnet Metadata\" %}{% endblock %}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"{% block main %}"},{"line_number":6,"context_line":"    {% include \u0027project/shares/_update_metadata.html\u0027 %}"},{"line_number":7,"context_line":"{% endblock %}"}],"source_content_type":"text/html","patch_set":4,"id":"735b0569_ac97afbc","line":6,"range":{"start_line":6,"start_character":16,"end_line":6,"end_character":52},"in_reply_to":"1ce5d1a2_972961e5","updated":"2026-02-09 14:20:03.000000000","message":"Done","commit_id":"ebc7e3cbc756a5d28113dc02a00030516a36433e"}]}
