Commit Graph

1186 Commits

Author SHA1 Message Date
Petr Vobornik
d2f2fc5add webui: attr widget: get list of possible attrs from ipapermdefaultattr
Very useful for managed permissions since the list of attrs in metadata
might be smaller that default attributes. This smooths behavior if one
removes an attr from effective attrs which is not in metadata. Without
this it will disappear from the list and one has to add it manually
through 'Add'.

https://fedorahosted.org/freeipa/ticket/4253

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-07-21 10:47:06 +02:00
Petr Vobornik
4aefc0d6fe webui: custom attr in attributes widget
Web UI doesn't always know what are the possible attributes
for target object. This will allow to add custom attributes
if necessary.

https://fedorahosted.org/freeipa/ticket/4253

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-07-21 10:47:06 +02:00
Petr Vobornik
9fa447cb6e webui: optimize (re)creation of option widget
There is a case where attributes widget can contain > 1000 items.
It's about 3000 nodes. It's slow in jQuery. Simple move to dojo
speeds it up (is closer to native calls) while maintaining developer
friendliness.

Now the biggest lag is in browser's render. It's probably not worth
developer time to optimize that.

https://fedorahosted.org/freeipa/ticket/4253

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-07-21 10:47:06 +02:00
Petr Vobornik
740d42257f webui: add filter to attributes widget
Adds filter field to attribute box in permissions for better user
experience. User can then quickly find the desired attribute.

Initial version of the patch authored by: Adam Misnyovszki

https://fedorahosted.org/freeipa/ticket/4253

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-07-21 10:47:06 +02:00
Petr Vobornik
b68f819de7 webui: improve usability of attributes widget
Attributes widget layour was changed from tiny table which allowed
to display only few options to a checkbox list with multiple
columns (depends on container).

Check all attributes option was removed to force the user
to read through the attributes which he selects.

Initial version authored by: Adam Misnyovszki

https://fedorahosted.org/freeipa/ticket/4253

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-07-21 10:47:06 +02:00
Petr Vobornik
03c25bd98e webui: capitalize labels of undo and undo all buttons
Make the label of these buttons consistent with other buttons which have
capital first letters.

Reviewed-By: Fraser Tweedale <ftweedal@redhat.com>
2014-07-08 12:00:30 +02:00
Petr Vobornik
d0c12fb0c0 webui: display messages contained in API responses
API responses can contain warnings in "messages" array. This patch
also adds support for displaying multiple notifications at the same
time in order to show the message and a status of finished operation.

Reviewed-By: Petr Spacek <pspacek@redhat.com>
2014-07-07 15:30:41 +02:00
Petr Vobornik
0b0e77cf99 webui: new navigation structure
https://fedorahosted.org/freeipa/ticket/4418

Reviewed-By: Fraser Tweedale <ftweedal@redhat.com>
Reviewed-By: Martin Kosek <mkosek@redhat.com>
Reviewed-By: Petr Spacek <pspacek@redhat.com>
2014-07-04 16:31:38 +02:00
Petr Vobornik
bc1979ac09 webui: change ipatokennotbefore and ipatokennotafter types to datetime
https://fedorahosted.org/freeipa/ticket/3369

Reviewed-By: Martin Kosek <mkosek@redhat.com>
2014-07-04 08:47:58 +02:00
Petr Vobornik
76ec9384fb webui-build: use /usr/share/java/js.jar instead of rhino.jar
/usr/share/java/rhino.jar is a Fedora's symlink to /usr/share/java/js.jar

Debian doesn't have it. Direct usage of upstream /usr/share/java/js.jar should
work on both systems.

Reviewed-By: Timo Aaltonen <tjaalton@ubuntu.com>
2014-07-03 14:19:25 +02:00
Martin Basti
30551a8aa3 Add NSEC3PARAM to zone settings
Ticket: https://fedorahosted.org/freeipa/ticket/4413
Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
2014-07-02 14:54:41 +02:00
Martin Basti
ff7b44e3b0 Remove NSEC3PARAM record
Revert 5b95be802c

Ticket: https://fedorahosted.org/freeipa/ticket/4413
Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
2014-07-02 14:54:41 +02:00
Martin Basti
8e911fcabc DNSSEC: WebUI: add TLSA record
Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
2014-07-01 12:37:08 +02:00
Petr Vobornik
99c5f0511f webui: focus invalid widget on validation error
Reviewed-By: Fraser Tweedale <ftweedal@redhat.com>
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-07-01 10:19:46 +02:00
Petr Vobornik
c693b28bab webui: fix required error notification in multivalued widget
Reviewed-By: Fraser Tweedale <ftweedal@redhat.com>
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-07-01 10:19:46 +02:00
Petr Vobornik
93de5db39e webui: show notification instead of modal dialog on validation error
Reviewed-By: Fraser Tweedale <ftweedal@redhat.com>
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-07-01 10:19:45 +02:00
Petr Viktorin
dfbd7170e9 install/ui/build: Build core.js
The make-ui.sh script builds both app.js and core.js,
but only one was specified in the Makefile.
Correct the mistake.

Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
2014-06-30 18:17:28 +02:00
Petr Vobornik
35d3f03843 webui: support unlock user command
Call user-unlock command from Web UI.

It will unlock displayed user on current master.

https://fedorahosted.org/freeipa/ticket/4407

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-30 13:11:53 +02:00
Petr Vobornik
b36a3c693b webui: add sync_otp.html
standalone page for OTP token synchronization. It reuses SyncOTPScreen
widget instead of reimplementing the logic as in other standalone pages.

https://fedorahosted.org/freeipa/ticket/4218

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-30 12:27:05 +02:00
Petr Vobornik
46a42de532 webui: layer for standalone pages which use WebUI framework
Current compiled Web UI layer (app.js) contains every FreeIPA plugin and
not just the UI framework. It's not possible to start just a simple facet.

This commit creates a basis for a layer (core.js) which contains only
framework code and not entity related code.

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-30 12:27:05 +02:00
Petr Vobornik
c2c1131a7a webui: fix confirmation mixin origin check
Current check is not enough.

https://fedorahosted.org/freeipa/ticket/4098

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-30 12:27:04 +02:00
Petr Vobornik
9dbeeb7556 webui: bind Login facet and OTP sync facet
Simple plugin which handles transition from login facet to OTP sync facet
and vice versa.

https://fedorahosted.org/freeipa/ticket/4218

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-30 12:27:04 +02:00
Petr Vobornik
d9a7fcb5e1 webui: support global notifications in all containers
Global notifications were limited to "main" container. Now they have their
own container which is displayed over other ones. It makes them usable
everywhere.

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-30 12:27:04 +02:00
Petr Vobornik
72a107c9d7 webui: add link pointing to OTP sync page to login
https://fedorahosted.org/freeipa/ticket/4218

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-30 12:27:04 +02:00
Petr Vobornik
30b1256b62 webui: add OTP token synchronization
New SyncOTPScreen widget and related facet.

https://fedorahosted.org/freeipa/ticket/4218

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-30 12:27:03 +02:00
Petr Vobornik
d159662ade webui: base class for LoginScreen-like facets
LoginScreen has layout which can be reused for other facets/widgets,
e.g. for Sync OTP facet

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-30 12:27:03 +02:00
Petr Vobornik
5568e357d1 webui: extract rpc value from object envelope
adapt Web UI to a newer style of encapsulation object data

https://fedorahosted.org/freeipa/ticket/4394

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-27 14:23:22 +02:00
Petr Vobornik
9aac0524c9 webui: send API version in RPC requests
Currently there is an incorrect behavior that server doesn't send datetime
and dnsname data in new format.

This patch adds the version to each RPC request making the UI look as  the
latest client. Server then sends data in correct format. It also removes
the "unknown version" warning from each RPC response.

https://fedorahosted.org/freeipa/ticket/4394

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-27 14:23:21 +02:00
Petr Vobornik
59f66a156b webui: fix detection of RPC command
old detection did not work with the static version used for test and
demonstration purposes.

https://fedorahosted.org/freeipa/ticket/4357

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-27 14:18:35 +02:00
Petr Vobornik
e6a373e930 webui-test: dns forward zone json data
Fake API results for testing and presentation purposes of DNS Forward
Zones.

https://fedorahosted.org/freeipa/ticket/4357

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-27 14:18:35 +02:00
Petr Vobornik
db2666d276 webui-test: static metadata update
Regular update of static metadata for testing and presentation purposes.
It should also contain new DNS Forward Zones metadata.

https://fedorahosted.org/freeipa/ticket/4357

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-27 14:18:34 +02:00
Petr Vobornik
7a25168a3c webui: dns forward zones
Add DNS Forward Zones Web UI.

- pages under: Identity/DNS/DNS Forward Zones

https://fedorahosted.org/freeipa/ticket/4357

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-27 14:18:34 +02:00
Petr Vobornik
8ca5793160 webui: add confirmation for dns zone permission actions
All header actions should require confirmation.

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-27 14:18:33 +02:00
Petr Vobornik
70c77e6a3c webui: support otp in reset_password.html
https://fedorahosted.org/freeipa/ticket/4262

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-26 12:37:40 +02:00
Petr Vobornik
870db2f677 webui: rebase user password dialog on password dialog and add otp support
https://fedorahosted.org/freeipa/ticket/4262

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-26 12:37:39 +02:00
Petr Vobornik
e3de467676 webui: add placeholders to login screen
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-26 12:37:39 +02:00
Petr Vobornik
6e7d4ad468 webui: placeholder attribute support in textbox and textarea
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-26 12:37:39 +02:00
Petr Vobornik
f9adc5a5f3 webui: support password change with OTP in login screen
https://fedorahosted.org/freeipa/ticket/4262

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-26 12:37:39 +02:00
Petr Vobornik
6dab9123be webui: don't limit permission search in privileges
Search for privileges was limited to bindruletype==permission. There
was no reason to do that.

This patch removes the restriction.

Related to:
https://fedorahosted.org/freeipa/ticket/4079

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-25 16:23:14 +02:00
Petr Vobornik
bfdf9039ce webui: fix field's default value
Fields with default value, such as DNS Zone's idnsforwardpolicy, were
marked as dirty when no value was loaded and when default value of
input control was other than empty.

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-25 16:23:14 +02:00
Petr Vobornik
6e43d01266 webui: plugin API
new `extend` module should serve as a stable API for plugin authors.
It should expose the most commonly used global calls.

https://fedorahosted.org/freeipa/ticket/4345

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-23 15:13:14 +02:00
Petr Vobornik
6f5e80b0ce webui: add parent link to widgets in ContainerMixin
Standard facets sets `facet` attribute to widgets. This one adds
similar, more generic `parent` attribute which should be used for going through
the hierarchy up to top.

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-23 15:13:13 +02:00
Petr Vobornik
86898065b5 webui: generic routing
Router is not able to create hash from facet state for custom
routes/facets. This patch refactors router methods into providers. It
allows to create additional route handlers, navigators and hash creators.

These providers are mapped to facets and therefore it's possible
to create router hash for any facet without any logic in the facet itself.

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-23 15:13:13 +02:00
Petr Vobornik
27836cba9d webui: support standalone facets in navigation module
One can access standard standalone facets with:
  `navigation.show('facet_name')`
and completely custom facets with low level call:
  `navigation.show_generic('/custom/hash', facet)``

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-23 15:13:13 +02:00
Petr Vobornik
c6c7dfeefb webui: fix excessive registration of state change event listeners
`Facet` descendants don't have `container` attribute as opposite to
`facet.facet`. Therefore the registration will happen on every facet
visit.

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-23 15:13:13 +02:00
Martin Basti
0eef37908c DNSSEC: WebUI add DLV record type
Ticket: https://fedorahosted.org/freeipa/ticket/4328
Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
2014-06-20 16:46:03 +02:00
Martin Basti
4d90d3d572 DNSSEC: webui update DNSSEC attributes
Removed SIG, KEY, RRSIG, NSEG record types
Added NSEC3PARAM record type

Ticket: https://fedorahosted.org/freeipa/ticket/4328
Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
2014-06-20 15:41:40 +02:00
Petr Vobornik
4de9c5fc51 webui: expose krbprincipalexpiration
https://fedorahosted.org/freeipa/ticket/3306

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-16 15:47:27 +02:00
Petr Vobornik
5a428608be webui: move RPC result extraction logic to Adapter
It enables declarative extraction of values from partial
results of a batch commands and also further extensibility
in custom adapters.

The default adapter has detection logic for this extraction so
it can use bare record or extract data from normal or batch RPC
command.

Minor change of user plugin fixed:
https://fedorahosted.org/freeipa/ticket/4355

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-16 15:41:38 +02:00
Petr Spacek
91d3d4d7b2 Fix --ttl description for DNS zones
TTL specified in idnsZone object class affects all records at zone apex,
not only SOA record.

Reviewed-By: Nathaniel McCallum <npmccallum@redhat.com>
2014-06-12 09:57:58 +02:00
Petr Vobornik
8f286d5c51 webui: add sudoorder field to sudo rule page
part of
https://fedorahosted.org/freeipa/ticket/2348

Reviewed-By: Nathaniel McCallum <npmccallum@redhat.com>
2014-06-12 09:56:50 +02:00
Petr Vobornik
f1b83198da webui: control sudo rule deny command tables by category switch
`memberdenycmd_sudocmd` and `memberdenycmd_sudocmdgroup` tables are now
enabled/disabled based on `cmdcategory` as well.

https://fedorahosted.org/freeipa/ticket/4361

Reviewed-By: Nathaniel McCallum <npmccallum@redhat.com>
2014-06-12 09:56:49 +02:00
Petr Vobornik
f0c19f907e webui: handle "unknown" result of automember-default-group-show
Interface for setting default group is hidden when user doesn't have
necessary rights or if there is some error while loading the state.

https://fedorahosted.org/freeipa/ticket/4356

Reviewed-By: Nathaniel McCallum <npmccallum@redhat.com>
2014-06-12 09:56:49 +02:00
Petr Vobornik
352ef8428c webui: fix SSH Key widget update
Update widget status text on update.

Reviewed-By: Nathaniel McCallum <npmccallum@redhat.com>
2014-06-12 09:50:10 +02:00
Petr Vobornik
905d58a2a4 webui: handle back button when unauthenticated
using browser history when unauthenticated causes transition to
the original and/or preceding facets. But nothing works since
all commands fail due to expired credentials in session.

These changes make sure that user stays on login screen if he misses
valid session credentials while he wants to switch to facet which
requires authentication.

https://fedorahosted.org/freeipa/ticket/4353

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-11 13:54:20 +02:00
Petr Vobornik
4b2d20a1f9 webui: display only dialogs which belong to current facet
Dialog instances no longer directly call IPA.opened_dialog methods. It's
handled through events (decoupled from dialog's POV). IPA.open_dialogs
with assistance of ApplicationController makes sure that there is only
one dialog opened at the same time.

It also makes sure to hide all dialogs, which are not global dialogs and
did not originate from current facet, when switching facets.

https://fedorahosted.org/freeipa/ticket/4348

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-11 13:50:12 +02:00
Petr Vobornik
36c5ba9d27 webui: simplify self-service menu
there is only one top level item -> no point of having this level.

This patch replaces top level with second menu level

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-11 13:02:51 +02:00
Petr Vobornik
9c97bbd347 webui: add idnsSecInlineSigning option to DNS zone details facet
https://fedorahosted.org/freeipa/ticket/3801

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-11 10:51:32 +02:00
Petr Vobornik
e3840eef09 webui: fix regression: enabled gid field on group add
GID field should be enabled by default since the default group is posix.

Was caused by option_widget_base not properly reporting value change while
selecting the default value. It has to be notified with delay otherwise the
event is consumed by FieldBinder.

https://fedorahosted.org/freeipa/ticket/4325

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-11 10:47:27 +02:00
Petr Vobornik
b0a61ab953 webui: break long text in a code element in a modal
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:31 +02:00
Petr Vobornik
31df435e41 webui: fix layout of QR code on wide screens
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:31 +02:00
Petr Vobornik
dea2da4455 webui: fix search box overlap in mobile mode
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:31 +02:00
Petr Vobornik
bc6105b270 webui: use propert alerts in header notification area
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:31 +02:00
Petr Vobornik
bedd128de0 webui: proper alerts in dialogs
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:31 +02:00
Petr Vobornik
0fadb14ec7 webui: move radius proxy action panel commands to header actions
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:30 +02:00
Petr Vobornik
dd69557f4e webui: use normal buttons instead of link buttons in multivalued widget
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:30 +02:00
Petr Vobornik
254b41e485 webui: move service action panel actions to action dropdown
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:30 +02:00
Petr Vobornik
2af21743df webui: move host action panel actions to action dropdown
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:30 +02:00
Petr Vobornik
2df5e0b132 webui: use dark color for facet titles without pkey
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:29 +02:00
Petr Vobornik
29f60931e2 webui: association adder dialog - change find label to filter
also add filter placeholder

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:29 +02:00
Petr Vobornik
05a917eb17 webui: certificate search - select search attribute only when defined
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:29 +02:00
Petr Vobornik
408457ce53 webui: change control buttons to normal buttons
Now buttons have normal button appearance instead of link button.

Partially fixes: https://fedorahosted.org/freeipa/ticket/4258 since the disabling is done through button's disabled attribute.

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:29 +02:00
Petr Vobornik
40a25ecf37 webui: add search box placeholder text
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:29 +02:00
Petr Vobornik
5c3fd4bb83 webui: adjust header controls alignment
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:28 +02:00
Petr Vobornik
99ed015c0a webui: remove old css for standalone pages
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:28 +02:00
Petr Vobornik
74fc85d003 webui: use BS alerts in validation_summary_widget
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:28 +02:00
Petr Vobornik
ea93590ef1 webui: adjust login page to PatternFly
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:28 +02:00
Petr Vobornik
4f45e3ea92 webui: preload automember default group select list
- the reload also fixes vertical align in Firefox (input gets
  display='inline' style).

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:28 +02:00
Petr Vobornik
5499022782 webui: restyle automember default group
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:27 +02:00
Petr Vobornik
9c1da611ea webui: do not show empty table footer
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:27 +02:00
Petr Vobornik
21651d9d3f webui: improve pagination
pagination now support:
- styles updated to PatternFly + DataTables
- added 'First' and 'Last' button

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:27 +02:00
Petr Vobornik
f631b07507 webui: activity indicators
https://fedorahosted.org/freeipa/ticket/4177
https://fedorahosted.org/freeipa/ticket/4255

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:27 +02:00
Petr Vobornik
dff5f6319f webui: adjust association adder dialog to PatternFly
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:26 +02:00
Petr Vobornik
faf4fea30f webui: patternFly dialog
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:26 +02:00
Petr Vobornik
2f3dc7908d webui: move user reset password action to action dropdown
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:26 +02:00
Petr Vobornik
4e1c0ad423 webui: move certificate actions to action dropdown
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:26 +02:00
Petr Vobornik
a98df325b6 webui: add confirmation to action dropdown actions
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:26 +02:00
Petr Vobornik
be3aadd06a webui: remove select action
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:25 +02:00
Petr Vobornik
ec9539d0fd webui: add space between action buttons's icon and text
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:25 +02:00
Petr Vobornik
c7af245809 webui: add action dropdown
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:25 +02:00
Petr Vobornik
fc0926ba91 webui: remove action list widget
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:25 +02:00
Petr Vobornik
3dd34d6e55 webui: use h1 in facet title instead of h3
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:25 +02:00
Petr Vobornik
ad338b9d74 webui: change breadcrumb to PatternFly
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:24 +02:00
Petr Vobornik
216e710188 webui: allow multiple base section layouts
i.e. one for details facet and other for dialogs

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:24 +02:00
Petr Vobornik
bcb2ce7f24 webui: display undo and multivalued delete buttons in input-group
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:24 +02:00
Petr Vobornik
2e9e5792bc webui: adjust styles to PatternFly
side effect partially fixes:
https://fedorahosted.org/freeipa/ticket/3435

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:24 +02:00
Petr Vobornik
3eaa69a686 webui: change navigation from RCUE to PatternFly
Mainly html and css changes.

Second level menus are absolutely positioned and so they don't adjust container
size making other elements to overlap.

side effect partially fixes:
https://fedorahosted.org/freeipa/ticket/3435

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:23 +02:00
Petr Vobornik
0e15a282e8 webui: remove column sizing in tables, use PF styles
https://fedorahosted.org/freeipa/ticket/4136

usage of .table-striped class also fixes:
https://fedorahosted.org/freeipa/ticket/3050

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:23 +02:00
Petr Vobornik
4333161ac3 webui: change absolutely positioned layout to fluid
https://fedorahosted.org/freeipa/ticket/4136
https://fedorahosted.org/freeipa/ticket/3435

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:23 +02:00
Petr Vobornik
7e94ee11eb webui: remove unused images
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:23 +02:00
Petr Vobornik
563dcdc3eb webui: remove unused collapsible feature from section
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:22 +02:00
Petr Vobornik
6b5b9a1185 webui: remove unused icons
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:22 +02:00
Petr Vobornik
b5ebdb604b webui: remove remnants of jquery-ui
Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:22 +02:00
Petr Vobornik
5a2aed99ba webui: styles for alert icons
https://fedorahosted.org/freeipa/ticket/4278

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:21 +02:00
Petr Vobornik
1829fa2c15 webui: apply PatternFly theme on config pages
https://fedorahosted.org/freeipa/ticket/4278

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:21 +02:00
Petr Vobornik
78f026bc90 webui: apply PatternFly login theme on reset_password.html
https://fedorahosted.org/freeipa/ticket/4282

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:21 +02:00
Petr Vobornik
6a8eeff22d webui: add PaternFly css
To update install/ui/css/patternfly.css you should:

1. clone Bootstrap 3, Font-Awesome, Bootstrap-Select and PatternFly
   to the same parent directory as for FreeIPA (or use symlinks)
2. checkout desired versions of each component
3. run install/ui/util/make-patternfly.css
4. when changing component versions, copy xxx/variables.less from each
   component to install/ui/less/xxx/ so we can use the variables in our
   less files

This commit contain css made from component versions as follows:
- PatternFly: 0.2.5
- Bootstrap: 3.1.1
- Bootstrap-select: 1.4.3
- Font-Awesome: 4.0.3

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:21 +02:00
Petr Vobornik
b577b3d365 webui: remove login.html
https://fedorahosted.org/freeipa/ticket/4281

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:20 +02:00
Petr Vobornik
ff17af16e7 webui: remove logout.html
https://fedorahosted.org/freeipa/ticket/4281

Reviewed-By: Endi Sukma Dewata <edewata@redhat.com>
2014-06-10 10:23:20 +02:00
Adam Misnyovszki
23302645aa webui static site delete command fixed
When the static test site called batch delete,
it always referred to batch.json. This patch
fixes it, by referring entityname + '_batch_del.json'

Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
2014-05-07 16:55:01 +02:00
Adam Misnyovszki
1ef91701e9 webui OTP token test data added
Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
2014-05-07 16:55:01 +02:00
Petr Vobornik
c4d79eaf59 webui: otptoken-adder dialog - remove obsolete comment
- hotp tokens are also supported

Reviewed-By: Nathaniel McCallum <npmccallum@redhat.com>
Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-05-07 13:00:19 +02:00
Petr Vobornik
093c72d60e webui: fix switching between multiple_choice_section choices
- required indicators are not present for all sections except the last
- validation has wrong color for the same sections

There was only one layout for all choices. Layout should not be reused
because `create` method will reset layout's rows therefore it worked
properly only for the last choice.

https://fedorahosted.org/freeipa/ticket/4327

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-05-05 17:54:36 +02:00
Petr Vobornik
923c7ab7bc webui: regression - enable fields on idrange type change (add)
ID range adder was not properly addressed in field binding refactoring.

The usage of reset caused some weird loops.

https://fedorahosted.org/freeipa/ticket/4326

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-29 18:10:36 +02:00
Adam Misnyovszki
6aeb138e46 webui: select all checkbox remains selected after operation
The select all checkbox remained selected after bulk
operation. This patch fixes it, after any bulk modify
or delete operation, unselect_all function is called.

https://fedorahosted.org/freeipa/ticket/4245

Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
2014-04-29 14:49:51 +02:00
Adam Misnyovszki
260c5bd109 webui doc: typo fixes in guides
Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
2014-04-23 17:15:41 +02:00
Petr Vobornik
c644b47492 webui: fix OTP Token add regression
OTP Token add failed because of invalid function call. qr_widget doesn't
contain `on_value_changed` method since it inherits from `IPA.widget` and
not from `IPA.input_widget`.

Emitting the event was preserved for future possible usage.

https://fedorahosted.org/freeipa/ticket/4306

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-17 16:34:09 +02:00
Petr Vobornik
6b0c6bf344 webui: remove IPA.unauthorized_dialog
https://fedorahosted.org/freeipa/ticket/3903

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-15 12:41:54 +02:00
Petr Vobornik
ad48697ff9 webui: fix combobox styles to work with selenium testing
https://fedorahosted.org/freeipa/ticket/3903

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-15 12:41:54 +02:00
Petr Vobornik
937533c48e webui: use asynchronous call for authentication
Change `IPA.login_password` and `IPA.get_credentials` to use async AJAX
and to return promise instead of blocking the code.

IPA.get_credentials is still partially blocking because of negotiate process.
We can't do anything about that.

It allows activity indicators to do their job.

https://fedorahosted.org/freeipa/ticket/3903

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-15 12:41:54 +02:00
Petr Vobornik
2ec5d969a2 webui: authentication module
General purpose authentication interface and state. See doc of 'freeipa/auth' module.

https://fedorahosted.org/freeipa/ticket/3903

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-15 12:41:54 +02:00
Petr Vobornik
7c068f036f webui: login page
A facet with login sreen widget.

https://fedorahosted.org/freeipa/ticket/3903

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-15 12:41:54 +02:00
Petr Vobornik
efc9e66f4d webui: login screen widget
Reimplementation of unauthorized dialog into separate widget. It uses RCUE
design.

New features compared to unauthorized dialog:

- reflects auth methods from `auth` module
- validation summary
- differentiates Kerberos auth failure with session expiration
- Caps Lock warning
- form based method doesn't allow password only submission

https://fedorahosted.org/freeipa/ticket/4017
https://fedorahosted.org/freeipa/ticket/3903

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-15 12:41:53 +02:00
Petr Vobornik
0c8b04699b webui: validation summary widget
A widget which aggregates warnings and errors and shows them on one place.

https://fedorahosted.org/freeipa/ticket/3903

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-15 12:41:53 +02:00
Petr Vobornik
cb486136db webui: load page
Load page is a simple facet which is displayed up to 'runtime' phase.

On application start it tells the user that there is ongoing activity.

https://fedorahosted.org/freeipa/ticket/3903

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-15 12:41:53 +02:00
Petr Vobornik
a1c2512278 webui: publish network activity topics
Network activity is now published through global topics. It allows other
components like activity_widget to listen to them.

https://fedorahosted.org/freeipa/ticket/3903

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-15 12:41:53 +02:00
Petr Vobornik
93c4a6388b webui: activity widget
A widget for showing ongoing activity.

Displays a text with changing dots.

It listens to  `network-activity-start` and `network-activity-end` topics.

https://fedorahosted.org/freeipa/ticket/3903

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-15 12:41:53 +02:00
Petr Vobornik
642345fd53 webui: standalone facet
`facet.Facet` is a new base class for facets. It doesn't have any dependencies
on entities so it's usable for general purpose facets, e.g., future API browser,
load facet or login facet.

https://fedorahosted.org/freeipa/ticket/3903

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-15 12:41:53 +02:00
Petr Vobornik
dec7f98aa9 webui: ContainerMixin
A mixin which implements widget storing logic. Similar logic is already implemented
in details facet and dialog.

Long term goal is to replace that with this one.

Separating the logic into mixin makes it usable in other components.

https://fedorahosted.org/freeipa/ticket/3903

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-15 12:41:53 +02:00
Petr Vobornik
f39f4aaae2 webui: FormMixin
a mixin used for fields validation. Basically implements a logic which
is already in details facet and dialog.

Now this logic can be used in any component.

The long term goal is to replace the logic in details facet and dialog
with this mixin.

https://fedorahosted.org/freeipa/ticket/3903

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-15 12:41:53 +02:00
Petr Vobornik
2680d21402 webui: facet container
A widget which servers as container for facets. FacetContainer is a base
class. App is specialization.

Doing this abstraction will allow us to implement various facet containers.

https://fedorahosted.org/freeipa/ticket/3903

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-15 12:41:53 +02:00
Petr Vobornik
480eba26a1 webui-tests: binding test suite
Add basic tests for two-way binding between a field and two widgets

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-03 12:40:37 +02:00
Petr Vobornik
df18a3bc04 webui: change widget updated event into value change event
This change allow us to use proper two way binding between a field and
a widget. In previous implementation field was not changed if something
changed the value of a widget in 'update'. Now listeners are notified
when the widget value is changed by: calling 'update', 'set_value'
or by user change.

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-03 12:40:37 +02:00
Petr Vobornik
aadde0f849 webui: replace widget's hidden property with visible
Hidden was used only in ACI. There is no reason to have two properties
which are negations of each other.

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-03 12:40:37 +02:00
Petr Vobornik
0d05a50e19 webui: field and widget binding refactoring
This is a Web UI wide change. Fields and Widgets binding was refactored
to enable proper two-way binding between them. This should allow to have
one source of truth (field) for multiple consumers - widgets or something
else. One of the goal is to have fields and widget implementations
independent on each other. So that one could use a widget without field
or use one field for multiple widgets, etc..

Basically a fields logic was split into separate components:
- adapters
- parsers & formatters
- binder

Adapters
- extract data from data source (FreeIPA RPC command result)
- prepares them for commands.

Parsers
- parse extracted data to format expected by field
- parse widget value to format expected by field

Formatters
- format field value to format suitable for widgets
- format field value to format suitable for adapter

Binder
- is a communication bridge between field and widget
- listens to field's and widget's events and call appropriate methods

Some side benefits:
- better validation reporting in multivalued widget

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-04-03 12:40:37 +02:00
Adam Misnyovszki
0f626a9cc8 Extending user plugin with inetOrgPerson fields
According to http://tools.ietf.org/html/rfc2798 ipa client
and web ui extended with inetOrgPerson fields:
- employeenumber
- employeetype
- preferredlanguage
- departmentnumber

carlicenseplate is now multivalued

https://fedorahosted.org/freeipa/ticket/4165

Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
2014-03-28 12:38:50 +01:00
Petr Vobornik
06a7a1b3cb webui: replace IPA.command usage with rpc.command
Replace all IPA.command, IPA.batch_command and IPA.concurrent_command usages
by equivalents from rpc module.

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-03-27 14:54:08 +01:00
Petr Vobornik
d5cf0b273a webui: move RPC code from IPA module to its own module
- moves RPC code from ipa.js to it's own module
- part of ongoing effort where the ultimate goal is to get rid of ipa.js
and IPA namespace

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-03-27 14:54:08 +01:00
Petr Vobornik
e7bfac1e63 webui: make navigation module independent on app module
When some module used 'freeipa/navigation' it pulled the entire Web UI
because navigation depended on app.

This patch splits the app into two modules: app and app_container.
App specifies the entities which are part of final application.
app_container module represents the application boot classes. Navigation
now depends on app_container.

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-03-27 12:44:40 +01:00
Petr Vobornik
7fc8d241b2 webui: rename domNode to dom_node
- unites domNode and dom_node usage to dom_node

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-03-26 09:01:05 +01:00
Petr Vobornik
90275e2f54 webui: update license information of used third party code
Reflects:
- adding of RCUE styles along with Bootstrap 2.0.
- removal of jQuery BBQ plugin
- removal of rhino enviroment for selenium which was used in old UI tests

Reviewed-By: Simo Sorce <ssorce@redhat.com>
2014-03-20 10:11:14 +01:00
Petr Vobornik
5efcb240ce webui: change permissions UI to v2
reflect ipalib permission changes in Web UI.

- http://www.freeipa.org/page/V4/Permissions_V2
- http://www.freeipa.org/page/V4/Anonymous_and_All_permissions
- http://www.freeipa.org/page/V4/Managed_Read_permissions
- http://www.freeipa.org/page/V4/Multivalued_target_filters_in_permissions

https://fedorahosted.org/freeipa/ticket/4079

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
Reviewed-By: Petr Viktorin <pviktori@redhat.com>
2014-03-20 10:02:31 +01:00
Petr Vobornik
4de360fd2c webui: reflect enabled state in child widgets of a multivalued widget
Child widgets are disabled when main widget is disabled. Also main
widget won't show "add" button.

prerequisite for:
https://fedorahosted.org/freeipa/ticket/4079

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
Reviewed-By: Petr Viktorin <pviktori@redhat.com>
2014-03-20 10:02:31 +01:00
Petr Vobornik
d40dd17fb1 webui: do not create <hr> delimiter between sections
- section delimiter don't look good and limits UI
Their removal will allow:
- section hiding (needed in aci v2 UI)
- fluid section layout

prerequisite for:
https://fedorahosted.org/freeipa/ticket/4079

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
Reviewed-By: Petr Viktorin <pviktori@redhat.com>
2014-03-20 10:02:31 +01:00
Petr Vobornik
c93dd068e4 webui: better check for existing options in attributes_widgets
https://fedorahosted.org/freeipa/ticket/4079

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
Reviewed-By: Petr Viktorin <pviktori@redhat.com>
2014-03-20 10:02:31 +01:00
Petr Vobornik
80324fcb23 webui: fix unit tests
UI unit tests were broken since main RCUE work. This patch fixes them
all except aci, which will be fixed along with update of aci UI.

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
Reviewed-By: Petr Viktorin <pviktori@redhat.com>
2014-03-20 10:02:31 +01:00
Petr Vobornik
1ff095333e webui-static: update metadata files
Update JSON metadata files for static presentation of FreeIPA UI and
some tests. This regeneration did not happen for very long time and
an update is needed for upcoming ACI patch.

prerequisite for:
https://fedorahosted.org/freeipa/ticket/4079

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
Reviewed-By: Petr Viktorin <pviktori@redhat.com>
2014-03-20 10:02:31 +01:00
Petr Vobornik
ffab72cc79 webui: do not use dom for getting selected automount keys
Old implementation crawled DOM for gathering data from DOM. Such code
is very error prone. Little visual change somewhere else can break it
- as happened in main patch for #4217.

prerequisite for:
https://fedorahosted.org/freeipa/ticket/4217

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-03-20 08:57:43 +01:00
Petr Vobornik
fddb2212bc webui-css: improve radio,checkbox keyboard support and color
checkboxes and radio buttons:
- do not change color on hover when disabled
- are focusable and checkable be keyboard again. This uses a little
  trick where the real checkbox is hidden under the artificial
  checkbox. That way it has the same position and therefore it
  works even in containers with overflow set.

https://fedorahosted.org/freeipa/ticket/4217

Reviewed-By: Adam Misnyovszki <amisnyov@redhat.com>
2014-03-20 08:57:42 +01:00
Petr Vobornik
c82c598163 webui: remove hover effect from disabled action button
https://fedorahosted.org/freeipa/ticket/4256

Reviewed-By: Petr Viktorin <pviktori@redhat.com>
2014-03-17 18:37:28 +01:00