Commit Graph
100 Commits
Author SHA1 Message Date
Petr Vobornik e3d56597cd Fix password expiration notification
- was broken by navigation and application controller refactoring

https://fedorahosted.org/freeipa/ticket/4003
2013-10-30 13:31:12 +01:00
Petr Vobornik b599d44816 Registries and Build Guide 2013-10-16 18:08:17 +02:00
Petr Vobornik dc97b7b460 Navigation Guide 2013-10-16 18:08:17 +02:00
Petr Vobornik 1950ff2411 Plugin Infrastructure Guide 2013-10-16 18:08:17 +02:00
Petr Vobornik d212d48015 Debugging Web UI guide 2013-10-16 18:08:17 +02:00
Petr Vobornik 3781d33dbe Phases Guide 2013-10-16 18:08:17 +02:00
Petr Vobornik cd6a2c431e Configuration for JSDuck documentation generator
Installation: https://github.com/senchalabs/jsduck/wiki/Installation Basically it requires ruby and jsduck gem.

Usage:
$ cd install/ui/doc
$ make

Documentation will be generated into: install/ui/build/code_doc directory
2013-10-16 18:08:17 +02:00
Petr Vobornik efafd7fe87 Web UI source code annotation
Part of ongoing Web UI documentation effort. Source code is annotated in a way that it can be processed by documentation generator.
2013-10-16 18:08:17 +02:00
Petr Vobornik 3fa304d95e Removal of unused code 2013-10-16 18:08:16 +02:00
Petr Vobornik b4fc6f4ba8 Load updated Web UI files after server upgrade
Issue:
* There was no caching policy specified.
* -> Browsers use their own default policy.
* -> After upgrade, some Web UI files might have been actualized some not.
* -> With schema change may result into weird bugs in Web UI

Solution considerations:

1. Detect server version change and hard-reload at runtime
Detection is easy. Problem is the reload. Obvious candidate 'window.location.reload(true)' works in Firefox but not in Chrome because expected behavior when parameter is used is not in standard and therefore Chromium/WebKit authors did not implement it.

2. Application Cache
HTML 5 technology which lets web apps to run offline. Besides weird issues with event handlers which I encountered, this would be an ideal candidate. Simple change of manifest file would lead to reload of all files (requires reload of page to used the new files).

Showstopper was usage with untrusted certificate. If user did not add exception for the cert or its CA and would visit the page for a second time, all AJAX calls would fail.

3. Set Expires to now() for everything
Web UI rarely changes so this is an overkill. Setting it to different value is not a solution either. We can't predict when the upgrade will happen and when new Web UI will be needed.

Solution:
* Implemented a mini loader which loads basic resources. Dojo loader takes action after Dojo is loaded.
* The loader adds a version parameter (?v=__NUM_VERSION__) to all requests.
* Version is defined in the loader. It's set to current in `make version-update`.
* All static pages use this loader to fetch their resources.
* Version is also passed to dojo loader as cache-bust for the same effect.
* Expire header was set to 'access time plus 1 year' for /ui folder. Exceptions are HTML files and loader (set to immediate expiration).

Possible issues:
* Images are cached but not requested with version param.
  * Images with version and without are considered different
  * -> We would have to attach version to all URIs - in CSS and in JS. But we should avoid changing jQuery UI CSS.
  * Proposed solution is to change image name when changing image. Image change is done rarely.
* Version is set by build and therefore updated just on server update. It might cause trouble with different update schedule of plugins.
  * No action taken to address this issue yet.
  * We might leave it on plugin devs (own .conf in /etc/httpd/conf.d/)
  * or set expires to now for all plugins
* running `make version-update` is required in order to use static version of UI for testing

https://fedorahosted.org/freeipa/ticket/3798
2013-10-16 18:06:30 +02:00
Petr Vobornik 5c06e27ff9 ipatests.test_integration.host: Add logging to ldap_connect() 2013-10-03 19:50:35 +02:00
Petr Vobornik 6a124160a5 Fix enablement of automount map type selector
Map type radio used old way of defining that its value should not be used in add command.  Recent patch related to 'enable' attribute hardened/fixed the behavior of radio widgets so they are disabled in UI as well when enabled==false. Automount did not reflect this change.

https://fedorahosted.org/freeipa/ticket/3954
2013-10-03 09:13:45 +02:00
Petr Vobornik edf0719409 Allow edit of ipakrbokasdelegate in Web UI when attrlevelrights are unknown
Old host entries are missing object class with krbticketflags attribute. Therefore UI does not receive attrlevelrights for it. This OC is added when ipakrbokasdelegate is set.

This patch adds the usual hack for such cases.

https://fedorahosted.org/freeipa/ticket/3940
2013-09-26 10:24:14 +02:00
Petr Vobornik 5c4a72de59 Fix redirection on deletion of last dns record entry
https://fedorahosted.org/freeipa/ticket/3907
2013-09-16 13:56:25 +02:00
Petr Vobornik f312d72510 Fix RUV search scope in ipa-replica-manage
The search had an incorrect scope and therefore it didn't find any RUV.

This issue prevented removing of replica.

https://fedorahosted.org/freeipa/ticket/3876
2013-09-04 12:46:29 +02:00
Petr Vobornik 92569b712c Update idrange search facet after trust creation
Adding a trust creates a range -> range search facet should be marked as expired.

https://fedorahosted.org/freeipa/ticket/3874
2013-08-28 14:23:42 +02:00
Petr Vobornik 34342b9a97 Show human-readable error name in error dialog title
Fixes RPC server's JSON encoding of exception's name.

It allows to show the name in Web UI's error dialog title.
2013-08-26 13:05:36 +02:00
Petr Vobornik 278c87cc62 Web UI integration tests: ID range types
https://fedorahosted.org/freeipa/ticket/3834
2013-08-22 15:23:56 +02:00
Petr Vobornik 0584caf56a Web UI Integration tests: Kerberos Flags
Tests according to: http://www.freeipa.org/page/V3/Kerberos_Flags

https://fedorahosted.org/freeipa/ticket/3831
2013-08-22 15:23:56 +02:00
Petr Vobornik 8e8afe0519 Web UI integration tests: CA-less
Test cases according to: http://www.freeipa.org/page/V3/CA-less_install

https://fedorahosted.org/freeipa/ticket/3830
2013-08-22 15:23:56 +02:00
Petr Vobornik e61c2e3441 Hide 'New Certificate' action on CA-less install
This action calls cert-request command which is not available on CA-less installs. Thus this action won't be enabled and therefore there is no reason to keep it visible.

https://fedorahosted.org/freeipa/ticket/3363
2013-08-22 15:23:56 +02:00
Petr Vobornik ca0d959df8 Add base-id, range-size and range-type options to trust-add dialog
https://fedorahosted.org/freeipa/ticket/3049
2013-08-22 15:23:56 +02:00
Petr Vobornik ed3791d2f3 Removal of deprecated selenium tests
Tests were deprecated by new FreeIPA 3.3 Web UI integration tests (ticket #3744).

https://fedorahosted.org/freeipa/ticket/3857
2013-08-15 13:17:40 +02:00
Petr Vobornik 006c4eabd9 Hide delete button in multivalued widget if attr is not writable
https://fedorahosted.org/freeipa/ticket/3799
2013-08-13 12:42:09 +02:00
Petr Vobornik ff6f958d96 Make ssh_widget not-editable if attr is readonly
https://fedorahosted.org/freeipa/ticket/3800
2013-08-13 12:41:48 +02:00
Petr Vobornik 04839a2aea Web UI integration tests: Code quality fixes
* variables with python build-in names renamed
 * unused parameters used or removed

 https://fedorahosted.org/freeipa/ticket/3744
2013-07-26 13:35:12 +02:00
Petr Vobornik 6ec5e5fec6 Web UI integration tests: PEP8 fixes
Tests modified to comply with PEP8 rules with exception of rule E501 (long lines).
Done by autopep8 tool and 2 manual modifications.

https://fedorahosted.org/freeipa/ticket/3744
2013-07-26 13:35:12 +02:00
Petr Vobornik 8a3d8aeca3 Web UI integration tests: Compute range sizes to avoid overlaps
Heavily inspired by code from xmlrpc tests.

To obtain ranges, this patch also adds method to execute FreeIPA command through Web UI.
It uses Web UI instead of ipalib so it doesn't need to care about authentication on a test-runner machine.

https://fedorahosted.org/freeipa/ticket/3744
2013-07-26 13:35:12 +02:00
Petr Vobornik a3567cef98 Web UI integration tests: Verify data after add and mod
https://fedorahosted.org/freeipa/ticket/3744
2013-07-26 13:35:12 +02:00
Petr Vobornik bc06e30481 Web UI integration tests: Add ui_driver method descriptions
https://fedorahosted.org/freeipa/ticket/3744
2013-07-26 13:35:12 +02:00
Petr Vobornik ae31130098 Web UI integration tests: Add trust tests
https://fedorahosted.org/freeipa/ticket/3744
2013-07-26 13:35:12 +02:00
Petr Vobornik e08f4620cf Remove word 'field' from GECOS param label
No other param/field has 'field' in a label.
2013-07-23 15:32:13 +02:00
Petr Vobornik 1f89cb959c Break long words in notification area
Long words (ie. service principal) breaks out of notification area. It doesn't look good. Patch adds word-wrap to break them to multiple pieces.
2013-07-23 15:32:06 +02:00
Petr Vobornik 881290b010 Web UI search optimization
This patch optimizes options used in commands executed by search pages.

1) Removed --all from _find and _show commands used by search pages. All displayed attributes should be already included in default attributes.

2) Removed search_all_attributes - Not needed since introduction of paging.

3) Added --no-members options to search _show commmands. Members are not displayed on search pages and such change drastically improves performance. It reduces computations on server and amount of data transferred to Web UI.

https://fedorahosted.org/freeipa/ticket/3706
2013-07-23 13:14:02 +02:00
Petr Vobornik 2a9be92855 Upstream Web UI tests
Documentation: http://www.freeipa.org/page/Web_UI_Integration_Tests

https://fedorahosted.org/freeipa/ticket/3744
2013-07-16 13:15:59 +02:00
Petr Vobornik e3cddab940 Fix container element in adder dialogs
Host and DNS adder dialogs used span element as container for block elements. It's not valid nor consistent with other forms.

'span' was replaced by 'div'

https://fedorahosted.org/freeipa/ticket/3744
2013-07-16 13:15:51 +02:00
Petr Vobornik a83e879e18 Better automated test support
1. add class to active facet instead of using direct style modification for hiding/showing
2. add name attribute to tables and dialog buttons and error dialog

https://fedorahosted.org/freeipa/ticket/3744
2013-07-16 13:15:47 +02:00
Petr Vobornik 9f223871a7 Disable checkboxes and radios for readonly attributes
https://fedorahosted.org/freeipa/ticket/3764
2013-07-09 11:48:19 -04:00
Petr Vobornik f5bc155f56 Create Firefox configuration extension on CA-less install
Create:
* kerberosauth.xpi
* krb.js

even when --http_pkcs12 option is used.

https://fedorahosted.org/freeipa/ticket/3747
2013-06-27 16:01:52 +02:00
Petr Vobornik 093fa2daa0 Do not redirect to https in /ipa/ui on non-HTML files
Those resources are needed by page which has to use http(browser config) prior to acceptance of CA cert.

https://fedorahosted.org/freeipa/ticket/3748
2013-06-26 15:02:13 +02:00
Petr Vobornik ac2263d64c Fix default value selection in radio widget
https://fedorahosted.org/freeipa/ticket/3718
2013-06-24 16:58:15 +02:00
Petr Vobornik daa9b4e348 Regression fix: rule table with ext. member support doesn't offer any items
There is a JS error.

Rule tables with external member has more than one column and therefore exclude parameter for adder dialog is not array of strings but array of objects. normalize_values function can't work with it and causes JS error.

This patch creates proper exclude array before passing it to adder dialog.

https://fedorahosted.org/freeipa/ticket/3711
2013-06-13 17:42:30 +02:00
Petr Vobornik fae658f505 Fix regression: missing facet tab group labels
Currently there is only empty space between facet tabs and facet title.

It's a regression caused by recent refactoring.

https://fedorahosted.org/freeipa/ticket/3688
2013-06-05 14:51:45 +02:00
Petr Vobornik e31eea3268 Make ssbrowser.html work in IE 10
Manual configuration page for other browsers (ssbrowser.html) doesn't work in IE 10 - error page is displayed.

This patch is conditioning creation of Firefox configuration object so that configure.jar is requested only in Firefox. IE doesn't request it and so it does not fail.

https://fedorahosted.org/freeipa/ticket/3645
2013-06-04 12:24:13 +02:00
Petr Vobornik ec41744e76 Regression fix: missing control buttons in nested search facets
Regression introduced by 6e90920233 - 'Move spec modifications from facet factories to pre_ops'.

https://fedorahosted.org/freeipa/ticket/3605
2013-06-03 09:23:24 +02:00
Petr Vobornik 89be148580 Web UI: move ./_base/metadata_provider.js to ./metadata.js
Metadata provider is IPA specific object, not a framework object, so it should not be in _base directory.

https://fedorahosted.org/freeipa/ticket/3604
2013-05-17 12:32:24 +02:00
Petr Vobornik 17caa5dd5a Unite and move facet pre_ops to related modules
Facet pre_ops defined in ./facet module were moved to modules where facet are actually defined. Moved pre_ops were united with the ones defined for the facets in these modules.

The move simplifies module dependencies - there is no reason to have general facet module dependent on specialized facet modules.

Pre_ops uniting makes the code simpler.

https://fedorahosted.org/freeipa/ticket/3605
2013-05-17 12:32:16 +02:00
Petr Vobornik 6e90920233 Move spec modifications from facet factories to pre_ops
Spec modifications in factories makes inheritance and extensibility more difficult.

Moving them to pre_ops allows modification of their output by other pre_ops.

https://fedorahosted.org/freeipa/ticket/3605
2013-05-17 12:32:06 +02:00
Petr Vobornik 2ba3140aff Fix: HBAC Test tab is missing
Caused by typo in metadata provider source path.

No metadata -> no HBAC test entity -> no tab

https://fedorahosted.org/freeipa/ticket/3627
2013-05-14 18:43:54 +02:00
Petr Vobornik aedded862d Enable standalone facets in menu.add_item
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:31 +02:00
Petr Vobornik c7bd6de9be Fix crash on host deleletion
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:31 +02:00
Petr Vobornik 57c504a5b9 Fix crash on ssh key add
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:31 +02:00
Petr Vobornik 13ad7da19a Fix WebUI crash when server installed as CA-less
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:31 +02:00
Petr Vobornik 242a090807 Fix trustconfig specification
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik 853cdbbfd3 Navigation: handle invalid routes
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik c506087227 Builder: Singleton_registry: return null when construction spec not available
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik cf8bab45fc Fix: make association facets in selfservice readonly
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik 348dc948ff Builder: fix join of pre_ops and post_ops arrays
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik 504fa6c786 Do not offer already added members in association dialogs when different casing
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik 0674d67acc Switch customization and registration phase
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik c72d0f5075 Generate plugin index dynamically
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik c5e99d7cd6 Remove entities.js, facets.js
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:30 +02:00
Petr Vobornik a069841ff0 Replace ./facets with reg.facet
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik 3599357bcc Fix rule table add/delete button enablement
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik c151e01e79 Add widget updated event
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik b184e24f91 Removal of IPA.metadata usages
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik c3615f0ebc Move spec creations of sudorule, hbacrule, netgroup and selinuxusermap details facet from their factories
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik 4be9383033 Don't automatically refresh facet after action success
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik c3856f2d3b Remove cert menu item when disabled
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik ee491bdf38 Replace IPA.metadata.objects... with declarative definitions
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik 14c276d218 Convert definitions of entities to spec objects
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik a513673f04 Entity build: test for enabled in post_op
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:29 +02:00
Petr Vobornik aba74aafe5 Builder: handle expected errors in post_ops
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik 9255bb481e Entity: allow definition of facet_groups in entity specs
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik 2182c93e2f Entity registry and builder which allow definition by spec
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik 790853c587 Fix trustconfig after rebase
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik cf6b83a61e Fix hbactest after rebase
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik 08a5e2c0ca Builder: allow registration without factory or ctor
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik ac1850a8f0 Use builder for entity dialogs
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik 2cf0542b0d Builders: allow pre_ops and post_ops in build overrides
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik f188fcdfa7 Replace IPA.get_command_arg calls in specs with provider strings
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:28 +02:00
Petr Vobornik e4150918f6 Replace IPA.get_command_option calls in specs with provider strings
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik 60b3208cf5 Replace IPA.get_entity_param calls in specs with provider strings
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik ff81965e71 Allow metadata provider format for field metadata declaration
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik c206249bd2 Make summary conditions declarative
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik bee39848d3 Make facet and entity policies declarative
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik 33b584f0a0 Fix incorrect type -> $type conversion
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik 7a3f08002d Replace usage of action factories with types
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik 5be709bf9d Builder and registry for actions
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik 5239d3750e Change widget.build_child interface to the builder's
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik 799bb24931 Builder and registry for validators
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:27 +02:00
Petr Vobornik 511452ec41 Replace formatter creation with definition in specs
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik ff8580f441 Builder: return null if no spec supplied - fix
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik 9a23e5c9ec Registry and builder for formatters
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik e100ba7e2b Replace build logic in widget and field builder by new builder
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik 1221fca662 Builder: allow string spec as spec property instead of type
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik 49b7f4c06e Replace IPA.widget_factories and IPA_field_factories with registry
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik 849ece00e3 Builder: global builder and registry
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik 12e10f345b Builder: create Construct_registry by default in builder
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00
Petr Vobornik 621811470a Phases: warn when adding task for nonexistent phase
https://fedorahosted.org/freeipa/ticket/3235
2013-05-06 16:22:26 +02:00