Commit Graph

24 Commits

Author SHA1 Message Date
Umair Khan 5359e6b0d4 Convert Zulip to use Jinja2 templates.
This results in a substantial performance improvement for all of
Zulip's backend templates.

Changes in templates:
- Change `block.super` to `super()`.
- Remove `load` tag because Jinja2 doesn't support it.
- Use `minified_js()|safe` instead of `{% minified_js %}`.
- Use `compressed_css()|safe` instead of `{% compressed_css %}`.
- `forloop.first` -> `loop.first`.
- Use `{{ csrf_input }}` instead of `{% csrf_token %}`.
- Use `{# ... #}` instead of `{% comment %}`.
- Use `url()` instead of `{% url %}`.
- Use `_()` instead of `{% trans %}` because in Jinja `trans` is a block tag.
- Use `{% trans %}` instead of `{% blocktrans %}`.
- Use `{% raw %}` instead of `{% verbatim %}`.

Changes in tools:
- Check for `trans` block in `check-templates` instead of `blocktrans`

Changes in backend:
- Create custom `render_to_response` function which takes `request` objects
  instead of `RequestContext` object. There are two reasons to do this:
    1. `RequestContext` is not compatible with Jinja2
    2. `RequestContext` in `render_to_response` is deprecated.
- Add Jinja2 related support files in zproject/jinja2 directory. It
  includes a custom backend and a template renderer, compressors for js
  and css and Jinja2 environment handler.
- Enable `slugify` and `pluralize` filters in Jinja2 environment.

Fixes #620.
2016-05-09 09:55:18 -07:00
Josh Mandel 9ebd80ddba Add "apple-mobile-web-app-capable" meta to HTML.
This allows full-screen mode when launching from a saved app link
(mobile browser -> save link to home screen).  This works on Android,
too, despite the "apple-" prefix.
2016-01-07 23:08:52 -08:00
Allie Jones 85809e6140 Add webpack build process. 2015-11-06 09:13:25 -08:00
Ahmed Shibani 4f29cfee9e Mark strings for translation in templates/zerver
In order to enable internationalization support in Zulip, and to use
Django internationalization tools, all strings in Zulip frontend needs
to be marked for translation.
2015-11-03 23:06:31 -08:00
Jessica McKellar 87635b9e32 Convert settings from static HTML to a template.
This will make life much easier for handling update events.

(imported from commit 66b101eb5fae89b4eec6fc797fee8be26ac99bfb)
2014-03-03 16:08:32 -05:00
Allen Rabinovich 1686d27633 Tweaks and changes to adjust for new message block markup
(imported from commit 78210c2b98976243ee1b516bd9400a3071dd8cd9)
2014-02-27 20:25:25 -05:00
Allen Rabinovich b00ebd1bdf Miscellaneous fixes to message pane redesign
(imported from commit 8cedb21cb3a520dd9a28c943e047e8f73f410cae)
2014-02-18 12:50:32 -07:00
Allen Rabinovich 01a04c3169 Add offsets to fixed elements based on the width of the browser scrollbar.
(imported from commit 2026725165dead381d0b99181ef84a67a5bd6626)
2014-02-18 12:50:31 -07:00
Allen Rabinovich 4c4cd1ed8e Fix top notification display to appear above the floating recipient bar
(imported from commit 0a5915af3589db09ee2bc294afced0a21352fde2)
2014-02-18 12:50:31 -07:00
Allen Rabinovich 2c56e692a2 Fix floating recepient bar hiding when switching to settings pages
(imported from commit 9a643075197a53e84df196c3dcc1ce04766d3d4e)
2014-02-18 12:50:30 -07:00
Allen Rabinovich dbdc0a9721 Switch message pane headers to new design
(imported from commit f640641553779450f9d9d15e5586ef38e068367b)
2014-02-18 12:50:29 -07:00
Allen Rabinovich e7e2f3a79c Modify crumbbar style to look like an arrowbar
Also:
  * Change fixed element positioning and fix bugs
  * Move settings dropdown back to the right and add left padding to left sidebar

(imported from commit fcf903b59617687f94618a01ce7544b69f408130)
2014-02-18 12:50:29 -07:00
Tim Abbott d7e4429bb7 Revert "Add adjustments for browsers with fixed scrollbar"
This reverts commit 462a3eb5e6b83f9d8091b83e3f8dc458236938ed.

We're reverting this to see if it is the cause of our recent CSS
performance issues.

(imported from commit 6a0b041cfcb6770bbfda0d354444bad2d64459ab)
2014-02-13 16:41:03 -05:00
Allen Rabinovich addfcbfc30 Add adjustments for browsers with fixed scrollbar
(imported from commit 462a3eb5e6b83f9d8091b83e3f8dc458236938ed)
2014-02-12 10:47:54 -05:00
Jessica McKellar 7085dca1ce Fix the Admin page not working for newly-knighted users.
Previously, while you'd get the event saying you'd been knighted,
which would make the Administration tab visible, clicking on the tab
would error out because the admin page HTML was never sent over on
page load (since you weren't an admin at that point).

(imported from commit 90ad351533515bebece630d67baf4b142d320754)
2014-01-29 12:41:22 -05:00
Jessica McKellar 20f2baa614 admin: Show a lock icon next to private streams.
(imported from commit 26829016cf219b55aef0ef45187667b0a9bd86fd)
2014-01-29 12:41:21 -05:00
Waseem Daher fc7b8b1254 Offer a "reload" hyperlink when we have no CSS.
(imported from commit 237a544c135ad2ad29bd9d1a2b21be2335d2fcd5)
2013-12-18 17:49:34 -05:00
Steve Howell aea01d54ac Make app less shocking when CSS fails to load.
We now have a stand-in message that says "Loading CSS...", which
only gets hidden once the CSS loads.  This is a better user
experience than seeing completely unformatted Zulip HTML on the
page.  The message is set to fill the whole page, and it's cleared
once zulip.css gets loaded.

(imported from commit 613fe3d6a39197aabfeb63823b7fad75834bb9eb)
2013-12-11 11:58:10 -05:00
Tim Abbott d57404683f Add documentation on search operators.
(imported from commit 9ed5692685b52d6e4d4f1a59c1b4cc0fde252ff2)
2013-12-02 17:15:24 -05:00
Jessica McKellar d1619b3f3c Use a more accurate "is admin?" check.
UserProfile.show_admin was intended to be a check for users that have
administrative rights in other realms, which we've harmlessly but
erroneously been using to check if they are an admin in their realm.

Use the more straightforward check instead, with a more intuitive
name.

(imported from commit d81050c7dbbb19e59c5e31750be303a4630e1456)
2013-11-19 14:31:02 -05:00
Tim Abbott 8641749774 Move zephyr/administration.html to zerver/ path.
This one slipped through through a race between it being added and the
zerver migration.

(imported from commit 23ed79efa16584f062844fa05db3a95b8835060c)
2013-08-20 14:57:14 -04:00
Allen Rabinovich 0b78fab636 Switch to fixed sidebar layout and remove bootstrap layout hooks.
(imported from commit 060340a2febb7b8df6477a3419e7588a8503e377)
2013-08-15 11:05:11 -04:00
Luke Faraone ecc42bc9f8 Add administrative panel to allow for user deactivations etc.
We now show a list of users and allow you to deactivate a user using the
same process as `python manage.py deactivate_user`.

We add a new menu item accessible from the gear icon which will eventually
have much more than just this, but we have a good start here.

Here we also add a property to UserProfile which determines whether you're
eligible to access the administration panel, and then have code which shows
the menu option if so.

This introduces a new JS file, admin.js.

(imported from commit 52296fdedb46b4f32d541df43022ffccfb277297)
2013-08-13 14:20:18 -04:00
Tim Abbott e111a2f9a5 [manual] Rename Django app from zephyr to zerver.
This needs to be deployed to both staging and prod at the same
off-peak time (and the schema migration run).

At the time it is deployed, we need to make a few changes directly in
the database:

(1) UPDATE django_content_type set app_label='zerver' where app_label='zephyr';
(2) UPDATE south_migrationhistory set app_name='zerver' where app_name='zephyr';

(imported from commit eb3fd719571740189514ef0b884738cb30df1320)
2013-08-06 07:39:36 -04:00