)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"fb4ec3365e750eda43cb2f744213fb50ca80057c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7bd6ed59_93d0e777","updated":"2025-11-27 14:42:59.000000000","message":"@mattc@stackhpc.com hello, if possible, please find time for review this.","commit_id":"6c76a41a582e2bf1b752e90aa8cb21972ecec9da"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"258c0495688bdcd680790b97fe1a357cc918c682","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b36657ed_382a1cdf","in_reply_to":"7bd6ed59_93d0e777","updated":"2025-12-10 10:24:56.000000000","message":"Hi @lazekteam@gmail.com, I\u0027ve been working with Leonie to develop this patch so I think it\u0027s best I don\u0027t also sign off on it. priteau plans to review it soon.","commit_id":"6c76a41a582e2bf1b752e90aa8cb21972ecec9da"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"76ee5cfa489afcefc730c24ae03a1d6001162ec9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"be1dfeec_f097d020","in_reply_to":"b36657ed_382a1cdf","updated":"2025-12-10 10:28:06.000000000","message":"@mattc@stackhpc.com thank you.","commit_id":"6c76a41a582e2bf1b752e90aa8cb21972ecec9da"}],"cloudkittydashboard/dashboards/project/reporting/templates/reporting/this_month.html":[{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"22a6b7f8eb5aae34c0b17d06518ba6e89531bd9b","unresolved":true,"context_lines":[{"line_number":24,"context_line":"  \u003c/div\u003e"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"\u003cstyle\u003e"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  div.tooltip-donut {"},{"line_number":30,"context_line":"     position: absolute;"}],"source_content_type":"text/html","patch_set":3,"id":"dd8cbb12_5d1bb589","line":27,"updated":"2025-08-25 06:40:17.000000000","message":"I am not sure how horizon\u0027s view is today. I would strongly recommend to move styles out of the templates.","commit_id":"8caa93bd2d3ed938ee750268772f96a6500b331c"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"96b6b5d7d87d12dbb4db80dcfc73b4c1fa4cbd8d","unresolved":false,"context_lines":[{"line_number":24,"context_line":"  \u003c/div\u003e"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"\u003cstyle\u003e"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  div.tooltip-donut {"},{"line_number":30,"context_line":"     position: absolute;"}],"source_content_type":"text/html","patch_set":3,"id":"eb756548_119fb081","line":27,"in_reply_to":"dd8cbb12_5d1bb589","updated":"2025-09-08 12:21:52.000000000","message":"Done","commit_id":"8caa93bd2d3ed938ee750268772f96a6500b331c"}],"cloudkittydashboard/dashboards/project/reporting/views.py":[{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"8fdd46c837e692043a1a64fdf41ff4919278ce1f","unresolved":true,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"class CostRepartitionTab(tabs.Tab):"},{"line_number":81,"context_line":"    name \u003d \"This month\""},{"line_number":82,"context_line":"    slug \u003d \"this_month\""},{"line_number":83,"context_line":"    template_name \u003d \u0027project/reporting/this_month.html\u0027"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3c1265f0_898111a9","line":81,"updated":"2025-08-25 00:43:15.000000000","message":"```suggestion\n    name \u003d _(\"This month\")\n```","commit_id":"8caa93bd2d3ed938ee750268772f96a6500b331c"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"88f0a1e6ea9e8b352143f27eef2a8b1a33aac3b8","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"class CostRepartitionTab(tabs.Tab):"},{"line_number":81,"context_line":"    name \u003d \"This month\""},{"line_number":82,"context_line":"    slug \u003d \"this_month\""},{"line_number":83,"context_line":"    template_name \u003d \u0027project/reporting/this_month.html\u0027"},{"line_number":84,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"822e0a83_29f2f38a","line":81,"in_reply_to":"3c1265f0_898111a9","updated":"2025-08-27 12:44:39.000000000","message":"Done","commit_id":"8caa93bd2d3ed938ee750268772f96a6500b331c"},{"author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"change_message_id":"22a6b7f8eb5aae34c0b17d06518ba6e89531bd9b","unresolved":true,"context_lines":[{"line_number":92,"context_line":"            # set values to be from datepicker form"},{"line_number":93,"context_line":"            start \u003d form.cleaned_data[\u0027start\u0027]"},{"line_number":94,"context_line":"            end \u003d form.cleaned_data[\u0027end\u0027]"},{"line_number":95,"context_line":"            begin \u003d \"%4d-%02d-%02dT00:00:00\" % (start.year,"},{"line_number":96,"context_line":"                                                start.month, start.day)"},{"line_number":97,"context_line":"            end \u003d \"%4d-%02d-%02dT23:59:59\" % (end.year, end.month, end.day)"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"d2e4292e_317b811b","line":95,"updated":"2025-08-25 06:40:17.000000000","message":"I wonder how this works with i18n these days.","commit_id":"8caa93bd2d3ed938ee750268772f96a6500b331c"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"d843ed22e5f98767f1cedf3c5915986a3b24b464","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            # set values to be from datepicker form"},{"line_number":93,"context_line":"            start \u003d form.cleaned_data[\u0027start\u0027]"},{"line_number":94,"context_line":"            end \u003d form.cleaned_data[\u0027end\u0027]"},{"line_number":95,"context_line":"            begin \u003d \"%4d-%02d-%02dT00:00:00\" % (start.year,"},{"line_number":96,"context_line":"                                                start.month, start.day)"},{"line_number":97,"context_line":"            end \u003d \"%4d-%02d-%02dT23:59:59\" % (end.year, end.month, end.day)"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"d811139e_1d94fe69","line":95,"in_reply_to":"d2e4292e_317b811b","updated":"2025-09-05 10:28:08.000000000","message":"These strings are arguments sent to the CloudKitty API. It would definitely be good to investigate support for timezone-aware datetimes, but this is beyond the scope of this change. It may need to be in a different part of the code, I\u0027ll have a look soon. I am happy to do this once the rest of my dashboard related patches are merged.","commit_id":"8caa93bd2d3ed938ee750268772f96a6500b331c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"8fdd46c837e692043a1a64fdf41ff4919278ce1f","unresolved":true,"context_lines":[{"line_number":99,"context_line":"            if end \u003c begin:"},{"line_number":100,"context_line":"                messages.error("},{"line_number":101,"context_line":"                    self.request,"},{"line_number":102,"context_line":"                    _("},{"line_number":103,"context_line":"                        \"Invalid time period. The end date should be \""},{"line_number":104,"context_line":"                        \"more recent than the start date.\""},{"line_number":105,"context_line":"                        \" Setting the end as today.\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"bcd03249_2ce829b2","line":102,"updated":"2025-08-25 00:43:15.000000000","message":"I think move to new line not need?","commit_id":"8caa93bd2d3ed938ee750268772f96a6500b331c"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"88f0a1e6ea9e8b352143f27eef2a8b1a33aac3b8","unresolved":false,"context_lines":[{"line_number":99,"context_line":"            if end \u003c begin:"},{"line_number":100,"context_line":"                messages.error("},{"line_number":101,"context_line":"                    self.request,"},{"line_number":102,"context_line":"                    _("},{"line_number":103,"context_line":"                        \"Invalid time period. The end date should be \""},{"line_number":104,"context_line":"                        \"more recent than the start date.\""},{"line_number":105,"context_line":"                        \" Setting the end as today.\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"1be72def_a2393a13","line":102,"in_reply_to":"bcd03249_2ce829b2","updated":"2025-08-27 12:44:39.000000000","message":"Done","commit_id":"8caa93bd2d3ed938ee750268772f96a6500b331c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"8fdd46c837e692043a1a64fdf41ff4919278ce1f","unresolved":true,"context_lines":[{"line_number":111,"context_line":"            elif start \u003e today.date():"},{"line_number":112,"context_line":"                messages.error("},{"line_number":113,"context_line":"                    self.request,"},{"line_number":114,"context_line":"                    _("},{"line_number":115,"context_line":"                        \"Invalid time period. You are requesting \""},{"line_number":116,"context_line":"                        \"data from the future which may not exist.\""},{"line_number":117,"context_line":"                    )"}],"source_content_type":"text/x-python","patch_set":3,"id":"a3eda4d1_abc6b9ce","line":114,"updated":"2025-08-25 00:43:15.000000000","message":"ditto","commit_id":"8caa93bd2d3ed938ee750268772f96a6500b331c"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"88f0a1e6ea9e8b352143f27eef2a8b1a33aac3b8","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            elif start \u003e today.date():"},{"line_number":112,"context_line":"                messages.error("},{"line_number":113,"context_line":"                    self.request,"},{"line_number":114,"context_line":"                    _("},{"line_number":115,"context_line":"                        \"Invalid time period. You are requesting \""},{"line_number":116,"context_line":"                        \"data from the future which may not exist.\""},{"line_number":117,"context_line":"                    )"}],"source_content_type":"text/x-python","patch_set":3,"id":"43504043_44cb09a5","line":114,"in_reply_to":"a3eda4d1_abc6b9ce","updated":"2025-08-27 12:44:39.000000000","message":"Done","commit_id":"8caa93bd2d3ed938ee750268772f96a6500b331c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"8fdd46c837e692043a1a64fdf41ff4919278ce1f","unresolved":true,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        elif form.is_bound:"},{"line_number":121,"context_line":"            messages.error("},{"line_number":122,"context_line":"                self.request, _("},{"line_number":123,"context_line":"                    \"Invalid date format: Using this month as default.\")"},{"line_number":124,"context_line":"            )"},{"line_number":125,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"13a2f991_bc518c98","line":122,"updated":"2025-08-25 00:43:15.000000000","message":"ditto","commit_id":"8caa93bd2d3ed938ee750268772f96a6500b331c"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"88f0a1e6ea9e8b352143f27eef2a8b1a33aac3b8","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        elif form.is_bound:"},{"line_number":121,"context_line":"            messages.error("},{"line_number":122,"context_line":"                self.request, _("},{"line_number":123,"context_line":"                    \"Invalid date format: Using this month as default.\")"},{"line_number":124,"context_line":"            )"},{"line_number":125,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"c9cf2542_8c3f1c01","line":122,"in_reply_to":"13a2f991_bc518c98","updated":"2025-08-27 12:44:39.000000000","message":"Done","commit_id":"8caa93bd2d3ed938ee750268772f96a6500b331c"}]}
