Cleanup: remove tracked pycache and db.sqlite3; add map membership backfill, new components, backups, docs
This commit is contained in:
+22
-17
@@ -29,19 +29,20 @@ def _network_maps_qs(user):
|
||||
return qs
|
||||
|
||||
|
||||
def node_from_contact(contact):
|
||||
def node_from_contact(contact, defaults=None):
|
||||
defaults = defaults or {}
|
||||
return {
|
||||
'id': contact.id,
|
||||
'label': contact.name,
|
||||
'title': '\n'.join(filter(None, [contact.organization, contact.position, contact.email])),
|
||||
'group': contact.organization or 'default',
|
||||
**defaults,
|
||||
}
|
||||
|
||||
|
||||
def node_from_membership(membership):
|
||||
contact = membership.contact
|
||||
return {
|
||||
**node_from_contact(contact),
|
||||
return node_from_contact(contact, {
|
||||
'life_sphere': membership.life_sphere,
|
||||
'network_circle': membership.network_circle,
|
||||
'importance': membership.importance,
|
||||
@@ -49,7 +50,22 @@ def node_from_membership(membership):
|
||||
'map_angle': membership.map_angle,
|
||||
'map_radius_ratio': membership.map_radius_ratio,
|
||||
'membership_id': membership.id,
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
def nodes_for_network_map(network_map, user):
|
||||
memberships = list(
|
||||
NetworkMapMembership.objects.filter(map_id=network_map.id)
|
||||
.select_related('contact', 'map')
|
||||
.order_by('contact__name')
|
||||
)
|
||||
if use_jwt_auth() and user and user.is_authenticated:
|
||||
memberships = [
|
||||
m for m in memberships
|
||||
if m.map.owner_id == user.id and m.contact.owner_id == user.id
|
||||
]
|
||||
|
||||
return [node_from_membership(m) for m in memberships]
|
||||
|
||||
|
||||
def edge_from_relation(relation):
|
||||
@@ -85,19 +101,8 @@ def build_network_map_graph(map_id=None, user=None):
|
||||
if not network_map:
|
||||
return {'nodes': [], 'edges': [], 'conflictology': False, 'conflict_subject': ''}
|
||||
|
||||
memberships = list(
|
||||
NetworkMapMembership.objects.filter(map_id=map_id)
|
||||
.select_related('contact', 'map')
|
||||
.order_by('contact__name')
|
||||
)
|
||||
if use_jwt_auth() and user and user.is_authenticated:
|
||||
memberships = [
|
||||
m for m in memberships
|
||||
if m.map.owner_id == user.id and m.contact.owner_id == user.id
|
||||
]
|
||||
|
||||
allowed_ids = {m.contact_id for m in memberships}
|
||||
nodes = [node_from_membership(m) for m in memberships]
|
||||
nodes = nodes_for_network_map(network_map, user)
|
||||
allowed_ids = {n['id'] for n in nodes}
|
||||
relations = _relations_qs(user)
|
||||
edges = [
|
||||
edge_from_relation(r)
|
||||
|
||||
Reference in New Issue
Block a user