mirror of https://github.com/CIRCL/AIL-framework
chg: [user-account] add default card
parent
9a0e77dbbd
commit
912eadc563
|
@ -254,7 +254,7 @@ def get_objects_meta(objs, options=set(), flask_context=False):
|
||||||
|
|
||||||
def get_object_card_meta(obj_type, subtype, id, related_btc=False):
|
def get_object_card_meta(obj_type, subtype, id, related_btc=False):
|
||||||
obj = get_object(obj_type, subtype, id)
|
obj = get_object(obj_type, subtype, id)
|
||||||
meta = obj.get_meta(options={'chat', 'created_at', 'icon', 'info', 'nb_messages', 'nb_participants', 'threads'})
|
meta = obj.get_meta(options={'chat', 'chats', 'created_at', 'icon', 'info', 'nb_messages', 'nb_participants', 'threads', 'username'})
|
||||||
# meta['icon'] = obj.get_svg_icon()
|
# meta['icon'] = obj.get_svg_icon()
|
||||||
meta['svg_icon'] = obj.get_svg_icon()
|
meta['svg_icon'] = obj.get_svg_icon()
|
||||||
if subtype or obj_type == 'cookie-name' or obj_type == 'cve' or obj_type == 'etag' or obj_type == 'title' or obj_type == 'favicon' or obj_type == 'hhhash':
|
if subtype or obj_type == 'cookie-name' or obj_type == 'cve' or obj_type == 'etag' or obj_type == 'title' or obj_type == 'favicon' or obj_type == 'hhhash':
|
||||||
|
|
|
@ -270,4 +270,5 @@ def objects_user_account():
|
||||||
user_account = user_account[0]
|
user_account = user_account[0]
|
||||||
languages = Language.get_translation_languages()
|
languages = Language.get_translation_languages()
|
||||||
return render_template('user_account.html', meta=user_account, bootstrap_label=bootstrap_label,
|
return render_template('user_account.html', meta=user_account, bootstrap_label=bootstrap_label,
|
||||||
|
ail_tags=Tag.get_modal_add_tags(user_account['id'], user_account['type'], user_account['subtype']),
|
||||||
translation_languages=languages, translation_target=target)
|
translation_languages=languages, translation_target=target)
|
||||||
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
<link href="{{ url_for('static', filename='css/tags.css') }}" rel="stylesheet" type="text/css" />
|
||||||
|
<script src="{{ url_for('static', filename='js/tags.js') }}"></script>
|
||||||
|
|
||||||
|
{% with modal_add_tags=ail_tags %}
|
||||||
|
{% include 'modals/add_tags.html' %}
|
||||||
|
{% endwith %}
|
||||||
|
|
||||||
|
{% include 'modals/edit_tag.html' %}
|
||||||
|
|
||||||
|
|
||||||
|
<div class="card my-1">
|
||||||
|
<div class="card-header" style="background-color:#d9edf7;font-size: 15px">
|
||||||
|
<h4 class="text-secondary">{% if meta['username'] %}{{ meta["username"]["id"] }} {% else %} {{ meta['id'] }}{% endif %} </h4>
|
||||||
|
{% if meta['icon'] %}
|
||||||
|
<div><img src="{{ url_for('objects_image.image', filename=meta['icon'])}}" class="mb-2" alt="{{ meta['id'] }}" width="250" height="250"></div>
|
||||||
|
{% endif %}
|
||||||
|
<ul class="list-group mb-2">
|
||||||
|
<li class="list-group-item py-0">
|
||||||
|
<table class="table">
|
||||||
|
<thead class="">
|
||||||
|
<tr>
|
||||||
|
<th>username</th>
|
||||||
|
<th>ID</th>
|
||||||
|
<th>First Seen</th>
|
||||||
|
<th>Last Seen</th>
|
||||||
|
<th>NB Chats</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody style="font-size: 15px;">
|
||||||
|
<tr>
|
||||||
|
<td>{{ meta['username']['id'] }}</td>
|
||||||
|
<td>{{ meta['id'] }}</td>
|
||||||
|
<td>
|
||||||
|
{% if meta['first_seen'] %}
|
||||||
|
{{ meta['first_seen'][0:4] }}-{{ meta['first_seen'][4:6] }}-{{ meta['first_seen'][6:8] }}
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{% if meta['last_seen'] %}
|
||||||
|
{{ meta['last_seen'][0:4] }}-{{ meta['last_seen'][4:6] }}-{{ meta['last_seen'][6:8] }}
|
||||||
|
{% endif %}
|
||||||
|
</td>
|
||||||
|
<td>{{ meta['chats'] | length }}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{% if meta['info'] %}
|
||||||
|
<li class="list-group-item py-1">
|
||||||
|
<pre class="my-0">{{ meta['info'] }}</pre>
|
||||||
|
{% if meta['translation_info'] %}
|
||||||
|
<hr>
|
||||||
|
<pre class="my-0 text-secondary">{{ meta['translation_info'] }}</pre>
|
||||||
|
{% endif %}
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="list-group-item py-0">
|
||||||
|
<div class="my-2">
|
||||||
|
Tags:
|
||||||
|
{% for tag in meta['tags'] %}
|
||||||
|
<button class="btn btn-{{ bootstrap_label[loop.index0 % 5] }}"
|
||||||
|
data-toggle="modal" data-target="#edit_tags_modal"
|
||||||
|
data-tagid="{{ tag }}" data-objtype="{{ meta['type'] }}" data-objsubtype="{{ meta['subtype'] }}" data-objid="{{ meta["id"] }}">
|
||||||
|
{{ tag }}
|
||||||
|
</button>
|
||||||
|
{% endfor %}
|
||||||
|
<button type="button" class="btn btn-light" data-toggle="modal" data-target="#add_tags_modal">
|
||||||
|
<i class="far fa-plus-square"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
{% with obj_type=meta['type'], obj_id=meta['id'], obj_subtype=meta['subtype'] %}
|
||||||
|
{% include 'modals/investigations_register_obj.html' %}
|
||||||
|
{% endwith %}
|
||||||
|
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#investigations_register_obj_modal">
|
||||||
|
<i class="fas fa-microscope"></i> Investigations
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<span class="mb-2 float-right">
|
||||||
|
{% if is_correlation %}
|
||||||
|
<a href="{{ url_for('chats_explorer.objects_user_account')}}?subtype={{ meta['subtype'] }}&id={{ meta['id'] }}">
|
||||||
|
<button class="btn btn-info"><i class="fas fa-user-circle"></i> Show Object</button>
|
||||||
|
</a>
|
||||||
|
{% else %}
|
||||||
|
<a href="{{ url_for('correlation.show_correlation')}}?type={{ meta['type'] }}&subtype={{ meta['subtype'] }}&id={{ meta['id'] }}">
|
||||||
|
<button class="btn btn-info"><i class="far fa-eye"></i> Correlations
|
||||||
|
{# <span class="badge badge-warning">{{ meta['nb_correlations'] }}</span>#}
|
||||||
|
</button>
|
||||||
|
</a>
|
||||||
|
{% endif %}
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -32,75 +32,7 @@
|
||||||
|
|
||||||
<div class="col-12 col-lg-10" id="core_content">
|
<div class="col-12 col-lg-10" id="core_content">
|
||||||
|
|
||||||
<div class="card my-3">
|
{% include 'chats_explorer/card_user_account.html' %}
|
||||||
|
|
||||||
<div class="card-header" style="background-color:#d9edf7;font-size: 15px">
|
|
||||||
<h4 class="text-secondary">{% if meta['username'] %}{{ meta["username"]["id"] }} {% else %} {{ meta['id'] }}{% endif %} </h4>
|
|
||||||
{% if meta['icon'] %}
|
|
||||||
<div><img src="{{ url_for('objects_image.image', filename=meta['icon'])}}" class="mb-2" alt="{{ meta['id'] }}" width="250" height="250"></div>
|
|
||||||
{% endif %}
|
|
||||||
<ul class="list-group mb-2">
|
|
||||||
<li class="list-group-item py-0">
|
|
||||||
<table class="table">
|
|
||||||
<thead class="">
|
|
||||||
<tr>
|
|
||||||
<th>username</th>
|
|
||||||
<th>ID</th>
|
|
||||||
<th>First Seen</th>
|
|
||||||
<th>Last Seen</th>
|
|
||||||
<th>NB Chats</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody style="font-size: 15px;">
|
|
||||||
<tr>
|
|
||||||
<td>{{ meta['username']['id'] }}</td>
|
|
||||||
<td>{{ meta['id'] }}</td>
|
|
||||||
<td>
|
|
||||||
{% if meta['first_seen'] %}
|
|
||||||
{{ meta['first_seen'][0:4] }}-{{ meta['first_seen'][4:6] }}-{{ meta['first_seen'][6:8] }}
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
{% if meta['last_seen'] %}
|
|
||||||
{{ meta['last_seen'][0:4] }}-{{ meta['last_seen'][4:6] }}-{{ meta['last_seen'][6:8] }}
|
|
||||||
{% endif %}
|
|
||||||
</td>
|
|
||||||
<td>{{ meta['chats'] | length }}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
{% if meta['info'] %}
|
|
||||||
<li class="list-group-item py-0">
|
|
||||||
<pre class="my-0">{{ meta['info'] }}</pre>
|
|
||||||
{% if meta['translation_info'] %}
|
|
||||||
<hr>
|
|
||||||
<pre class="my-0 text-secondary">{{ meta['translation_info'] }}</pre>
|
|
||||||
{% endif %}
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div class="d-flex flex-row-reverse bd-highlight">
|
|
||||||
<div>
|
|
||||||
<a href="{{ url_for('correlation.show_correlation')}}?type={{ meta['type'] }}&subtype={{ meta['subtype'] }}&id={{ meta['id'] }}" target="_blank">
|
|
||||||
<button class="btn btn-lg btn-info"><i class="fas fa-project-diagram"></i> Correlations Graph</button>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
{# <div>#}
|
|
||||||
{# {% with obj_type=meta['type'], obj_id=meta['id'], obj_subtype=''%}#}
|
|
||||||
{# {% include 'modals/investigations_register_obj.html' %}#}
|
|
||||||
{# {% endwith %}#}
|
|
||||||
{# <div class="mr-2">#}
|
|
||||||
{# <button type="button" class="btn btn-lg btn-primary" data-toggle="modal" data-target="#investigations_register_obj_modal">#}
|
|
||||||
{# <i class="fas fa-microscope"></i> Investigations#}
|
|
||||||
{# </button>#}
|
|
||||||
{# </div>#}
|
|
||||||
{# </div>#}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{% with translate_url=url_for('chats_explorer.objects_user_account', subtype=meta['subtype']), obj_id=meta['id'] %}
|
{% with translate_url=url_for('chats_explorer.objects_user_account', subtype=meta['subtype']), obj_id=meta['id'] %}
|
||||||
{% include 'chats_explorer/block_translation.html' %}
|
{% include 'chats_explorer/block_translation.html' %}
|
||||||
|
|
|
@ -106,6 +106,8 @@
|
||||||
{% include 'chats_explorer/card_chat.html' %}
|
{% include 'chats_explorer/card_chat.html' %}
|
||||||
{% elif dict_object["object_type"] == "chat-subchannel" %}
|
{% elif dict_object["object_type"] == "chat-subchannel" %}
|
||||||
{% include 'chats_explorer/card_chat_subchannel.html' %}
|
{% include 'chats_explorer/card_chat_subchannel.html' %}
|
||||||
|
{% elif dict_object["object_type"] == "user-account" %}
|
||||||
|
{% include 'chats_explorer/card_user_account.html' %}
|
||||||
{% elif dict_object["object_type"] == "cryptocurrency" %}
|
{% elif dict_object["object_type"] == "cryptocurrency" %}
|
||||||
{% include 'correlation/metadata_card_cryptocurrency.html' %}
|
{% include 'correlation/metadata_card_cryptocurrency.html' %}
|
||||||
{% elif dict_object["object_type"] == "username" %}
|
{% elif dict_object["object_type"] == "username" %}
|
||||||
|
|
Loading…
Reference in New Issue