movements: restrict edits/actions after a movement or PO are confirmed
movements: an empty HiddenInput can not be required
movements: fix title name of movement "type"
movements: fix return logic after PO "receive" has done some action

We can not longer stay at that "GET" url, because it contains the action
verb (like "do_confirm=1").
i18n: Greek translations for movements app
assets: improve the views for Item, ItemGroup

Use custom layouts, confine 'location' and Group's 'items' to be read-only.
inventory: hide the actions of inventories from list view
inventory: draft of "compare" view
movements: remove excess fields of PO list view
products: remove actions from products list
assets/lookups: match Items by serial or property numbers

If either of those numbers (or codes) are given, select that Item
immediately.
inventory: views, procedure of comparing an inventory to location
assets.lookups: amend previous commit, remove comment
assets: "src_contract" column in asset

It is a legal requirement, in our case, that we select items according
to the procurement contract they first came in from. So, we have to
materialize this into a field and have a filter for it.
generic_views: fields at inline forms shall explicitly name their relation

In the case that the inline form model has 2x foreign keys to our model,
we need to explicitly pass the right field as 'fk_name' and resolve the
ambiguity.
generic_views: class based GenericDetailView, with inline formset cap.

We need to have a DetailView that includes _InlineViewMixin capability,
which means we also migrate from function 'object_detail()' to class-
based DetailView.

The base DetailView didn't include Form functionality, either. Put it
in.
generic_views: adapt layout forms to have read-only mode on 'details'

Now that we can reuse the same layout forms for editable (create/update)
and read-only (details) modes, we need to remove "management" code from
them.
products: reshape the ItemCategory model, 'may_contain' to separate model

At ItemCategory model add the verbose_names to the fields. Then, take
out the 'may_contain' ManyToMany field and convert it to a separate
model. The ItemCategoryContain model will now specify the count of items
allowed per contained category.
products: overhaul the forms/views of ItemCategory
assets.item: remove create/update/delete items from menu

These shall not be executed directly, but rather computed through
movements.