def sys_group_admin_export_excel(request): """ Export all groups to excel """ next_page = request.META.get('HTTP_REFERER', None) if not next_page: next_page = SITE_ROOT try: groups = ccnet_threaded_rpc.get_all_groups(-1, -1) except Exception as e: logger.error(e) messages.error(request, _('Failed to export Excel')) return HttpResponseRedirect(next_page) head = [_("Name"), _("Creator"), _("Create At")] data_list = [] for grp in groups: create_at = tsstr_sec(grp.timestamp) if grp.timestamp else '' row = [grp.group_name, grp.creator_name, create_at] data_list.append(row) wb = write_xls('groups', head, data_list) if not wb: messages.error(request, _('Failed to export Excel')) return HttpResponseRedirect(next_page) response = HttpResponse(content_type='application/ms-excel') response['Content-Disposition'] = 'attachment; filename=groups.xlsx' wb.save(response) return response
def sys_group_admin(request): # Make sure page request is an int. If not, deliver first page. try: current_page = int(request.GET.get('page', '1')) per_page = int(request.GET.get('per_page', '25')) except ValueError: current_page = 1 per_page = 25 groups_plus_one = ccnet_threaded_rpc.get_all_groups( per_page * (current_page - 1), per_page + 1) groups = groups_plus_one[:per_page] if len(groups_plus_one) == per_page + 1: page_next = True else: page_next = False return render_to_response('sysadmin/sys_group_admin.html', { 'groups': groups, 'current_page': current_page, 'prev_page': current_page - 1, 'next_page': current_page + 1, 'per_page': per_page, 'page_next': page_next, }, context_instance=RequestContext(request))
def sys_group_admin(request): # Make sure page request is an int. If not, deliver first page. try: current_page = int(request.GET.get('page', '1')) per_page = int(request.GET.get('per_page', '25')) except ValueError: current_page = 1 per_page = 25 groups_plus_one = ccnet_threaded_rpc.get_all_groups(per_page * (current_page -1), per_page +1) groups = groups_plus_one[:per_page] if len(groups_plus_one) == per_page + 1: page_next = True else: page_next = False return render_to_response('sysadmin/sys_group_admin.html', { 'groups': groups, 'current_page': current_page, 'prev_page': current_page-1, 'next_page': current_page+1, 'per_page': per_page, 'page_next': page_next, }, context_instance=RequestContext(request))