def cleanup_threads(): for t in cdw.threads.all(): doDel = False if isinstance(t.firstPost, DBRef) or t.firstPost == None: doDel = True elif isinstance(t.question, DBRef) or t.question == None: doDel = True elif isinstance(t.firstPost.author, DBRef) or t.firstPost.author == None: doDel = True ''' try: cdw.users.with_id(str(t.authorId)) except: doDel = True ''' if doDel: Post.objects(thread=t).delete() t.delete() else: t.postCount = cdw.posts.with_fields(thread=t).count() t.flags = t.firstPost.flags t.origin = t.firstPost.origin t.yesNo = t.firstPost.yesNo t.save() return 'success'
def dashboard(): days_ago = datetime.datetime.utcnow() - datetime.timedelta(days=30) recent_posts_with_flags = Post.objects(created__gte=days_ago, flags__gt=0).order_by('-flags')[:30] return render_template('admin/dashboard.html', section_selector='dashboard', page_selector='index', recent_posts_with_flags=recent_posts_with_flags)
def test_delete_user_deletes_threads_and_posts(self): with self.testApp as app: app.post('/auth', data={"username":self.user.email, "password":"******"}) r = app.delete('/admin/crud/users/%s' % str(self.user.id)) assert 'Redirecting...' in r.data from cdw.models import Post posts = Post.objects(author=self.user) assert 0 == len(posts)
def test_delete_user_deletes_threads_and_posts(self): with self.testApp as app: app.post('/auth', data={ "username": self.user.email, "password": "******" }) r = app.delete('/admin/crud/users/%s' % str(self.user.id)) assert 'Redirecting...' in r.data from cdw.models import Post posts = Post.objects(author=self.user) assert 0 == len(posts)