summaryrefslogtreecommitdiffstats
path: root/install/static/entity.js
Commit message (Collapse)AuthorAgeFilesLines
* rename static to uiAdam Young2011-01-201-592/+0
| | | | Directory rename
* no entry for search if the search facet is selected, don't put an entry in ↵Adam Young2011-01-151-4/+4
| | | | the action panel for the search
* Details to SettingsAdam Young2011-01-151-2/+1
| | | | Using I18N messages for most of the details
* arrow icons Use Unicode characters for the arrow iconsAdam Young2011-01-151-11/+13
|
* lint clean added a config file for running jsl. run 'jsl -conf jsl.conf' and ↵Adam Young2011-01-151-15/+30
| | | | see that there are no error messages.
* hide unselectable optionsAdam Young2011-01-141-1/+1
| | | | | If an option is not selectable from the action panel, hide it until it is selectable addresses https://fedorahosted.org/freeipa/ticket/747
* scoping functionsAdam Young2011-01-141-39/+38
| | | | | | converting function of the form ipa_<name> to IPA.<name> to remove them from the global namespace. https://fedorahosted.org/freeipa/ticket/212
* javascript lint cleanupAdam Young2011-01-121-27/+28
|
* facet nestingAdam Young2011-01-071-5/+18
| | | | | correctly nest the facet groups change 'parent' to 'member of' for facet group
* action panel styleAdam Young2011-01-061-7/+30
| | | | | | | | make clickable links blue change spacing to keep headers from wrapping convert most px values to em, to support scaling indent action controls and place them under the active facet set default font size to 11px
* Improvements to enrollments in the webUI.Pavel Zuna2011-01-041-11/+34
| | | | | | | | | | | | TAKE 1 - Enrollement links in the action panel are now sorted by relationships. - You can only enroll members. (The webUI made the impression you can enroll parents as well, but it was broken.) - When enrolling new members, you can choose not to display already enrolled ones. (On by default.) - Couple cosmetic changes.
* Change FreeIPA license to GPLv3+Jakub Hrozek2010-12-201-5/+5
| | | | | | | | | | The changes include: * Change license blobs in source files to mention GPLv3+ not GPLv2 only * Add GPLv3+ license text * Package COPYING not LICENSE as the license blobs (even the old ones) mention COPYING specifically, it is also more common, I think https://fedorahosted.org/freeipa/ticket/239
* Navigation updatesEndi S. Dewata2010-12-071-5/+9
| | | | | | | | | | | | | | | The entity.default_facet has been removed, instead the first facet registered to the entity will be considered as the default facet. So, the 'setup' parameter has been removed from tab definitions because it's no longer necessary. The ipa_details_only_setup() has been removed as well. An 'entity' parameter has been added to tab definitions to specify which entity corresponds to a tab item. The tab label has been changed to use entity label if available. Some hard-coded labels have been removed. The unit tests have been updated.
* Dialog i18nEndi S. Dewata2010-12-061-15/+2
| | | | | | | | | | The ipa_add_dialog has been fixed to initialize the fields which will get the labels from metadata. Hard-coded labels have been removed from field declarations. The superior() method has been removed because it doesn't work with multi-level inheritance. Superclass method for now is called using <class name>_<method> (e.g. widget_init).
* HBAC Service Groups adjustmentsEndi S. Dewata2010-12-061-1/+1
| | | | | | | | | | | | | | The association facet for HBAC Service Groups has been removed and replaced with an association table in the details page. The ipa_association_table_widget has been modified to support multiple columns in the table itself and in the adder dialog. The ipa_association_adder_dialog and ipa_association_facet have been refactored. The ipa_sudorule_association_widget and ipa_rule_association_widget has been removed because their functionalities have been merged into ipa_association_table_widget.
* Fixed association linksEndi S. Dewata2010-12-031-4/+20
| | | | | | | | | | | | | | | | | | | The create_association_facets() has been modified such that it does not generate duplicate links. This is done by assigning the proper labels and hiding non-assignable associations. Each association will get a label based on the attribute used: - memberof: Membership in <entity name> - member.*: <entity name> Members - managedby: Managed by <entity name> The following associations will be hidden: - memberindirect - enrolledby The internal.py was modified to return localized labels. The test data has been updated.
* Multicolumn enrollment dialogEndi S. Dewata2010-12-021-15/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | The enrollment dialog has been modified to use scrollable tables that supports multiple columns to display the search results and selected entries. The columns are specified by calling create_adder_column() on the association facet. By default the tables will use only one column which is to display the primary keys. The following enrollment dialogs have been modified to use multiple columns: - Group's member_user - Service's managedby_host - HBAC Service Group's member_hbacsvc - SUDO Command Group's member_sudocmd The ipa_association_table_widget's add() and remove() have been moved into ipa_association_facet so they can be customized by facet's subclass. The ipa_table's add_row() has been renamed to add_record(). Some old code has been removed from ipa_facet_create_action_panel(). The code was used to generate association links from a single facet. It's no longer needed because now each association has its own facet. The test data has been updated. The IPA.nested_tabs() has been fixed to return the entity itself if IPA.tab_set is not defined. This is needed to pass unit test.
* action panel sibling added function to get sibling entities from the tab ↵Adam Young2010-12-011-36/+111
| | | | set. remove explicit sibling code from entity pages Modified the Label fields on HBAC and SUDO to make them appear cleaner in the UI
* Multicolumn association facetEndi S. Dewata2010-11-301-36/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The association facet has been modified to support multiple columns. By default the facet will have one column which is the primary key of the associated object (e.g. username of a group member), so the existing code will work like before. Other fields (e.g. user's full name) can be added by subclassing the ipa_association_facet class and specifying the additional columns to display. These additional fields will be retrieved using a batch operation. Previously a single association facet instance will be used for all associations in an entity. Now each association will have its own association facet. This way each association facet can be customized differently as needed. The <entity>-enroll URL parameter has been removed because it's no longer needed. The ipa_entity.create_association_facets() is provided to generate the default association facets with one column for the primary key. The column click handler has been moved out of ipa_column to provide more flexibility for customization. The get_action_panel() and get_client_area() have been modified to search within the entity's container. The group entity has been fully converted to use the new UI framework. Association facets that have been modified to use multiple columns are: - User Group's member_user - HBAC Service Group's member_hbacsvc - SUDO Command Group's member_sudocmd - Service's managedby_host New test data files have been added. Unit tests have been updated.
* action panel formattingAdam Young2010-11-241-6/+19
| | | | | Cleans up the indentation of the action panel Puts the sudo and HBAC entries in a consistent order
* Fixed action panel queriesEndi S. Dewata2010-11-221-24/+31
| | | | | | | | | | | | | | | Previously the queries for action panel were done globally. Since each entity container has its own action panel, the queries will return multiple results. This is fixed by qualifying the query to run within the entity container. The query has also been moved into ipa_facet.get_action_panel(). Entities that do not have their own entity container (e.g. HBAC services and service groups) will need to override this method to get the action panel from the right entity container (e.g. HBAC rules). The facet.setup_views() has been renamed to facet.create_action_panel(). New test data for SUDO rules have been added.
* SUDO Rule Search and Details PagesEndi S. Dewata2010-11-191-3/+8
| | | | | | | | | | | | | | | | | | | | The search and details pages for SUDO Rule have been added. Codes that are shared with HBAC have been moved to rule.js. The following methods were renamed for consistency: - ipa_details_load() -> ipa_details_refresh() - ipa_details_display() -> ipa_details_load() The ipa_details_cache has been removed because the cache is now stored in each widget. The index.xhtml has been removed. All references to it has been changed to index.html. The Unselect All checkbox has been fixed. Unnecessary parameter 'container' has been removed. The unit test has been updated and new test data has been added.
* Service and Host ProvisioningEndi S. Dewata2010-11-181-0/+2
| | | | | | | | | | | | | | | The service and host details pages have been modified to display Kerberos key provisioning status and to provide a way to unprovision. The host enrollment via OTP has not been implemented yet. The ipa_details_field has been modified to remove any old <dd> tags it created in the previous load operation. This is to support other widgets that need to perform load operation without removing <dd> tags. The certificate_status_panel has been converted into a widget. The host entity has been rewritten using the new framework. The unit tests has been updated.
* action selectAdam Young2010-11-171-26/+47
| | | | | if exactly one entity is selected, it enables the entity-facet links in the action panel, and sets the pkey in bbq to the pkey of the selected
* HBAC details page enhancementEndi S. Dewata2010-11-151-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The HBAC details page has been enhanced to support Undo and Reset operations. The functionality is implemented in the base widget class so the behavior will be more consistent across widgets. A <span> tag now used to define the field boundary in the HTML doc. The tag contains the visual representation of the field which include the input tag and optionally the undo link. The Update method on HBAC details page has been modified so that it executes several operations using a batch command. The operations being executed depends on the changes made to the fields. These operations may include: - removing access time if access time is changed to any time - removing memberships if member category is changed to all - modifying rule attributes if description or rule type is changed - enabling/disabling the rule if rule status is changed The behavior of the Add & Remove buttons also has been changed such that it adjust the category attribute properly in addition to adding the memberships using batch command. For example, if category is initially set to all, adding a new member will also change the category to empty. The ipa_command have been modified to store the on_success and on_error handlers as properties. When the command is executed as a part of batch operation, the result of each command will be passed to the appropriate handler. The unit tests and test data have been updated as well.
* super to superiorAdam Young2010-11-141-2/+2
|
* more css cleanup remove quick links css very close to specsAdam Young2010-11-141-58/+15
|
* layoutAdam Young2010-11-141-4/+8
| | | | | | Closer to the layout from the spec The facets have been moved to the action panel, to the left of the page the facets are now rendered in an area of the screen with a client class
* HBAC ServicesEndi S. Dewata2010-11-111-53/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The HBAC Service search and details pages have been added under the HBAC tab. This requires some changes to the framework. Currently the navigation framework doesn't support multiple entities under one tab. As a temporary solution, an 'entity' URL parameter is used to determine the entity to be displayed. This parameter is now only used by HBAC tab, but its use might be expanded later. The navigation framework needs be redesigned to provide more flexibility. The search page in all entities except DNS records have been changed to use the ipa_search_widget. The Select/Unselect All checbox and Delete button now work correctly and consistently. The Add dialog has been enhanced to render and work in a more consistent way while still supporting custom widgets & layouts. For the search page, the Add button will refresh the search results and clear the fields in the dialog box. The framework now provides some extension points which can be overriden by the subclasses: - init(): for initialization and configuration - create(): for creating the layout dynamically or from template - setup(): for setting the look and feel - load(): for loading the data Entity and facet initialization is now done after IPA.init(). This is to ensure the metadata is loaded first so the entities and facets can use localized messages/labels/titles. The group entity has been partially converted to use the new framework. The unit tests have been updated accordingly.
* HBAC Details PageEndi S. Dewata2010-11-041-16/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The UI framework has been extended to include a collection of widgets: - ipa_widget: base class - ipa_text_widget: text field - ipa_radio_widget: radio button - ipa_textarea_widget: textarea - ipa_button_widget: button - ipa_column_widget: column for table - ipa_table_widget: table These widgets can be used to create input controls. They can also be extended to create custom controls. The framework has also been enhanced to support custom layouts. This can be used to change the look of the application without changing the code. Initially this is only available in details section. Layout consists of a collection of HTML templates. Each template is a complete and valid HTML file representing a portion of a page. The template will be loaded and initialized by the code, then filled with the data from the server. The layouts are located in install/static/layouts/<name> folder. By default, if no templates are used, the fields in the details page are rendered vertically using dd/dt/dd tags. For pages that require different layout, a custom UI needs to be developed. There are two ways to do that: - write a custom widget to generate the UI dynamically - create an HTML template and write the initialization code For components that are quite complex or used frequently, it's might be better to use the first method. For simple pages that are used only in one location or need to support customization, the second method might be preferable. Other benefits of templates: - cleaner code and UI separation - more flexibility in customization - new pages can be developed quickly and require less coding - multiple templates can be used with the same initialization code - easier to maintain The HBAC details page has been implemented using both methods. By default it will use custom widgets to generate the page. To use a custom layout, add the following parameter to the URL, then reload the page: &layout=<name> Currently the only available layout is 'default' which produces the same look as the custom widgets. The HBAC details page is usable, but it still needs additional work. The access time is not working yet. There is no undo button, hint, or validation yet. The table in the association facet has also been changed to use ipa_association_widget which is derived from ipa_table_widget. The Makefile has been updated to include the layouts. The unit tests have been updated as well.
* Framework for custom UIEndi S. Dewata2010-10-281-213/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces a new framework for implementing custom UI. It consists of the following classes: Main: - IPA: global namespace and object repository - ipa_entity: base class for entities - ipa_facet: base class for facets Add dialog: - ipa_add_dialog: default add dialog - ipa_add_field: the fields used in the dialog Search facet: - ipa_search_facet: default search facet - ipa_search_column: the columns in the search result Details facet: - ipa_details_facet: default details facet - ipa_details_section: the sections in the details facet - ipa_details_field: the fields in the details facet Association facet: - ipa_association_facet: default association facet - ipa_association_config: the association configurations To use this framework, create a class extending the ipa_entity (e.g. ipa_hbac). Use the create_* methods to create add dialog, search facet, details facet, and association facet. The fields/columns for the dialog and facets can be specified using the init() function. Custom UI can be defined by overwriting the base methods (e.g. setup, save, load). The entity must be added into the repository using IPA.add_entity(). The original ipa_entity_setup() has been generalized by moving facet- specific codes into the corresponding facet. Some facet names are still hard-coded. This will be fixed in follow-up patches. Some global variables have been removed because their function has been replaced by the object repository: - ipa_entity_add_list - ipa_entity_search_list - ipa_entity_details_list - window_hash_cache Some functions and variables have been moved into IPA namespace: - ipa_json_url -> IPA.json_url - ipa_use_static_files -> IPA.use_static_files - ipa_ajax_options -> IPA.ajax_options - ipa_objs -> IPA.metadata - ipa_messages -> IPA.messages - ipa_dialog -> IPA.error_dialog - ipa_init() -> IPA.init() Initially the HBAC and Service entities have been rewritten to use the new framework. The DNS is partially converted, the ipa_records_facet is used to define custom records facet. Other entities can still work using the old framework. The old framework has been modified to be a wrapper for the new framework. Eventually all entities will be converted to use the new framework. Some unit tests have been modified to use the new framework.
* dns workAdam Young2010-10-251-80/+129
| | | | | | | | without the details change including changes from Reviewboard https://fedorahosted.org/reviewboard/r/96/ Fixed pages that use unspecified (krb ticket policy, config) Facet name comes out of the facet, not hard coded.
* removing iconsAdam Young2010-10-191-9/+6
| | | | | We'll later replace them with a new scheme. For now, this is the simplest UI The intention is to look unfinished, so people don't comment on how poor it looks.
* multivalue fixesAdam Young2010-10-151-6/+6
| | | | | | | | | | | | metadata for phone numbers test date for users Undo works for multivalue JQuery UI buttons have custom classes inputs/fields are now managed inside of objects removed the use of .call. as it was confusing the issue of mismatched parameter lists. Fixed the parameter lists, too.
* Certificate management for services.Endi S. Dewata2010-10-121-21/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an initial implementation of certificate management for services. It addresses the mechanism required to view and update certificates. The complete UI implementation will be addressed in subsequent patches. On the server side, the service.py has been modified to define usercertificate in the service object's takes_params. This is needed to generate the proper JSON metadata which is needed by the UI. It also has been modified to accept null certificate for deletion. On the client side, the service details page has been modified to display the base64-encoded certificate in a text area. When the page is saved, the action handler will store the base64-encoded certificate in the proper JSON structure. Also the service name and service hostname are now displayed in separate fields. The details configuration has been modified to support displaying and updating certificates. The structure is changed to use maps to define sections and fields. A section contains name, label, and an array of fields. A field contains name, label, setup function, load function, and save function. This is used to implement custom interface and behavior for certificates. All other entities, test cases, and test data have been updated accordingly. Some functions and variables have been renamed to improve clarity and consistency.
* default searchAdam Young2010-10-071-3/+2
| | | | Populate the entity search pages with the results of a search with a blank filter even if no filter has been specified
* policy and configAdam Young2010-10-071-8/+15
| | | | | | | | Population of the policy and entites tabs. DNS and ACI are broken due to PLugin issues Fix for entities without search Added new files to Makefile.am used rolegroup.js file as the start point, renamed to serverconfig.js
* Tooltips for quick links.Endi S. Dewata2010-10-041-0/+3
| | | | | The ipa_entity_quick_links() has been modified to show tooltips when hovering on quick links.
* Entity association configuration.Endi S. Dewata2010-10-021-1/+18
| | | | | | | | | | | | The ipa_entity_set_association_definition() has been added to configure the association between 2 entitites. By default the associator is BulkAssociator and the method is add_member. The entities have been updated to use the right configurations. The ipa_cmd() has been modified to detect IPA errors and invoke the error handler. A bug in refresh_on_success() has been fixed as well.
* Autogenerating Quick Links.Endi S. Dewata2010-10-011-0/+47
| | | | | | | | ipa_entity_quick_links() has been added to generate quick links automatically from object's attribute_members, the same logic used for generating facet list. The search definition for each entity has been updated to use the new function. A unit test has been added for this function.
* Refactoring navigation.js.Endi S. Dewata2010-10-011-2/+45
| | | | | | | | | | | | | | | | | | | | | The navigation.js has been modified to make it more abstract, i.e. unaware of entity facets. The nav_update_tabs() has been modified such that it activates and updates the tabs based on the current state stored in the URL. The facets are now handled in entity.js. The ipa_entity_setup() has been modified to update the facets based on the current state and cached state. The navigation.js also has been modified to be more class-like. The nav_create() has been modified to store the tab configuration and the tab container in internal variables nav_tabs_lists and nav_container. The nav_update_tabs() now can be called without any parameters. Functions nav_push_state(), nav_get_state(), and nav_remove_state() have been added to wrap BBQ API. This is to allow unit tests to replace them with mockup functions to remove dependency on BBQ.
* Added error handler for ipa_cmd().Endi S. Dewata2010-09-291-2/+3
| | | | | | | | | | | | | | | | | | | | | | | The ipa_cmd() has been modified such that when an error occurs a dialog box will appear showing the error message with 2 buttons: Retry and Cancel. If Retry is clicked, it will attempt to execute the same operation again. If Cancel is clicked, the operation will be canceled and the control is returned to the caller. New unit tests have been added to test ipa_cmd() on successfull and unsuccessfull cases. The associate.js, details.js, entity.js, search.js, and webui.js have been modified to display the error message inside the page. This behavior can be changed in the future (e.g. redirect to error page). The navigation.js and webui.js have been modified to render only the visible tabs. This improves the performance and reduce hidden errors. The navigation unit test has been modified to reflect this behavior. Some variables/functions also have been renamed for consistency.
* Fix the 'add' buttonAdam Young2010-09-281-3/+7
| | | | | | THe Add button was located using the DOm, and the scheme used to find it was fragile enough to be broken by the I18N approach. This is a little more robust, using a JQuery selector based on the class of the controls, and the entity name. Also remove Makefile, which should be autogenerated
* Test suite for association.Endi Sukma Dewata2010-09-281-16/+16
| | | | | | | | | New test cases have been added to test SerialAssociator and BulkAssociator using mockup objects. Also fixed a bug in BulkAssociator. Moved switch_view() out of ipa_entity_generate_views() in entity.js to allow unit testing using mockup objects. Updated the test case to validate click event on facets.
* Modal dialog for enrollmentEndi Sukma Dewata2010-09-231-10/+2
| | | | | | | | | | | | | | | The enroll facet has been converted into a dialog box. This dialog box will appear when the user clicks the enroll button above the association list. When the user clicks the enroll button in the dialog box, the new associations will be created, then the list will be refreshed to show the changes. The SerialAssociator and BulkAssociator have been modified to accept an on_success function which will be called when the whole operation is completed successfully. This is used to refresh the list and close the dialog box appropriately. Some other changes were also made to improve code clarity.
* links and facet iconsAdam Young2010-09-201-3/+3
| | | | Enables the icons in the links and in the facets lists
* unbroke the facets linkAdam Young2010-09-171-6/+5
|
* css tabs and facetsAdam Young2010-09-171-5/+7
| | | | includes Makfile changes to get images to deploy
* Big webUI patch.Pavel Zuna2010-09-171-0/+163
Quick summary: - use jQuery UI and jQuery BBQ libraries - code restructuring The patch has so many changes they can't be listed here. Many parts of the code have been rewritten from scrach. See freeipa-devel mailing list: webUI code restructuring [wall of text, diagrams, ... you've been warned!] 2010-09-07