def process_request(self, request): if request.user.is_authenticated(): now = datetime.now() if now - request.user.last_access > settings.LAST_ACCESS_UPDATE_INTERVAL: request.user.last_access = now User.objects(id=request.user.id).update_one( set__last_access=now)
def wrapper(): sender = cache.get('CALL_EVENT_%s' % request.user.id, None) if sender is None: return '' sender = User.objects(id=sender).first() if not sender: return '' return str(sender)
def test_last_name(self): email = RegisterTestCase.data_dict['email'] data_dict = RegisterTestCase.data_dict.copy() for tpl in ['',' ','12345', u'Ять']: data_dict['last_name'] = tpl response = self.c.post('/', data_dict) self.assertEqual(response.status_code, 200) self.assertEqual(User.objects(email=email).count(), 0)
def user_list_file(request, format): mimetypes = dict( txt='text/plain', xml='xml/plain', ) return direct_to_template(request, 'admin/user_list.%s' % format, dict(list=User.objects(), mimetype=mimetypes[format]) )
def _send_invite(sender, email, name): if User.objects(email=email).count(): return (email, _('User already registered'), False) invite = Invite(sender=sender, recipient_email=email, recipient_name=name) invite.save() invite.send() return (email, _('Invite sent'), True)
def call_user(request, id, user_id=None): recipient = User.objects(id=id).first() if not recipient: return HttpResponse('NOT FOUND') if not recipient.is_online(): return HttpResponse('OFFLINE') last_view = cache.get('LAST_VIEW_%s' % recipient.id, None) if last_view is None: user_id = user_id or request.user.id cache.set('CALL_EVENT_%s' % recipient.id, user_id, settings.VIDEO_CALL_INTERVAL_UPDATE) return HttpResponse('WHITE') return HttpResponse('OK')
def call_user(request, id): session_key = request.GET.get('session_key', None) if not session_key: return HttpResponse('Need session_key') engine = import_module(settings.SESSION_ENGINE) session = engine.SessionStore(session_key) user_id = session.get(SESSION_KEY, None) if not user_id: return HttpResponse('Bad session_key') user = User.objects(id=user_id).first() if not user: return HttpResponse('Can`t find request user') return ajax_call_user(request, id, user.id)
def test_phone(self): email = RegisterTestCase.data_dict['email'] data_dict = RegisterTestCase.data_dict.copy() for tpl1,tpl2 in [ ('1234','1234567'), ('1-23','123-4567'), ('1 23','123 4567'), ('qwe','qwertyu'), ('12','123456'), ('','1234567'), ('123',''), ]: data_dict['phone_0'] = tpl1 data_dict['phone_1'] = tpl2 response = self.c.post('/', data_dict) self.assertEqual(response.status_code, 200) self.assertEqual(User.objects(email=email).count(), 0)
def cam_view_notify(request, format): """ API: ?session_key=<Fx24>&camera_id=<Fx24>&status=connect ?session_key=<Fx24>&camera_id=<Fx24>&status=next&time=<sec> ?session_key=<Fx24>&camera_id=<Fx24>&status=disconnect&time=<sec> 0 OK -1 BAD PARAMS -500 INTERNAL ERROR """ from apps.media.documents import File request_id = time() def log_debug(text): info = '\n'.join([ "session_key=%s" % session_key, "user_id=%s" % (user.id if user else None), "camera_id=%s" % camera_id, ]) logger.debug('cam_view_notify %s\n%s\n%s' % (request_id, info, text)) logger.debug('cam_view_notify %s\nrequest %s' % (request_id, repr(request.GET.items()))) user = None session_key = None camera_id = None try: if not request.GET: raise CameraAccessor.APIException("Bad params") status = request.GET.get('status', None) session_key = request.GET.get('session_key', None) camera_id = request.GET.get('camera_id', None) if not (status and session_key and camera_id): raise CameraAccessor.APIException("Bad params") extra_time = request.GET.get('time', None) if extra_time is not None: if not extra_time.isdigit(): raise CameraAccessor.APIException("Time must by a digit") extra_time = int(extra_time) if extra_time > settings.TIME_INTERVAL_NOTIFY or extra_time < 0: raise CameraAccessor.APIException("Bad time interval") # extract data from session engine = import_module(settings.SESSION_ENGINE) session = engine.SessionStore(session_key) user_id = session.get(SESSION_KEY, None) if not user_id: raise CameraAccessor.APIException("Need user_id") user = User.objects(id=user_id).first() if not user: raise CameraAccessor.APIException("Bad user_id") camera = Camera.objects(id=camera_id).first() if not camera: raise CameraAccessor.APIException("Can`t found camera by camera_id") result = CameraAccessor(status, user, camera, session, extra_time) except CameraAccessor.APIException, e: params = (-1, 0, 0) log_debug('api error\n%s\n%s' % (e, traceback.format_exc()))
def handle(self, *args, **options): for user in User.objects().order_by('-date_joined'): print user.email, '\t', user.date_joined
def process_request(self, request): if request.user.is_authenticated(): now = datetime.now() if now - request.user.last_access > settings.LAST_ACCESS_UPDATE_INTERVAL: request.user.last_access = now User.objects(id=request.user.id).update_one(set__last_access=now)
def cam_view_notify(request, format): """ API: ?session_key=<Fx24>&camera_id=<Fx24>&status=connect ?session_key=<Fx24>&camera_id=<Fx24>&status=next&time=<sec> ?session_key=<Fx24>&camera_id=<Fx24>&status=disconnect&time=<sec> 0 OK -1 BAD PARAMS -500 INTERNAL ERROR """ from apps.media.documents import File request_id = time() def log_debug(text): info = '\n'.join([ "session_key=%s" % session_key, "user_id=%s" % user.id if user else None, "camera_id=%s" % camera_id, ]) logger.debug('cam_view_notify %s\n%s\n%s' % (request_id, info, text)) logger.debug('cam_view_notify %s\nrequest %s' % (request_id, repr(request.GET.items()))) user = None session_key = None camera_id = None try: if not request.GET: raise CameraAccessor.APIException("Bad params") status = request.GET.get('status', None) session_key = request.GET.get('session_key', None) camera_id = request.GET.get('camera_id', None) if not (status and session_key and camera_id): raise CameraAccessor.APIException("Bad params") extra_time = request.GET.get('time', None) if extra_time is not None: if not extra_time.isdigit(): raise CameraAccessor.APIException("Time must by a digit") extra_time = int(extra_time) if extra_time > settings.TIME_INTERVAL_NOTIFY or extra_time < 0: raise CameraAccessor.APIException("Bad time interval") # extract data from session engine = import_module(settings.SESSION_ENGINE) session = engine.SessionStore(session_key) user_id = session.get(SESSION_KEY, None) if not user_id: raise CameraAccessor.APIException("Need user_id") user = User.objects(id=user_id).first() if not user: raise CameraAccessor.APIException("Bad user_id") camera = Camera.objects(id=camera_id).first() if not camera: raise CameraAccessor.APIException( "Can`t found camera by camera_id") result = CameraAccessor(status, user, camera, session, extra_time) except CameraAccessor.APIException, e: params = (-1, 0, 0) log_debug('api error\n%s\n%s' % (e, traceback.format_exc()))
def statistic(request): return direct_to_template(request, 'admin/statistic.html', { 'users_active_count': User.objects(is_active=True).count(), 'users_inactive_count': User.objects(is_active=False).count(), 'users_online_count': User.objects(last_access__gt=User.get_delta_time()).count(), })
def user(self): return User.objects(id=self.user_id).first()