Conflicts:
cura/Machines/Models/MaterialManagementModel.py -> On Master we had temporarily reverted the action of this button because it became apparent that the sync wasn't going to be in 4.12. That revert is no longer necessary if this is merged.
With the lambda it would capture the variable of printer_id. It wouldn't actually store the value of printer_id in teh created lambda. As a result, it was using the current value of printer_id when the lambda executes, rather than the value of printer_id when the lambda is constructed. A bit weird how that works in Python's lambdas.
With partial functions it works properly.
Contributes to issue CURA-8609.
The API endpoint got renamed (without my awareness). It also needed to be a POST request, probably since the beginning. And apparently it needs everything to be in a sub-field called 'data' for some reason.
Contributes to issue CURA-8609.
The entire response is contained in a lone 'data' field in the response. Why this is necessary I don't know, because indeed everything the server can tell us is data so everything would be in a 'data' field. But that's how the API reacts so that's how we'll have to parse it.
Contributes to issue CURA-8609.
These two have garnered some feedback in that it's wholly unclear what the sentences even mean. Hopefully this correction makes it more clear for next time.
Contributes to issue CURA-8638.
Two changes have been made:
- Use more consistent terminology for the top side of the model (which could be skin or walls). This is corrected from feedback by our translators.
- Don't add disclaimers about the infill density to this already way-too-long setting description. If anything, a disclaimer should be added to the infill density description that Gradual Infill and some infill patterns might not reach the desired density everywhere. But really, I think it's more in the domain of user documentation like the Ultimaker website or the Settings Guide.
There are new translations. This moves all of those new strings into the translation files so that the translators can translate them. Every string that has an empty translation still needs to be translated.
Contributes to issue CURA-8638.
Added a dictionary where additional user rights can be set.
A plugin such as the DigitalFactory can update this dictionary
if certain account rights change. The `account.additionalRights`
is intended to allow us some flexibility, without breaking the API
in the future.
The Application Switcher now queries the additional account rights,
which is updated by the DF plugin to only show `My printers`,
`Digital Library` and `Print jobs` when the user has access to the
DF.
Contributes to CURA-8624
Some links in the application only make sense to
forward a user when they are logged into the DF.
Since we don't expose yet if the user has access
to the DF it will now only check if they are
logged in.
Contributes to CURA-8624