221 Commits

Author SHA1 Message Date
Alice Kile
52a9673f69
fix: implement requested changes
- pass short_description to header.html include statement in templates/setup.html
- pass description to header.html include statement in
  modules/sharing/templates/sharing.html
- use `[]` instead of `None` for the initial value of description
  property in SetupView (plinth/views.py)
- add license info to header.html

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-12-07 13:08:53 -05:00
Alice Kile
9cd203411d
fix toggle buttle html layout and responsive design css
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-12-07 13:08:46 -05:00
Alice Kile
ec6013b5bb
properly implement header in app and setup pages
- move header section to it's own file so that it can be imported across
  the app (app.html, simple_app.html, setup.html)

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-12-07 13:08:41 -05:00
Alice Kile
45b6aa6a1c
fix formatting and template-related issues
- remove unwanted spaces and line breaks
- use just an image instead of using figure and figure caption to
  display the icon in installation page
- eliminate unnecessary code duplication due to if condition

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-12-07 13:08:39 -05:00
Alice Kile
fa74a26042
use single variable for referencing icon filename
- add and use "icon_filename" property to almost all of the modules
  being displayed in the apps page
- sharing and tor modules do not seem to be using setup.html template
  file and so the variable is not added to their __init__.py files,
  therefore the icon will not be displayed on these app pages.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-12-07 13:08:33 -05:00
Alice Kile
f004939f50
show app icons in apps page
- restructure the template markup so as to show the icon towards the
  left of the app heading and description.
- if condition to provide backwards compatiblity to system apps using
  setup.html.
- deluge and matrixsynapse modules have a new property that will be used
  for accessing the icon file name. (to be replicated across all other
  modules *weew*)

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-12-07 13:08:25 -05:00
Sunil Mohan Adapa
49228343b7
toolbar: Rewamp toolbar code for simplicity and to fix issues
- Fix problems with turbolinks. Closes: #1712.

- Remove unnecessary nesting of <button> inside <a> and use simple bootstrap
  recommendation for button.

- Add a external site icon for the 'Launch web client' button. Borrowed from
  clients presentation table.

- Add rel="noopener and noreferrer" for security. Borrowed from clients
  presentation table.

- Use font awesome instead of glyphicons.

- Use toolbar styling recommended by bootstrap.

- Fix showing/hiding of launch button and clients button. Closes: #1719.
  Closes #1713. Closes #1714.

- Place entire contents of toolbar in <section> for correct semantics.

- Add missing end of line to file.

- Hide is_relative_url() method unnecessarily exposed as templatetag.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-12-01 16:52:40 -05:00
Sunil Mohan Adapa
ddeeb59ed5
templates: Make internal zone and port forwarding info override-able
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-12-01 16:52:33 -05:00
Sunil Mohan Adapa
8b5fcadaeb
templates: Remove the now unused simple_app.html
- All apps should use app.html for all purposes.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-12-01 16:52:27 -05:00
Alice Kile
6a4a941bb6
toolbar: Move diagnostics button into dropdown menu
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-12-01 16:40:31 -05:00
Alice Kile
52f6da2a41
templates: Add toolbar for apps in app.html
Changes to the app.html layout, mainly:

- A new panel is created to hold action buttons. Closes #1698.

- Launch button is now shown in the panel alongside "Client Apps".

- Run Diagnostics button is moved into this panel as well. Closes #1690.

- Disable 'Launch web client' button when app is disabled. Closes #1718.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-12-01 16:40:13 -05:00
Alice Kile
fec995d7e0
app: Make the toggle-button responsive
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2019-11-19 00:02:16 +05:30
Alice Kile
1a65c88881
app: Use single form for app toggle and configuration
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2019-11-19 00:02:16 +05:30
Alice Kile
ec62f331b8
app: Implement toggle button in app page
- revamp the old form submission model to enable/disable apps into a
  simple toggle button
- provide backwards compatibility when javascript is disabled

Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2019-11-19 00:02:16 +05:30
Joseph Nuthalpati
95709518eb
clients: Improve code readability
- Break up long lines multiple short lines
- Fix indentation and formatting

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
2019-11-18 19:41:41 +05:30
Alice Kile
8e3bbdb089
clients: implement launch button feature
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2019-11-18 19:41:14 +05:30
Joseph Nuthalapati
eb91938963
help: Respect language preference when showing user manual
Retrieve the manual page or download PDF manual in user's preferred language.

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
[sunil@medhas.org Merge URL format since view is the same]
[sunil@medhas.org Refactor language extraction]
[sunil@medhas.org Minor refactorings]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-10-30 19:25:06 -04:00
Sunil Mohan Adapa
54cf2566d8
searx, app, translation, language-selection: Fix license header
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-10-20 11:54:10 -04:00
Sunil Mohan Adapa
5b45e3859a
templates: Remove unused app-subsubmenu.html
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-10-05 13:26:21 -04:00
Sunil Mohan Adapa
f09e89aba4
templates: Provide subsubmenu functionality in app.html
- So that eventually we can use just app.html instead of two: app.html and
  app-subsubmenu.html

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-10-05 13:26:08 -04:00
Sunil Mohan Adapa
4c073bb62b
templates: Simplify unnecessary override
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-10-05 13:26:06 -04:00
Sunil Mohan Adapa
83815ff31b
templates: Remove unused invocation of subsubmenu
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-10-05 13:26:03 -04:00
Sunil Mohan Adapa
dbb3558aab
firstboot: Hide left menu during first boot as intended
This seems to be a regression from earlier behavior.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2019-09-22 08:41:59 +02:00
Joseph Nuthalapati
7cbaec3e26
firstboot: Add new help menu to firstboot navbar
- Refactor the help menu into a django template include.

- Show help menu if user is logged in, instead of after completing firstboot.

Closes: #1517

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
[sunil@medhas.org Rename help-menu.inc to help-menu.inc]
[sunil@medhas.org Use user.is_authenticated instead of another variable]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-09-17 19:45:48 -07:00
Joseph Nuthalapati
7409ea5daa
help: Convert help icon in the navbar to dropdown
- Tested with JavaScript disabled
- Tested on mobile

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
[sunil@medhas.org Add some missing accessibility attributes]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-09-06 12:43:51 -07:00
Sunil Mohan Adapa
661a00198e
backups: Minor styling changes
- Add docstrings.

- Add blank lines for extra readability.

- Use <span> instead of <i> tag for icon in template.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2019-07-03 12:43:49 +05:30
Joseph Nuthalapati
9f71c5867e
ui: Create reusable CSS class for collapsible-button
.collapsible-button is used by both "Client Apps" and the "How to verify?"
button in backups:verify-ssh-hostkey page.

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2019-07-03 12:42:48 +05:30
Sunil Mohan Adapa
e4351b6b97
Introduce daemon component to handle systemd units
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-06-13 20:18:02 -04:00
James Valleroy
ff06c722bb
config: Add option to show advanced apps
Closes #1454.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-06-10 11:15:58 -07:00
Sunil Mohan Adapa
75c57d3e00
Turn frontpage shortcut into an app component
- Turn frontpage shortcut into an App component. Add tests and full
  documentation.

- Overridden implementations for tahoe, diaspora, mediawiki shortcuts to handle
  special cases. Special handling for ikiwiki.

- Extend App API for removing and retrieving a component.

- Add clients information into shortcuts to avoid hacks when presenting
  shortcuts to Mobile devices via API.

- Fixed unnecessary stripping and adding of '/' when setting home page redirect
  URLs. This fixes problem with setting Cockpit as home page.

- Replaced the use of term 'app' in favor of 'shortcut' as the term when setting
  frontpage shortcuts as home page.

- JSXC shortcut does not require login.

- Don't show shadowsocks for anonymous users.

- Simplify showing selected shortcut details.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-06-07 11:48:08 -07:00
Sunil Mohan Adapa
b96d901071
Introduce component architecture and menu component
- Introduce base class for all apps that will contain components. With
  unittests.

- Introduce base classes for components. With unittests.

- Turn Menu class into an app component.

  - Further cleanup Menu class.

  - Update tests.

  - Maintain a global list of menu items and look them up easily. Generalize
    such that subsubmenus can later be merged into Menu class.

  - Cleanup scope of main menu initialization.

  - Use None instead of empty strings for various values. Ensure that
    printing short_description does not show 'None' in output.

  - Use enable/disable instead of promote/demote.

- Use menu component in all apps.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-06-07 11:48:04 -07:00
Sunil Mohan Adapa
0eee8ddf65
menu: Removed unused templates, methods and properties
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-06-07 11:48:01 -07:00
Sunil Mohan Adapa
27980238cd
menu: Remove unused template submenu.html
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-06-07 11:47:58 -07:00
Sunil Mohan Adapa
b6325073c5
templates: Use SVG icons for apps page and shortcuts
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-05-16 06:41:49 -04:00
Sunil Mohan Adapa
ad5b34ed35
Common template for showing port forwarding information
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-05-13 15:54:12 -07:00
James Valleroy
bf63ebaa96
service: Show port forwarding info when available
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-05-13 15:53:05 -07:00
Sunil Mohan Adapa
dba0e40020
apps: Style the title for disabled icons section
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-05-07 16:58:11 -07:00
Sunil Mohan Adapa
dd58b4fd39
apps: Fix showing apps background twice
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-05-07 16:58:05 -07:00
James Valleroy
893bd2b4d6
apps: Separate enabled and disabled apps
- Add 'secondary' flag to menu items.

- Mark apps as 'secondary' when disabled.

- Extend TemplateView for apps index.

- Add card-container for disabled apps.

Closes #1309

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-05-07 16:57:55 -07:00
Joseph Nuthalapati
5f434a1ac5
clients: Open web app in a new browser tab
The "Launch" button with its fa-external-link icon gives the impression that it
would open the web app in a new browser tab but behaves counter-intuitively by
opening it in the same tab. This commit makes the button open the link to the
web app in a new tab.

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-03-25 19:48:42 -04:00
Sunil Mohan Adapa
37ce0f5620
templates: Minor styling change
Remove an empty paragraph between clients button and submenu tabs. It does not
add a gap and adding a gap should instead be done using CSS.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-03-08 14:25:51 -08:00
Joseph Nuthalapati
00eb30861c
Include clients.html in service-subsubmenu.html
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-03-08 14:25:32 -08:00
Joseph Nuthalapati
1eca9ffd2d
subsubmenu: Make description a customizable block
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-03-08 14:25:22 -08:00
Sunil Mohan Adapa
3be15a87e6
backups: Move subsubmenu below description
Closes: #1466.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-02-07 19:11:59 -05:00
Sunil Mohan Adapa
8e5d8da89c
ui: Fix regression with configure button in home page
Closes: #1488.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2019-02-07 07:49:32 -05:00
Sunil Mohan Adapa
72c1c7349f
js: Remove javascript license link from footer
The link is hidden but not removed. librejs will still parse it. Ideally we
would want to do this from <link data-jslicense='1' href=''> but that seems to
cause problems for librejs.

Librejs users can still find out about the license of Javscript script file
using Librejs menu.

We already have a link to FreedomBox source code in the home page.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2019-01-29 22:19:34 +05:30
Prachi Srivastava
f43e185a8c
security: Moves inline javascript to files
Signed-off-by: Prachi Srivastava <prachi.chs.2009@gmail.com>
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2019-01-28 17:39:12 -08:00
Sunil Mohan Adapa
4c65d34741
ui: Hide restart/shutdown items when navbar is collapsed
- Keep unimportant items hidden on small screens.

- Remove dividers that cause confusion.

- Avoid a scrollbar inside the menu when user menu is expanded. Bootstrap
  intended to show exactly 8 menu items.

Fixes #1431.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2019-01-18 11:47:57 +05:30
Sunil Mohan Adapa
d767e64703
ui: Show help nav item text when navbar is collapsed
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2019-01-18 11:47:46 +05:30
Sunil Mohan Adapa
dca149821b
ui: Fix setting width of card-list at various page sizes
Reuse bootstrap .container class to perform the width calculations instead of
explicitly setting it. This makes the size of card list match the rest of the
content like navigation and text content.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2019-01-18 11:47:36 +05:30