def index_view(self): # Grab parameters from URL page, sort_idx, sort_desc, search = self._get_list_extra_args() page_size = 10 count = User._get_collection().count() num_pages = count // page_size if count % page_size != 0: num_pages += 1 # data = User._get_collection().find({}, {'password': 0}).skip(page*page_size).limit(page_size) data = User._get_collection().find({}, {'password': 0}) result = [] for d in data: temp_dict = {} temp_dict['username'] = d['username'] temp_dict['last_login'] = d.get('last_login', None) temp_dict['used_tags'] = [] temp_dict['tags_count'] = 0 temp_dict['shreds_count'] = 0 temp_dict['skipped_count'] = 0 shreds = Shreds._get_collection().find({"tags.user": str(d["_id"])}) for s in shreds: for tag in s['tags']: if tag['user'] == str(d["_id"]): if tag['tags'] == 'skipped': temp_dict['skipped_count'] += 1 else: temp_dict['shreds_count'] += 1 temp_dict['used_tags'] += tag['tags'] temp_dict['tags_count'] += len(tag['tags']) temp_dict['used_tags'] = list(set(temp_dict['used_tags'])) result.append(temp_dict) # Various URL generation helpers def pager_url(p): # Do not add page number if it is first page if p == 0: p = None return self._get_url('.index_view', p, sort_idx, sort_desc, search) def sort_url(column, invert=False): desc = None if invert and not sort_desc: desc = 1 return self._get_url('.index_view', page, column, desc, search) return self.render('admin/users.html', data=result, count=count, pager_url=pager_url, num_pages=num_pages, page=page, list_columns=self.column_labels, sort_url=sort_url, get_value=self.get_list_value)
def login_view(): form = LoginForm(request.form) if request.method == 'POST' and form.validate(): user = form.get_user() login.login_user(user) session['org']=user.org session['su']=user.is_superuser session['email'] = user.email session['roles'] = user.roles # print session['su'] #=============================================================== collection = User._get_collection() collection.update({"user.first_name":form.username.data}, { '$set': { 'last_login': datetime.now() }}) #=============================================================== # print session['org'] flash("Logged in successfully!", category='success') return redirect(url_for('index')) return render_template('login.html', title='login', form=form)
def login_view(): form = LoginForm(request.form) if request.method == 'POST' and form.validate(): user = form.get_user() login.login_user(user) session['org'] = user.org session['su'] = user.is_superuser session['email'] = user.email session['roles'] = user.roles # print session['su'] #=============================================================== collection = User._get_collection() collection.update({"user.first_name": form.username.data}, {'$set': { 'last_login': datetime.now() }}) #=============================================================== # print session['org'] flash("Logged in successfully!", category='success') return redirect(url_for('index')) return render_template('login.html', title='login', form=form)
app.config.from_object('settings') try: app.config.from_object('local_settings') except ImportError: pass assets_init(app) admin_init(app) db = MongoEngine(app) init_social_login(app, db) shreds = Shreds._get_collection() users = User._get_collection() def get_next_shred(): shred = shreds.find_one( {"$query": {"usersProcessed": {"$ne": str(g.user.id)}, "usersSkipped": {"$ne": str(g.user.id)}, "usersCount": {"$lte": app.config["USERS_PER_SHRED"]} }}, sort=[("batch", 1), ("usersCount", 1)]) if shred: return shred shred = shreds.find_one( {"$query": {"usersSkipped": str(g.user.id),
def index_view(self): # Grab parameters from URL page, sort_idx, sort_desc, search = self._get_list_extra_args() page_size = 10 count = User._get_collection().count() num_pages = count // page_size if count % page_size != 0: num_pages += 1 # data = User._get_collection().find({}, {'password': 0}).skip(page*page_size).limit(page_size) data = User._get_collection().find({}, {'password': 0}) result = [] for d in data: temp_dict = {} temp_dict['username'] = d['username'] temp_dict['last_login'] = d.get('last_login', None) temp_dict['used_tags'] = [] temp_dict['tags_count'] = 0 temp_dict['shreds_count'] = 0 temp_dict['skipped_count'] = 0 shreds = Shreds._get_collection().find( {"tags.user": str(d["_id"])}) for s in shreds: for tag in s['tags']: if tag['user'] == str(d["_id"]): if tag['tags'] == 'skipped': temp_dict['skipped_count'] += 1 else: temp_dict['shreds_count'] += 1 temp_dict['used_tags'] += tag['tags'] temp_dict['tags_count'] += len(tag['tags']) temp_dict['used_tags'] = list(set(temp_dict['used_tags'])) result.append(temp_dict) # Various URL generation helpers def pager_url(p): # Do not add page number if it is first page if p == 0: p = None return self._get_url('.index_view', p, sort_idx, sort_desc, search) def sort_url(column, invert=False): desc = None if invert and not sort_desc: desc = 1 return self._get_url('.index_view', page, column, desc, search) return self.render('admin/users.html', data=result, count=count, pager_url=pager_url, num_pages=num_pages, page=page, list_columns=self.column_labels, sort_url=sort_url, get_value=self.get_list_value)
app.config.from_object('settings') try: app.config.from_object('local_settings') except ImportError: pass assets_init(app) admin_init(app) db = MongoEngine(app) init_social_login(app, db) shreds = Shreds._get_collection() users = User._get_collection() def get_next_shred(): shred = shreds.find_one( { "$query": { "usersProcessed": { "$ne": str(g.user.id) }, "usersSkipped": { "$ne": str(g.user.id) }, "usersCount": { "$lte": app.config["USERS_PER_SHRED"] }