Commit Graph

795 Commits

Author SHA1 Message Date
fa3406b7d0 only_for_node_type_decorator() now supports checking multiple node types 2016-11-01 16:47:32 +01:00
f4b5e49c26 Return service account info from create_service_account() 2016-11-01 14:00:00 +01:00
499af03473 Gracefully handle 404 in get_user_info() 2016-11-01 14:00:00 +01:00
51c2c1d568 Make it possible for Pillar extensions to add service accounts. 2016-11-01 14:00:00 +01:00
c9d7da3a42 Attract and Flamenco icons 2016-10-21 20:41:41 +02:00
b59fcb5cba Prevent {{ url_for_node(...) }} crashing the planet when node doesn't exist.
Now None is returned as URL, and a warning is logged, rather than crashing
with a 500. A situation like this occurs when an activity refers to a
no longer existing node.
2016-10-21 16:00:03 +02:00
7be8e9b967 Show a nicer 404 error when something was deleted (instead of just "not there") 2016-10-21 15:27:17 +02:00
5677ae8532 Prevent errors when notification is linked to non-existing node 2016-10-20 17:43:51 +02:00
73641ecc8a Allow more tags in comments, including iframe (for video embedding) 2016-10-20 17:14:20 +02:00
e1678537c0 Editing comments via PATCH on pillar-web, and some other comment fixes 2016-10-20 16:47:04 +02:00
e71e6a7b32 API for editing comments via PATCH 2016-10-20 16:22:11 +02:00
8352fafd21 Replaced markdown with commonmark module 2016-10-20 13:05:43 +02:00
db2680be81 Removed unused import 2016-10-20 13:05:43 +02:00
c456696600 Added TODO 2016-10-20 13:05:43 +02:00
ad1816c617 log.warning → .info 2016-10-20 13:05:43 +02:00
8d3c4745aa Remove unnecessary form_schema fields. 2016-10-20 13:05:43 +02:00
3afeeaccd0 Removed permission keys from node type definitions.
This prevents replace_pillar_node_type_schemas() from overwriting existing
permissions.
2016-10-20 13:05:43 +02:00
7f4ad85781 Count comments and replies, not just top-level comments 2016-10-19 17:16:27 +02:00
ea2be0f13d Major revision of comment system.
- Comments are stored in HTML as well as Markdown, so that conversion
  only happens when saving (rather than when viewing).
- Added 'markdown' Jinja filter for easy development. This is quite
  a heavy filter, so it shouldn't be used (much) in production.
- Added CLI command to update schemas on existing node types.
2016-10-19 16:57:17 +02:00
eea934a86a Added username to public user fields 2016-10-19 16:57:17 +02:00
f2f66d7a6c Moved subquery.py from Attract to Pillar, as it's useful for comments too.
It's an attempt to speed up common queries which would ordinarily be
embedded by Eve. We want to move away from embedding due to security
issues (allowing the embedding of users leaks privacy-sensitive info).
2016-10-18 15:34:39 +02:00
aca54d76e0 Moved find_url_for_node() to its own module and made more pluggable.
Extensions can now register custom node URL finders using the
@pillar.web.nodes.finders.register_node_finder(node_type_name) decorator.
2016-10-18 12:03:06 +02:00
6af3dfdb51 Use local bootstrap 3.3.7 2016-10-13 16:02:38 +02:00
8043caf187 Font Pillar: Question mark icon 2016-10-13 14:25:18 +02:00
aa953f76a1 Cache FlaskInternalApi object on request keyed by authentication token. 2016-10-13 10:01:29 +02:00
10ecb2158e Log error when URLer service is used but not configured. 2016-10-13 10:01:11 +02:00
96c9e12f7f doc_diff() optionally no longer reports differences between falsey values.
If falsey_is_equal=True, all Falsey values compare as equal, i.e. this
function won't report differences between DoesNotExist, False, '', and 0.
2016-10-12 17:09:48 +02:00
7c310e12ef Added util function to compute the difference between two dicts. 2016-10-12 16:01:30 +02:00
26aa155b9e Cache Pillar API Object on request object. 2016-10-12 14:29:47 +02:00
0146b568c0 Allow extra fields in activities. 2016-10-12 14:29:28 +02:00
ade62033ba Added only_for_node_type_decorator(node_type_name) decorator factory func
This allows you to create a decorator for Eve hooks. The decorator returns
a decorator that checks its first argument's node type.

If the node type is not of the required node type, returns None,
otherwise calls the wrapped function.
2016-10-12 13:41:16 +02:00
8aab88bdc2 Activities now have explicit project ID
This allows for directly querying activity on a certain project.
Used in Attract for task/shot activity streams.
2016-10-12 13:40:27 +02:00
f4b34f1d02 Error handler: set 'code' and 'description' defaults separately. 2016-10-12 10:22:25 +02:00
4eb8319697 Better logging of OAuth issues, in the hope to figure out what's going on. 2016-10-11 17:09:02 +02:00
5dd49fa5dd Pillar Extensions can now add links to the sidebar. 2016-10-11 16:33:44 +02:00
6429c3df21 Modernised flask.ext.login imports → flask_login 2016-10-11 15:23:40 +02:00
14a8be6329 Fix 'Latest Assets' list not being updated
Was simply missing project_id
2016-10-07 15:05:57 +02:00
c71186f318 Allow project membership to be managed by ppl with admin role.
This was already mentioned as possible in the frontend, but not implemented
in the backend.
2016-10-05 14:36:07 +02:00
d1610da5f9 JStree: HREF attribute link to actual node instead of #
This allows things like middle click on an item to load in a separate tab, yay!

Idea and help by Dr. Sybren
2016-10-04 12:38:08 +02:00
0de8772c98 Removed __all__, as we didn't keep it up to date anyway. 2016-10-04 11:58:46 +02:00
e2921c8da8 nodes_latest was missing the content_type 2016-09-30 18:07:36 +02:00
dd58d4ad04 Created AbstractPillarTest.create_project_admin() function. 2016-09-30 12:54:21 +02:00
b429933737 Added 'required_after_creation' Eve schema validator. 2016-09-30 12:54:21 +02:00
e2236864e7 Filter out '^attract_.*' node types from jstree
While we're at it, also filter out comment & post from the query, rather
than later in Python code.
2016-09-29 17:34:24 +02:00
dcef372e4f Gracefully handle project without node types.
This can happen when a projection excludes node types.
2016-09-29 09:55:49 +02:00
7931428312 Clipboard icons on pillar-font 2016-09-27 17:01:07 +02:00
407aefb9ad Added CLI command for moving top-level nodes between projects.
Also introduces a slightly nicer way to get the database interface, and
an object-oriented way to allow dependency injection.
2016-09-27 12:57:57 +02:00
c64fbf61ba Removed project node type 2016-09-27 12:57:57 +02:00
063023c69a PEP8 2016-09-27 12:57:57 +02:00
7968c6ca37 Added node_type_utils to assign permissions to certain node types.
This separates "mechanism" from "policy".
2016-09-23 17:13:26 +02:00