def render(self, context): obj = resolve_variable(self.object,context) if not self.server: request = context['request'] server = request.server else: server = resolve_variable(self.server,context) if is_plugin_enabled(server, obj): return self.nodelist_true.render(context) else: return self.nodelist_false.render(context)
def client_detail(request, id): server = get_object_or_404(Server,uuid=request.server) if not is_plugin_enabled(server, 'ctime'): raise Http404 client = get_object_or_404(Client, id=id, using=request.server) data = get_player_activity(client) return {'client': client, 'activity': data}
def render(self, context): obj = resolve_variable(self.object,context) request = context['request'] server_list = request.server_list m = False for s in server_list: if is_plugin_enabled(s, obj): m = True break if m: return self.nodelist_true.render(context) else: return self.nodelist_false.render(context)
def home(request): if not is_plugin_enabled(request.server, 'follow'): messages.info(request, _('This function is not enabled on this server.')) return {'client_list': None} query = Follow.objects.using(request.server).all().order_by('-time_add') # Make sure page request is an int. If not, deliver first page. try: page = int(request.GET.get('page', '1')) except ValueError: page = 1 paginator = Paginator(query, settings.ITEMS_PER_PAGE) # If page request (9999) is out of range, deliver last page of results. try: lista = paginator.page(page) except (EmptyPage, InvalidPage): lista = paginator.page(paginator.num_pages) return {'client_list': lista}
def chatlist(request): if not is_plugin_enabled(request.server, 'chatlog'): messages.info(request, _('This function is not enabled for this server.')) return {'chat_list': None} chats = ChatLog.objects.using(request.server).all() # Make sure page request is an int. If not, deliver first page. try: page = int(request.GET.get('page', '1')) except ValueError: page = 1 search = None highlight = None if request.GET.has_key('search'): form = ChatLogSearch(request.GET) if form.is_valid(): search = {} for k,v in request.GET.items(): search[k]=v data = form.cleaned_data name = data['name'] if len(name)>0: if re.search('^[@]{1}[0-9]*$',name): chats = chats.filter(client__id=name[1:]) elif re.search('^\+[@]{1}[0-9]*$',name): highlight = int(name[2:]) elif re.search('^[0-9]*$',name): chats = chats.filter(client__id=name) else: messages.warning(request, _('Invalid search term.')) chats = chats.filter(client__id=0) # there is not performance at all in this search. # lets disable it #else: # chats = chats.filter(Q(client__name__istartswith=name) | Q(client__aliases__alias__istartswith=name)).distinct() datefrom = data['datefrom'] if datefrom: chats = chats.filter(time_add__gte=time.mktime(datefrom.timetuple())) dateto = data['dateto'] if dateto: chats = chats.filter(time_add__lte=time.mktime(dateto.timetuple())) text = data['text'] if text: #chats = chats.filter(message__icontains=text) chats = chats.filter(message__search=text) else: form = ChatLogSearch() if search: search = urllib.urlencode(search) paginator = Paginator(chats, settings.ITEMS_PER_PAGE) # If page request (9999) is out of range, deliver last page of results. try: lista = paginator.page(page) except (EmptyPage, InvalidPage): lista = paginator.page(paginator.num_pages) return {'chat_list': lista, 'form': form, 'search': search, 'highlight': highlight}
logger.exception(str(e)) raise online = None server = Server.objects.get(uuid=request.server) if is_plugin_installed('status'): try: from b3portal.plugins.status.models import ServerStatus status = ServerStatus.objects.filter(server=server).latest() online = status.is_online(client.id) except Exception, e: logger.exception(str(e)) playedtime = None playedlastmonth = None if is_plugin_enabled(server, 'ctime'): try: from b3portal.plugins.ctime import functions as ctime from common.utils.timesince import minutes_to_string ptime = ctime.get_total_playtime(client, request.server) playedtime = {'start': ptime['since'], 'total': minutes_to_string(ptime['total'])} if (datetime.datetime.now() - ptime['since']).days > 30: ptime = ctime.get_total_playtime(client, request.server, 30) playedlastmonth = {'start': ptime['since'], 'total': minutes_to_string(ptime['total'])} except Exception, e: logger.exception(str(e)) # if has_server_perm(request.user, perm.VIEW_AUDITLOGS, request.server): # client_auditlogs = _paginate(request, Auditor.objects.get_by_client(client.id, request.server)) # else: # client_auditlogs = _paginate(request, Auditor.objects.get_by_client_n_user(client.id, request.server, request.user))