mirror of https://github.com/CIRCL/AIL-framework
				
				
				
			chg: [tags] searech messages tags by daterange
							parent
							
								
									f6db9fe888
								
							
						
					
					
						commit
						943a873124
					
				| 
						 | 
				
			
			@ -64,7 +64,7 @@ unsafe_tags = build_unsafe_tags()
 | 
			
		|||
# get set_keys: intersection
 | 
			
		||||
def get_obj_keys_by_tags(tags, obj_type, subtype='', date=None):
 | 
			
		||||
    l_set_keys = []
 | 
			
		||||
    if obj_type == 'item':
 | 
			
		||||
    if obj_type == 'item' or obj_type == 'message':
 | 
			
		||||
        for tag in tags:
 | 
			
		||||
            l_set_keys.append(f'{obj_type}:{subtype}:{tag}:{date}')
 | 
			
		||||
    else:
 | 
			
		||||
| 
						 | 
				
			
			@ -657,6 +657,15 @@ def add_object_tag(tag, obj_type, obj_id, subtype=''):
 | 
			
		|||
                domain = item_basic.get_item_domain(obj_id)
 | 
			
		||||
                add_object_tag(tag, "domain", domain)
 | 
			
		||||
 | 
			
		||||
            update_tag_metadata(tag, date)
 | 
			
		||||
        # MESSAGE
 | 
			
		||||
        elif obj_type == 'message':
 | 
			
		||||
            timestamp = obj_id.split('/')[1]
 | 
			
		||||
            date = datetime.datetime.fromtimestamp(float(timestamp)).strftime('%Y%m%d')
 | 
			
		||||
            r_tags.sadd(f'{obj_type}:{subtype}:{tag}:{date}', obj_id)
 | 
			
		||||
 | 
			
		||||
            # TODO ADD CHAT TAGS ????
 | 
			
		||||
 | 
			
		||||
            update_tag_metadata(tag, date)
 | 
			
		||||
        else:
 | 
			
		||||
            r_tags.sadd(f'{obj_type}:{subtype}:{tag}', obj_id)
 | 
			
		||||
| 
						 | 
				
			
			@ -729,7 +738,7 @@ def delete_object_tags(obj_type, subtype, obj_id):
 | 
			
		|||
def get_obj_by_tags(obj_type, l_tags, date_from=None, date_to=None, nb_obj=50, page=1):
 | 
			
		||||
    # with daterange
 | 
			
		||||
    l_tagged_obj = []
 | 
			
		||||
    if obj_type=='item':
 | 
			
		||||
    if obj_type=='item' or obj_type=='message':
 | 
			
		||||
        #sanityze date
 | 
			
		||||
        date_range = sanitise_tags_date_range(l_tags, date_from=date_from, date_to=date_to)
 | 
			
		||||
        l_dates = Date.substract_date(date_range['date_from'], date_range['date_to'])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@
 | 
			
		|||
	</div>
 | 
			
		||||
		<div class="card-body">
 | 
			
		||||
 | 
			
		||||
			{%if object_type=='item'%}
 | 
			
		||||
			{%if object_type=='item' or object_type=='message'%}
 | 
			
		||||
				<div class="row mb-3">
 | 
			
		||||
					<div class="col-md-6">
 | 
			
		||||
						<div class="input-group" id="date-range-from">
 | 
			
		||||
| 
						 | 
				
			
			@ -56,7 +56,7 @@
 | 
			
		|||
  function searchTags() {
 | 
			
		||||
  	var data = ltags.getValue();
 | 
			
		||||
		var parameter = "?ltags=" + data + "&object_type={{ object_type }}{%if page%}&page={{ page }}{%endif%}";
 | 
			
		||||
		{%if object_type=='item'%}
 | 
			
		||||
		{%if object_type=='item' or object_type=='message'%}
 | 
			
		||||
			var date_from = $('#date-range-from-input').val();
 | 
			
		||||
	  	var date_to =$('#date-range-to-input').val();
 | 
			
		||||
			parameter = parameter + "&date_from=" + date_from + "&date_to=" + date_to;
 | 
			
		||||
| 
						 | 
				
			
			@ -68,7 +68,7 @@
 | 
			
		|||
  }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{%if object_type=='item'%}
 | 
			
		||||
{%if object_type=='item' or object_type=='message'%}
 | 
			
		||||
	$('#date-range-from').dateRangePicker({
 | 
			
		||||
				separator : ' to ',
 | 
			
		||||
				getValue: function(){
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -201,7 +201,7 @@
 | 
			
		|||
          {% with page=dict_tagged['page'], nb_page_max=dict_tagged['nb_pages'],  nb_first_elem=dict_tagged['nb_first_elem'], nb_last_elem=dict_tagged['nb_last_elem'], nb_all_elem=dict_tagged['nb_all_elem'] %}
 | 
			
		||||
            {% set object_name= dict_tagged['object_name'] %}
 | 
			
		||||
            {% set target_url=url_for('tags_ui.get_obj_by_tags') + "?object_type=" + dict_tagged['object_type'] + "<ags=" + dict_tagged['current_tags_str'] %}
 | 
			
		||||
            {%if dict_tagged["object_type"]=="item"%}
 | 
			
		||||
            {%if dict_tagged["object_type"]=="item" or dict_tagged["object_type"]=="message"%}
 | 
			
		||||
              {% set target_url= target_url + "&date_from=" + dict_tagged['date']['date_from'] + "&date_to=" + dict_tagged['date']['date_to'] %}
 | 
			
		||||
            {%endif%}
 | 
			
		||||
            {% include 'pagination.html' %}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue