Merge pull request #6029 from FinnStutzenstein/remodelUsers
Remodel users
This commit is contained in:
commit
50fdaca46f
@ -37,11 +37,11 @@
|
|||||||
"is_demo_user": false,
|
"is_demo_user": false,
|
||||||
|
|
||||||
"organisation_management_level": "superadmin",
|
"organisation_management_level": "superadmin",
|
||||||
|
|
||||||
"is_present_in_meeting_ids": [],
|
"is_present_in_meeting_ids": [],
|
||||||
"meeting_id": null,
|
"committee_ids": [1],
|
||||||
"guest_meeting_ids": [],
|
"committee_$_management_level": ["1"],
|
||||||
"committee_as_member_ids": [],
|
"committee_$1_management_level": "can_manage",
|
||||||
"committee_as_manager_ids": [],
|
|
||||||
|
|
||||||
"comment_$": [],
|
"comment_$": [],
|
||||||
"number_$": [],
|
"number_$": [],
|
||||||
@ -63,7 +63,9 @@
|
|||||||
"projection_$_ids": [],
|
"projection_$_ids": [],
|
||||||
"current_projector_$_ids": [],
|
"current_projector_$_ids": [],
|
||||||
"vote_delegated_$_to_id": [],
|
"vote_delegated_$_to_id": [],
|
||||||
"vote_delegations_$_from_ids": []
|
"vote_delegations_$_from_ids": [],
|
||||||
|
|
||||||
|
"meeting_ids": [1]
|
||||||
}],
|
}],
|
||||||
"resource": [],
|
"resource": [],
|
||||||
"organisation_tag": [],
|
"organisation_tag": [],
|
||||||
@ -76,8 +78,7 @@
|
|||||||
"meeting_ids": [1],
|
"meeting_ids": [1],
|
||||||
"template_meeting_id": null,
|
"template_meeting_id": null,
|
||||||
"default_meeting_id": 1,
|
"default_meeting_id": 1,
|
||||||
"member_ids": [],
|
"user_ids": [1],
|
||||||
"manager_ids": [],
|
|
||||||
"forward_to_committee_ids": [],
|
"forward_to_committee_ids": [],
|
||||||
"receive_forwardings_from_committee_ids": [],
|
"receive_forwardings_from_committee_ids": [],
|
||||||
"organisation_tag_ids": [],
|
"organisation_tag_ids": [],
|
||||||
@ -253,8 +254,6 @@
|
|||||||
"default_meeting_for_committee_id": 1,
|
"default_meeting_for_committee_id": 1,
|
||||||
"organisation_tag_ids": [],
|
"organisation_tag_ids": [],
|
||||||
"present_user_ids": [],
|
"present_user_ids": [],
|
||||||
"temporary_user_ids": [],
|
|
||||||
"guest_ids": [],
|
|
||||||
"user_ids": [1],
|
"user_ids": [1],
|
||||||
"reference_projector_id": 1,
|
"reference_projector_id": 1,
|
||||||
"list_of_speakers_countdown_id": 1,
|
"list_of_speakers_countdown_id": 1,
|
||||||
|
@ -38,10 +38,9 @@
|
|||||||
"organisation_management_level": "superadmin",
|
"organisation_management_level": "superadmin",
|
||||||
|
|
||||||
"is_present_in_meeting_ids": [1],
|
"is_present_in_meeting_ids": [1],
|
||||||
"meeting_id": null,
|
"committee_ids": [1],
|
||||||
"guest_meeting_ids": [],
|
"committee_$_management_level": ["1"],
|
||||||
"committee_as_member_ids": [],
|
"committee_$1_management_level": "can_manage",
|
||||||
"committee_as_manager_ids": [],
|
|
||||||
|
|
||||||
"comment_$": ["1"],
|
"comment_$": ["1"],
|
||||||
"comment_$1": "Test comment",
|
"comment_$1": "Test comment",
|
||||||
@ -76,7 +75,9 @@
|
|||||||
"vote_delegated_vote_$_ids": ["1"],
|
"vote_delegated_vote_$_ids": ["1"],
|
||||||
"vote_delegated_vote_$1_ids": [7],
|
"vote_delegated_vote_$1_ids": [7],
|
||||||
"vote_delegated_$_to_id": [],
|
"vote_delegated_$_to_id": [],
|
||||||
"vote_delegations_$_from_ids": []
|
"vote_delegations_$_from_ids": [],
|
||||||
|
|
||||||
|
"meeting_ids": [1]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 2,
|
"id": 2,
|
||||||
@ -99,10 +100,8 @@
|
|||||||
"organisation_management_level": "",
|
"organisation_management_level": "",
|
||||||
|
|
||||||
"is_present_in_meeting_ids": [],
|
"is_present_in_meeting_ids": [],
|
||||||
"meeting_id": null,
|
"committee_ids": [1],
|
||||||
"guest_meeting_ids": [],
|
"committee_$_management_level": [],
|
||||||
"committee_as_member_ids": [],
|
|
||||||
"committee_as_manager_ids": [],
|
|
||||||
|
|
||||||
"comment_$": ["1"],
|
"comment_$": ["1"],
|
||||||
"comment_$1": "Test comment a",
|
"comment_$1": "Test comment a",
|
||||||
@ -116,7 +115,7 @@
|
|||||||
"vote_weight_$1": "1.000000",
|
"vote_weight_$1": "1.000000",
|
||||||
|
|
||||||
"group_$_ids": ["1"],
|
"group_$_ids": ["1"],
|
||||||
"group_$1_ids": [6],
|
"group_$1_ids": [5],
|
||||||
"speaker_$_ids": ["1"],
|
"speaker_$_ids": ["1"],
|
||||||
"speaker_$1_ids": [2, 3, 7, 10, 11, 13],
|
"speaker_$1_ids": [2, 3, 7, 10, 11, 13],
|
||||||
"personal_note_$_ids": [],
|
"personal_note_$_ids": [],
|
||||||
@ -132,7 +131,9 @@
|
|||||||
"current_projector_$_ids": [],
|
"current_projector_$_ids": [],
|
||||||
"vote_delegated_vote_$_ids": [],
|
"vote_delegated_vote_$_ids": [],
|
||||||
"vote_delegated_$_to_id": [],
|
"vote_delegated_$_to_id": [],
|
||||||
"vote_delegations_$_from_ids": []
|
"vote_delegations_$_from_ids": [],
|
||||||
|
|
||||||
|
"meeting_ids": [1]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 3,
|
"id": 3,
|
||||||
@ -155,10 +156,8 @@
|
|||||||
"organisation_management_level": "",
|
"organisation_management_level": "",
|
||||||
|
|
||||||
"is_present_in_meeting_ids": [],
|
"is_present_in_meeting_ids": [],
|
||||||
"meeting_id": null,
|
"committee_ids": [],
|
||||||
"guest_meeting_ids": [1],
|
"committee_$_management_level": [],
|
||||||
"committee_as_member_ids": [],
|
|
||||||
"committee_as_manager_ids": [],
|
|
||||||
|
|
||||||
"comment_$": ["1"],
|
"comment_$": ["1"],
|
||||||
"comment_$1": "Test comment b as guest",
|
"comment_$1": "Test comment b as guest",
|
||||||
@ -171,7 +170,8 @@
|
|||||||
"vote_weight_$": ["1"],
|
"vote_weight_$": ["1"],
|
||||||
"vote_weight_$1": "1.000000",
|
"vote_weight_$1": "1.000000",
|
||||||
|
|
||||||
"group_$_ids": [],
|
"group_$_ids": ["1"],
|
||||||
|
"group_$1_ids": [5],
|
||||||
"speaker_$_ids": ["1"],
|
"speaker_$_ids": ["1"],
|
||||||
"speaker_$1_ids": [4, 8, 9],
|
"speaker_$1_ids": [4, 8, 9],
|
||||||
"personal_note_$_ids": [],
|
"personal_note_$_ids": [],
|
||||||
@ -188,7 +188,9 @@
|
|||||||
"current_projector_$_ids": [],
|
"current_projector_$_ids": [],
|
||||||
"vote_delegated_vote_$_ids": [],
|
"vote_delegated_vote_$_ids": [],
|
||||||
"vote_delegated_$_to_id": [],
|
"vote_delegated_$_to_id": [],
|
||||||
"vote_delegations_$_from_ids": []
|
"vote_delegations_$_from_ids": [],
|
||||||
|
|
||||||
|
"meeting_ids": [1]
|
||||||
}],
|
}],
|
||||||
"resource": [
|
"resource": [
|
||||||
{
|
{
|
||||||
@ -217,8 +219,7 @@
|
|||||||
"meeting_ids": [1],
|
"meeting_ids": [1],
|
||||||
"template_meeting_id": null,
|
"template_meeting_id": null,
|
||||||
"default_meeting_id": 1,
|
"default_meeting_id": 1,
|
||||||
"member_ids": [],
|
"user_ids": [1, 2],
|
||||||
"manager_ids": [],
|
|
||||||
"forward_to_committee_ids": [],
|
"forward_to_committee_ids": [],
|
||||||
"receive_forwardings_from_committee_ids": [],
|
"receive_forwardings_from_committee_ids": [],
|
||||||
"organisation_tag_ids": [1],
|
"organisation_tag_ids": [1],
|
||||||
@ -395,8 +396,6 @@
|
|||||||
"default_meeting_for_committee_id": 1,
|
"default_meeting_for_committee_id": 1,
|
||||||
"organisation_tag_ids": [1],
|
"organisation_tag_ids": [1],
|
||||||
"present_user_ids": [1],
|
"present_user_ids": [1],
|
||||||
"temporary_user_ids": [],
|
|
||||||
"guest_ids": [3],
|
|
||||||
"user_ids": [1, 2, 3],
|
"user_ids": [1, 2, 3],
|
||||||
"reference_projector_id": 2,
|
"reference_projector_id": 2,
|
||||||
"list_of_speakers_countdown_id": 1,
|
"list_of_speakers_countdown_id": 1,
|
||||||
@ -570,7 +569,7 @@
|
|||||||
"user.can_change_own_password"
|
"user.can_change_own_password"
|
||||||
],
|
],
|
||||||
|
|
||||||
"user_ids": [2],
|
"user_ids": [2, 3],
|
||||||
"mediafile_access_group_ids": [],
|
"mediafile_access_group_ids": [],
|
||||||
"mediafile_inherited_access_group_ids": [],
|
"mediafile_inherited_access_group_ids": [],
|
||||||
"read_comment_section_ids": [1],
|
"read_comment_section_ids": [1],
|
||||||
|
@ -46,10 +46,10 @@
|
|||||||
# - There are template fields (see autoupdate service interface) with a `$` as
|
# - There are template fields (see autoupdate service interface) with a `$` as
|
||||||
# the placeholder.
|
# the placeholder.
|
||||||
# - The type `template` describes a structured field for the given model. If the
|
# - The type `template` describes a structured field for the given model. If the
|
||||||
# property `replacement` is given, it describes which field of the same model
|
# property `replacement_collection` is given, it describes which model the
|
||||||
# is used as the replacement (=> structured relation). If it not given, the field
|
# replacement ids are belonging to (=> structured relation). If it is not given,
|
||||||
# is a structured tag. The property `fields` contains the definition for all the
|
# the field is a structured tag. The property `fields` contains the definition
|
||||||
# fields that come from the template field.
|
# for all the fields that come from the template field.
|
||||||
# JSON Schema Properties:
|
# JSON Schema Properties:
|
||||||
# - You can add JSON Schema properties to the fields like `enum`, `description`,
|
# - You can add JSON Schema properties to the fields like `enum`, `description`,
|
||||||
# `maxLength` and `minimum`
|
# `maxLength` and `minimum`
|
||||||
@ -126,40 +126,38 @@ user:
|
|||||||
is_present_in_meeting_ids:
|
is_present_in_meeting_ids:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: meeting/present_user_ids
|
to: meeting/present_user_ids
|
||||||
meeting_id:
|
committee_ids:
|
||||||
type: relation
|
|
||||||
to: meeting/temporary_user_ids # Temporary users
|
|
||||||
guest_meeting_ids:
|
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: meeting/guest_ids # Guests in meetings
|
to: committee/user_ids
|
||||||
committee_as_member_ids:
|
|
||||||
type: relation-list
|
# committee specific permissions
|
||||||
to: committee/member_ids
|
committee_$_management_level:
|
||||||
committee_as_manager_ids:
|
type: template
|
||||||
type: relation-list
|
replacement_collection: committee
|
||||||
to: committee/manager_ids
|
description: Hierarchical permission level for the each committee organisation.
|
||||||
|
enum:
|
||||||
|
- can_manage
|
||||||
|
|
||||||
# Meeting specific personal data
|
# Meeting specific personal data
|
||||||
# Replacement is the meeting id but it is not a structured relation.
|
|
||||||
comment_$:
|
comment_$:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields: HTMLStrict
|
fields: HTMLStrict
|
||||||
number_$:
|
number_$:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields: string
|
fields: string
|
||||||
structure_level_$:
|
structure_level_$:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields: string
|
fields: string
|
||||||
about_me_$:
|
about_me_$:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields: HTMLStrict
|
fields: HTMLStrict
|
||||||
vote_weight_$:
|
vote_weight_$:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields: decimal(6)
|
fields: decimal(6)
|
||||||
|
|
||||||
# All foreign keys are meeting-specific:
|
# All foreign keys are meeting-specific:
|
||||||
@ -170,84 +168,89 @@ user:
|
|||||||
# the need to get all groups and filter them for the meeting
|
# the need to get all groups and filter them for the meeting
|
||||||
group_$_ids:
|
group_$_ids:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields:
|
fields:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: group/user_ids
|
to: group/user_ids
|
||||||
speaker_$_ids:
|
speaker_$_ids:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields:
|
fields:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: speaker/user_id
|
to: speaker/user_id
|
||||||
personal_note_$_ids:
|
personal_note_$_ids:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields:
|
fields:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: personal_note/user_id
|
to: personal_note/user_id
|
||||||
on_delete: CASCADE
|
on_delete: CASCADE
|
||||||
supported_motion_$_ids:
|
supported_motion_$_ids:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields:
|
fields:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: motion/supporter_ids
|
to: motion/supporter_ids
|
||||||
submitted_motion_$_ids:
|
submitted_motion_$_ids:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields:
|
fields:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: motion_submitter/user_id
|
to: motion_submitter/user_id
|
||||||
poll_voted_$_ids:
|
poll_voted_$_ids:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields:
|
fields:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: poll/voted_ids
|
to: poll/voted_ids
|
||||||
option_$_ids:
|
option_$_ids:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields:
|
fields:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: option/content_object_id
|
to: option/content_object_id
|
||||||
vote_$_ids:
|
vote_$_ids:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields:
|
fields:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: vote/user_id
|
to: vote/user_id
|
||||||
vote_delegated_vote_$_ids:
|
vote_delegated_vote_$_ids:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields:
|
fields:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: vote/delegated_user_id
|
to: vote/delegated_user_id
|
||||||
assignment_candidate_$_ids:
|
assignment_candidate_$_ids:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields:
|
fields:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: assignment_candidate/user_id
|
to: assignment_candidate/user_id
|
||||||
projection_$_ids:
|
projection_$_ids:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields:
|
fields:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: projection/content_object_id
|
to: projection/content_object_id
|
||||||
vote_delegated_$_to_id:
|
vote_delegated_$_to_id:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields:
|
fields:
|
||||||
type: relation
|
type: relation
|
||||||
to: user/vote_delegations_$_from_ids
|
to: user/vote_delegations_$_from_ids
|
||||||
vote_delegations_$_from_ids:
|
vote_delegations_$_from_ids:
|
||||||
type: template
|
type: template
|
||||||
replacement: meeting_id
|
replacement_collection: meeting
|
||||||
fields:
|
fields:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: user/vote_delegated_$_to_id
|
to: user/vote_delegated_$_to_id
|
||||||
|
|
||||||
|
meeting_ids:
|
||||||
|
type: number[]
|
||||||
|
decription: Calculated. All ids from group_$_ids as integers.
|
||||||
|
read_only: true
|
||||||
|
|
||||||
# New: Resource
|
# New: Resource
|
||||||
# Resources are organsation wide "mediafiles", like logos for the organisatio or
|
# Resources are organsation wide "mediafiles", like logos for the organisatio or
|
||||||
# organisation-wide fonts. Therefore, no permission checks are done and the user
|
# organisation-wide fonts. Therefore, no permission checks are done and the user
|
||||||
@ -300,12 +303,9 @@ committee:
|
|||||||
default_meeting_id:
|
default_meeting_id:
|
||||||
type: relation
|
type: relation
|
||||||
to: meeting/default_meeting_for_committee_id
|
to: meeting/default_meeting_for_committee_id
|
||||||
member_ids:
|
user_ids:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: user/committee_as_member_ids
|
to: user/committee_ids
|
||||||
manager_ids:
|
|
||||||
type: relation-list
|
|
||||||
to: user/committee_as_manager_ids
|
|
||||||
forward_to_committee_ids:
|
forward_to_committee_ids:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: committee/receive_forwardings_from_committee_ids
|
to: committee/receive_forwardings_from_committee_ids
|
||||||
@ -878,15 +878,9 @@ meeting:
|
|||||||
present_user_ids:
|
present_user_ids:
|
||||||
type: relation-list
|
type: relation-list
|
||||||
to: user/is_present_in_meeting_ids
|
to: user/is_present_in_meeting_ids
|
||||||
temporary_user_ids:
|
|
||||||
type: relation-list
|
|
||||||
to: user/meeting_id
|
|
||||||
guest_ids:
|
|
||||||
type: relation-list
|
|
||||||
to: user/guest_meeting_ids
|
|
||||||
user_ids:
|
user_ids:
|
||||||
type: number[]
|
type: number[]
|
||||||
decription: Calculated. All ids from temporary_user_ids, guest_ids and all users assigned to groups.
|
decription: Calculated. All user ids from all users assigned to groups of this meeting.
|
||||||
read_only: true
|
read_only: true
|
||||||
reference_projector_id:
|
reference_projector_id:
|
||||||
type: relation
|
type: relation
|
||||||
|
Loading…
Reference in New Issue
Block a user