Commit Graph

1382 Commits

Author SHA1 Message Date
Max Goodman
f48eb3bf31 Locate, build, and merge plugin statics in the Makefile. 2012-06-12 15:36:30 -07:00
Max Goodman
4730deeca8 Build plugin JS in js.py. 2012-06-12 15:36:30 -07:00
Max Goodman
fbece1d183 Tweak js module buildstamp names so they sort together. 2012-06-12 15:36:30 -07:00
Max Goodman
619bcdc4a2 Compile static files in build/public/static. 2012-06-12 15:36:30 -07:00
Max Goodman
3c8160a00d Reorder ConfigValue parser arguments for standalone use. 2012-06-12 15:36:30 -07:00
Max Goodman
47e559495b Cleanup mangled files completely.
Static file mangling now renames files to their mangled form and
symlinks the original name. This cleanup rule deleted only the mangled
names, leaving broken symlinks. The quick'n'dirty solution is to clear
out all of the mangled and unmangled filenames so we don't leave things
in an inconsistent state.
2012-06-12 15:36:30 -07:00
Max Goodman
83d616416d Add plugin config spec handling. 2012-06-12 15:36:30 -07:00
Max Goodman
ac32513110 Add support for already-minified modules to js.py. 2012-06-12 15:36:30 -07:00
Max Goodman
74e3bccae4 Add on_load method to plugins. 2012-06-12 15:36:30 -07:00
Max Goodman
f0f7989299 Allow plugins to add and extend js modules. 2012-06-12 15:36:30 -07:00
Max Goodman
aaf751ab48 Fix STATIC_ROOT determination for standalone js.py usage.
Also, remove import-time dependency on pylons.g.
2012-06-12 15:36:30 -07:00
Max Goodman
93967771ec Add convenience g.plugins reference for PluginLoader. 2012-06-12 15:36:30 -07:00
Max Goodman
0332d0ca55 Fix import loop and move plugins collection into its own class.
Loading plugin controller modules at the bottom of
controllers/__init__.py led to a circular dependency. Registering
controllers via decorator allows controllers/__init__.py to load
completely before plugin controllers are loaded.
2012-06-12 15:36:30 -07:00
Max Goodman
0412e87cb8 Add plugin static file apps to the middleware. 2012-06-12 15:36:29 -07:00
Max Goodman
300564b43e Add basic plugin support. 2012-06-12 15:36:29 -07:00
shlurbee
c5259c882e Error handling in promotion summary
Logs error instead of failing if campaign from PromotionWeights table doesn't
exist on link.
2012-06-12 15:35:35 -07:00
shlurbee
1a423aa5ad Better date validation, do not redirect if form has errors
Now, in addition to checking that the date has the correct format (YYYY-MM)
we also check to make sure the date is in the future and the month is in
the range 01 to 12.

This fixes the problem where users were seeing a 500 server error after
entering invalid values for the month when entering their credit card info.

This change also fixes a problem where the form was redirecting even if there
were validation errors, leading the user to believe their authorization was
successful when it wasn't.
2012-06-12 15:35:35 -07:00
Neil Williams
cf8b55274c Use new LastModified system for Cassandra-based relations.
By necessity, this changes the API of tdb_cassandra.Relation._fast_query
to take and return thing objects rather than ID36s.
2012-06-11 11:58:42 -07:00
Neil Williams
8cc3972b00 Add utility to extract linked URLs in Markdown. 2012-06-08 13:23:24 -07:00
Neil Williams
ff7f332993 Touch LastModified on tdb_cassandra.Relation._commit. 2012-06-08 13:23:24 -07:00
Neil Williams
14cb34c49d LastModified: cut reads for Last Visit over to new schema. 2012-06-08 13:23:24 -07:00
Neil Williams
267d81c6df LastModified: add get_multi. 2012-06-08 13:23:04 -07:00
Neil Williams
44ebdeb378 Implement domain bans that inform user of block at submit time. 2012-06-05 16:12:24 -07:00
Neil Williams
dbaa48e324 SearchBuilder: don't keep items with deleted authors. 2012-06-04 14:45:34 -07:00
Neil Williams
555c02ad62 Dual-write last visit timestamp. 2012-06-04 14:45:34 -07:00
Neil Williams
7f3f84494e Add model for new Last Modified system.
This will replace the current stuff in thing_utils.py. The idea is that
by storing the various last modified timestamps for a thing in a single
row together, we can save Cassandra round trips and seeks per request.
2012-06-04 14:45:34 -07:00
Neil Williams
ba54ed713a tdb_cassandra: Use Cassandra-native serialization for Date columns.
This has a couple of advantages:
 * interoperability with Cassandra tools (cassandra-cli / cqlsh)
 * smaller by 5-6 bytes on every column

From here on out, date columns will be written in the Cassandra
standard 8-byte integer (number of milliseconds since epoch) format.
Old-style stringified epoch seconds will be read properly.

This relies on Pycassa's new UTC-based behaviour in 1.7.
2012-06-04 14:45:34 -07:00
Neil Williams
4e04740d62 Remove unused CassandraClick model. 2012-06-04 14:10:01 -07:00
bsimpson63
b27b634b12 Delete things from spam_filtered queries. 2012-06-04 11:51:37 -07:00
Neil Williams
a1bb5eda39 query_cache: Gracefully handle zero-query merge. 2012-06-04 11:51:37 -07:00
shlurbee
55d2038354 Update config with new promocampaign thing table 2012-06-04 11:51:37 -07:00
Neil Williams
5545459aab Add install script. 2012-06-04 10:58:50 -07:00
Neil Williams
74a4a884fa Add upstart job for auto-reloading paster. 2012-06-04 10:58:50 -07:00
Neil Williams
20c126fec1 Add vote queue consumer upstart scripts. 2012-06-04 10:58:50 -07:00
bsimpson63
37da8b585c Reorganize queries.
del_or_ban, unban, clear_reports handle QueryCache queries more clearly.
2012-06-01 13:48:24 -07:00
bsimpson63
fb198d5bd7 Stop writing to old CachedResults for spam and reports. 2012-06-01 13:48:24 -07:00
bsimpson63
634e9b1038 Read reports and spam from new QueryCache. 2012-06-01 13:48:24 -07:00
Neil Williams
f5b6839a78 Losslessly optimize JPEGs.
Disabled by default in example.ini. Install jpegoptim
or an equivalent and set the configuration properly.
2012-06-01 13:48:24 -07:00
Keith Mitchell
78ee90c499 Some link flair updates weren't triggering search uploads 2012-06-01 12:08:51 -07:00
Neil Williams
c517c41501 Don't show "Saved" tab on front page to unlogged users.
It 404s right now and is only there for legacy reasons anyway.
2012-06-01 12:08:43 -07:00
shlurbee
f72e1fbccf more detailed promotion logging
Log creation/deletion of campaigns and include campaign id in promotion logs.
This change will make it easier to troubleshoot self-serve bugs.
2012-05-31 20:04:48 -07:00
Neil Williams
28cf919800 Add queue consumer upstart jobs. 2012-05-31 15:57:57 -07:00
Neil Williams
da3bd2ee69 Get rid of problematic buffering in job wrapper. 2012-05-31 15:57:57 -07:00
Neil Williams
533e695d55 Tweak wrap-job to support queue consumer naming conventions. 2012-05-31 15:57:57 -07:00
Neil Williams
5c80560e51 Add script for starting/restarting queue consumer jobs. 2012-05-31 15:57:57 -07:00
Neil Williams
2028bc4418 Add upstart tasks for cron jobs. 2012-05-31 12:29:07 -07:00
Neil Williams
1c1863e464 Add script to wrap cron jobs. 2012-05-29 12:15:59 -07:00
Neil Williams
e59b61d2cf Cut get_sent query over to new query cache. 2012-05-29 12:15:59 -07:00
Neil Williams
ab039b4722 Use a different set of memcaches for locking. 2012-05-29 12:15:59 -07:00
shlurbee
76142d50cd Remove user id from authorize.net invoice number
Previously, invoice number was [user_id]T[link_id]C[campaign_id].
Since campaigns are represented as Things now, their ids are longer, putting
us over the 20 char limit for invoice numbers defined in the authorize.net
xml api.
(see https://api.authorize.net/xml/v1/schema/AnetApiSchema.xsd )

Now invoice number will be T[link_id]C[campaign_id], which is still unique
across campaigns since a link is always associated with only one user
2012-05-29 11:39:16 -07:00