def _requester_details(request, requester_id): def row_formatter(input): for cc in input: row = [] row.append('<a href="{}">{}</a>'.format( reverse('hit_group_details', kwargs={'hit_group_id': cc[3]}), cc[0])) row.extend(cc[1:3]) yield row requester_name = HitGroupContent.objects.filter( requester_id=requester_id).values_list( 'requester_name', flat=True).distinct() if requester_name: requester_name = requester_name[0] else: requester_name = requester_id date_from = (datetime.date.today() - datetime.timedelta(days=30)) \ .isoformat() data = query_to_tuples(""" select title, p.reward, p.occurrence_date, p.group_id from main_hitgroupcontent p LEFT JOIN main_requesterprofile r ON p.requester_id = r.requester_id where p.requester_id = '%s' AND coalesce(r.is_public, true) = true and p.occurrence_date > TIMESTAMP '%s'; """ % (requester_id, date_from)) columns = [ ('string', 'HIT Title'), ('number', 'Reward'), ('datetime', 'Posted'), ] ctx = { 'data': text_row_formater(row_formatter(data)), 'columns': tuple(columns), 'title': 'Tasks posted during last 30 days by %s' % (requester_name, ), 'requester_name': requester_name, 'requester_id': requester_id, 'user': request.user, } return direct_to_template(request, 'main/requester_details.html', ctx)
def requester_details(request, requester_id): def row_formatter(input): for cc in input: row = [] url = reverse('hit_group_details', kwargs={'hit_group_id': cc[5]}) row.append('<a href="%s">%s</a>' % (url, cc[0])) row.extend(cc[1:5]) url = reverse('admin-toggle-hitgroup-status', args=(cc[5], )) row.append('<a href="%s">%s</a>' % (url, cc[6] and 'public' or 'private')) yield row requester_name = HitGroupContent.objects.filter(requester_id=requester_id) requester_name = requester_name.values_list('requester_name', flat=True).distinct() if requester_name: requester_name = requester_name[0] else: requester_name = requester_id date_from = datetime.date.today() - datetime.timedelta(days=30) data = query_to_tuples( """ SELECT title, hits_available, p.reward, p.occurrence_date, (SELECT end_time FROM main_crawl WHERE id = (SELECT max(crawl_id) FROM main_hitgroupstatus WHERE group_id = q.group_id AND hit_group_content_id = p.group_content_id)) - p.occurrence_date, p.group_id, q.is_public FROM main_hitgroupfirstoccurences p JOIN main_hitgroupcontent q ON (p.group_content_id = q.id AND p.requester_id = q.requester_id) WHERE p.requester_id = %s AND p.occurrence_date > %s AND q.occurrence_date > %s """, requester_id, date_from, date_from) columns = ( ('string', 'HIT Title'), ('number', '#HITs'), ('number', 'Reward'), ('datetime', 'Posted'), ('number', 'Duration (Days)'), ('string', 'Status'), ) ctx = { 'data': text_row_formater(row_formatter(data)), 'columns': tuple(columns), 'title': 'Last 100 Tasks posted by %s' % requester_name, 'user': request.user, } return direct_to_template(request, 'main/requester_details.html', ctx)
def requester_details(request, requester_id): def row_formatter(input): for cc in input: row = [] url = reverse('hit_group_details', kwargs={'hit_group_id': cc[5]}) row.append('<a href="%s">%s</a>' % (url, cc[0])) row.extend(cc[1:5]) url = reverse('admin-toggle-hitgroup-status', args=(cc[5],)) row.append('<a href="%s">%s</a>' % (url, cc[6] and 'public' or 'private')) yield row requester_name = HitGroupContent.objects.filter(requester_id=requester_id) requester_name = requester_name.values_list('requester_name', flat=True).distinct() if requester_name: requester_name = requester_name[0] else: requester_name = requester_id date_from = datetime.date.today() - datetime.timedelta(days=30) data = query_to_tuples(""" SELECT title, hits_available, p.reward, p.occurrence_date, (SELECT end_time FROM main_crawl WHERE id = (SELECT max(crawl_id) FROM main_hitgroupstatus WHERE group_id = q.group_id AND hit_group_content_id = p.group_content_id)) - p.occurrence_date, p.group_id, q.is_public FROM main_hitgroupfirstoccurences p JOIN main_hitgroupcontent q ON (p.group_content_id = q.id AND p.requester_id = q.requester_id) WHERE p.requester_id = %s AND p.occurrence_date > %s AND q.occurrence_date > %s """, requester_id, date_from, date_from) columns = ( ('string', 'HIT Title'), ('number', '#HITs'), ('number', 'Reward'), ('datetime', 'Posted'), ('number', 'Duration (Days)'), ('string', 'Status'), ) ctx = { 'data': text_row_formater(row_formatter(data)), 'columns': tuple(columns), 'title': 'Last 100 Tasks posted by %s' % requester_name, 'user': request.user, } return direct_to_template(request, 'main/requester_details.html', ctx)
def _requester_details(request, requester_id): def row_formatter(input): for cc in input: row = [] row.append('<a href="%s">%s</a>' % (reverse('hit_group_details', kwargs={'hit_group_id': cc[3]}), cc[0])) row.extend(cc[1:3]) yield row requster_name = HitGroupContent.objects.filter( requester_id=requester_id).values_list('requester_name', flat=True).distinct() if requster_name: requster_name = requster_name[0] else: requster_name = requester_id date_from = (datetime.date.today() - datetime.timedelta(days=30)).isoformat() data = query_to_tuples(""" select title, p.reward, p.occurrence_date, p.group_id from main_hitgroupcontent p LEFT JOIN main_requesterprofile r ON p.requester_id = r.requester_id where p.requester_id = '%s' AND coalesce(r.is_public, true) = true and p.occurrence_date > TIMESTAMP '%s'; """ % (requester_id, date_from)) columns = [ ('string', 'HIT Title'), ('number', 'Reward'), ('datetime', 'Posted'), ] ctx = { 'data': text_row_formater(row_formatter(data)), 'columns': tuple(columns), 'title': 'Tasks posted during last 30 days by %s' % (requster_name), 'user': request.user, } return direct_to_template(request, 'main/requester_details.html', ctx)