Example #1
0
def feedpage(feedid):
    ''' the back end settings for one feed. '''

    try:
        feed = Feed.get(id=feedid)
        user = user_session.get_user()
    except user_session.NotLoggedIn:
        user = User()
    except:
        flash('invalid feed id! (' + str(feedid) + ')')
        return redirect(url_for('feeds'))

    if request.method == 'POST':
        if not user_session.logged_in():
            flash("You're not logged in!")
            return redirect(url_for('feeds'))

        if not user.is_admin:
            flash('Sorry! Only Admins can change these details.')
            return redirect(request.referrer)

        action = request.form.get('action', 'none')

        if action == 'edit':
            feed.name = request.form.get('title', feed.name).strip()

            inlist = request.form.getlist

            feed.post_types = ', '.join(inlist('post_types'))

            feed.set_authors(by_id(User, inlist('authors')))
            feed.set_publishers(by_id(User, inlist('publishers')))
            feed.set_author_groups(by_id(Group, inlist('author_groups')))
            feed.set_publisher_groups(by_id(Group, inlist('publisher_groups')))

            feed.save()
            flash('Saved')
        elif action == 'delete':

            for post in feed.posts:
                post_type_module = post_types.load(post.type)
                delete_post_and_run_callback(post, post_type_module)

            feed.delete_instance(True, True) # cascade/recursive delete.
            flash('Deleted')
            return redirect(url_for('feeds'))

    return render_template('feed.html',
                           feed=feed,
                           user=user,
                           all_posttypes=post_types.types(),
                           allusers=User.select(),
                           allgroups=Group.select()
                          )
Example #2
0
def feedpage(feedid):
    ''' the back end settings for one feed. '''

    try:
        feed = Feed.get(id=feedid)
        user = user_session.get_user()
    except user_session.NotLoggedIn:
        user = User()
    except:
        flash('invalid feed id! (' + str(feedid) + ')')
        return redirect(url_for('feeds'))

    if request.method == 'POST':
        if not user_session.logged_in():
            flash("You're not logged in!")
            return redirect(url_for('feeds'))

        if not user.is_admin:
            flash('Sorry! Only Admins can change these details.')
            return redirect(request.referrer)

        action = request.form.get('action', 'none')

        if action == 'edit':
            feed.name = request.form.get('title', feed.name).strip()

            inlist = request.form.getlist

            feed.post_types = ', '.join(inlist('post_types'))

            feed.set_authors(by_id(User, inlist('authors')))
            feed.set_publishers(by_id(User, inlist('publishers')))
            feed.set_author_groups(by_id(Group, inlist('author_groups')))
            feed.set_publisher_groups(by_id(Group, inlist('publisher_groups')))

            feed.save()
            flash('Saved')
        elif action == 'delete':

            for post in feed.posts:
                post_type_module = post_types.load(post.type)
                delete_post_and_run_callback(post, post_type_module)

            feed.delete_instance(True, True) # cascade/recursive delete.
            flash('Deleted')
            return redirect(url_for('feeds'))

    return render_template('feed.html',
                           feed=feed,
                           user=user,
                           all_posttypes=post_types.types(),
                           allusers=User.select(),
                           allgroups=Group.select()
                          )
    def test_users_strid(self):
        u2 = models.User(loginname='bono', passwordhash='1234')
        models.User(loginname='test5', passwordhash='1234').save()

        u2.save()

        self.assertEqual(models.by_id(models.User, [str(u2.id)]), [u2])
Example #4
0
    def test_users_strid(self):
        u2 = models.User(loginname='bono', passwordhash='1234')
        models.User(loginname='test5', passwordhash='1234').save()

        u2.save()

        self.assertEqual(models.by_id(models.User, [str(u2.id)]), [u2])
    def test_users_one_many_exist(self):
        models.User(loginname='test', passwordhash='1234').save()
        models.User(loginname='test2', passwordhash='1234').save()
        u = models.User(loginname='test3', passwordhash='1234')
        models.User(loginname='test4', passwordhash='1234').save()
        models.User(loginname='test5', passwordhash='1234').save()
        u.save()

        self.assertEqual(models.by_id(models.User, [u.id]), [u])
Example #6
0
    def test_users_one_many_exist(self):
        models.User(loginname='test', passwordhash='1234').save()
        models.User(loginname='test2', passwordhash='1234').save()
        u = models.User(loginname='test3', passwordhash='1234')
        models.User(loginname='test4', passwordhash='1234').save()
        models.User(loginname='test5', passwordhash='1234').save()
        u.save()

        self.assertEqual(models.by_id(models.User, [u.id]), [u])
    def test_users_some_invalid_ids(self):
        models.User(loginname='test', passwordhash='1234').save()
        models.User(loginname='test2', passwordhash='1234').save()
        u = models.User(loginname='test3', passwordhash='1234')
        u2 = models.User(loginname='bono', passwordhash='1234')
        models.User(loginname='test5', passwordhash='1234').save()

        u.save()
        u2.save()

        with self.assertRaises(models.User.DoesNotExist):
            models.User.get(id=42)

        with self.assertRaises(models.User.DoesNotExist):
            models.User.get(id=314)

        self.assertEqual(models.by_id(models.User, [42, u.id, 314]), [u])
Example #8
0
    def test_users_some_invalid_ids(self):
        models.User(loginname='test', passwordhash='1234').save()
        models.User(loginname='test2', passwordhash='1234').save()
        u = models.User(loginname='test3', passwordhash='1234')
        u2 = models.User(loginname='bono', passwordhash='1234')
        models.User(loginname='test5', passwordhash='1234').save()

        u.save()
        u2.save()

        with self.assertRaises(models.User.DoesNotExist):
            models.User.get(id=42)

        with self.assertRaises(models.User.DoesNotExist):
            models.User.get(id=314)

        self.assertEqual(models.by_id(models.User, [42, u.id, 314]), [u])
    def test_users_one(self):
        u = models.User(loginname='test', passwordhash='1234')
        u.save()

        self.assertEqual(models.by_id(models.User, [u.id]), [u])
    def test_users_none_but_some_exist(self):
        models.User(loginname='test', passwordhash='1234').save()
        models.User(loginname='test2', passwordhash='1234').save()

        self.assertEqual(models.by_id(models.User, []), [])
 def test_users_none(self):
     self.assertEqual(models.by_id(models.User, []), [])
Example #12
0
    def test_users_one(self):
        u = models.User(loginname='test', passwordhash='1234')
        u.save()

        self.assertEqual(models.by_id(models.User, [u.id]), [u])
Example #13
0
    def test_users_none_but_some_exist(self):
        models.User(loginname='test', passwordhash='1234').save()
        models.User(loginname='test2', passwordhash='1234').save()

        self.assertEqual(models.by_id(models.User, []), [])
Example #14
0
 def test_users_none(self):
     self.assertEqual(models.by_id(models.User, []), [])