0.8.17: 2005-03-22 Murray Cumming * examples/example_smallbusiness.glom: Change the database name, adding v2 at the end, to force the database to be recreated when previous glom users open the example again. 2005-03-22 Murray Cumming * glom/mode_data/box_data_details.cc: * glom/mode_data/box_data_list.cc: * glom/mode_data/box_data_list.h: fill_from_database(): Disable the Add and Delete buttons if the current user does not have those priviliges. 2005-03-22 Murray Cumming * glom/data_structure/layout/layoutitem_field.cc: * glom/data_structure/layout/layoutitem_field.h: Store priv_view when we store priv_edit. * glom/mode_data/box_data.cc: * glom/mode_data/box_data_details.cc: * glom/mode_data/box_data_list.cc: Do not get records if the table may not be viewed by the current user. * glom/utility_widgets/datawidget.cc: * glom/utility_widgets/datawidget.h: Make field contents non-visible if necessary, though we do not even fill them with data in that case anyway. * glom/mode_design/users/dialog_groups_list.cc: When setting view to false, set everything else to false too, because anything else would be stupid. 2005-03-22 Murray Cumming * glom/base_db.cc: * glom/base_db.h: * glom/frame_glom.cc: on_menu_userlevel_Developer(): Prevent developer mode if the user is not in the developer group. 2005-03-22 Murray Cumming * glom/mode_design/users/dialog_user.cc: * glom/mode_design/users/dialog_user.h: * glom/mode_design/users/dialog_users_list.cc: When editing a user, show the group (though we can not edit it here yet), and update the password in the connection if it is the current user. 2005-03-22 Murray Cumming * glom/mode_design/users/dialog_groups_list.cc: * glom/mode_design/users/dialog_groups_list.h: Add a description of the special developers group. * glom/mode_design/users/dialog_users_list.cc: * glom/mode_design/users/dialog_users_list.h: Prevent removal of the last developer. 2005-03-22 Murray Cumming * glom/base_db.cc: * glom/base_db.h: * glom/data_structure/layout/layoutitem.h: * glom/data_structure/layout/layoutitem_field.cc: * glom/data_structure/layout/layoutitem_field.h: * glom/mode_data/box_data.cc: * glom/mode_data/box_data.h: * glom/utility_widgets/db_adddel/db_adddel.cc: * glom/utility_widgets/db_adddel/db_adddel.h: * glom/utility_widgets/flowtablewithfields.cc: Store the privileges in the LayoutItem_Field, filling them in when we get the field information from the database. Make widgets for non-editable fields to non-editable. * glom/frame_glom.cc: Update the layout when the Users window closes, to show changes. 2005-03-22 Murray Cumming * examples/example_smallbusiness.glom: Added the table_privs. * glom/document/document_glom.cc: Do not use an invalid map iterator, to prevent a crash. 2005-03-22 Murray Cumming * glom/application.cc: recreate_database(): Add the developer group and make the user a member of it. * glom/base_db.cc: * glom/base_db.h: Added get_current_privs(). * glom/data_structure/Makefile.am: * glom/data_structure/groupinfo.cc: * glom/data_structure/groupinfo.h: * glom/document/document_glom.cc: * glom/document/document_glom.h: Moved GroupInfo class out of Document_Glom. * glom/mode_design/users/dialog_groups_list.cc: Set the groups in the document when we get them from the database. But just in case we need to recreate the database from the document. 2005-03-21 Murray Cumming * glom/document/document_glom.cc: * glom/document/document_glom.h: * glom/glom_document.dtd: Add API to get/set the groups, and load/save them in the XML. Not used yet. 2005-03-21 Murray Cumming * docs/website/screenshots/glom_design_groups.png: * docs/website/screenshots/index.html: Add a section to show the Groups window. * glom/glom.glade: Use SCROLLBARS_AUTOMATIC on some ScrolledWindows. 2005-03-21 Murray Cumming * examples/example_smallbusiness.glom: Remove nonsense table information. * glom/base_db.cc: * glom/base_db.h: Add add_standard_groups() - it ensures that there is always a developer group. * glom/mode_design/users/dialog_groups_list.cc: load_from_document(): Call add_standard_groups() to ensure that the developer group always exists. on_button_group_new(): Provide sensible default privilieges for new groups. * glom/document/document_glom.cc: * glom/document/document_glom.h: Add remove_table() and remove_relationship(). * glom/navigation/box_tables.cc: on_adddel_Delete(): Remove tables from the document as well as the database server. 2005-03-21 Murray Cumming * configure.in: * glom/Makefile.am: * glom/application.cc: * glom/base_db.cc: * glom/base_db.h: * glom/box_db.h: * glom/data_structure/Makefile.am: * glom/data_structure/tableinfo.h: * glom/document/document_glom.cc: * glom/document/document_glom.h: * glom/frame_glom.cc: * glom/glom.glade: * glom/mode_design/Makefile.am: * glom/mode_design/dialog_user.cc: * glom/mode_design/dialog_user.h: * glom/mode_design/dialog_users_list.cc: * glom/mode_design/dialog_users_list.h: * glom/mode_design/fields/combo_textglade.cc: * glom/mode_design/fields/combo_textglade.h: * glom/mode_design/users/Makefile.am: * glom/mode_design/users/dialog_choose_user.cc: * glom/mode_design/users/dialog_choose_user.h: * glom/mode_design/users/dialog_groups_list.cc: * glom/mode_design/users/dialog_groups_list.h: * glom/mode_design/users/dialog_new_group.cc: * glom/mode_design/users/dialog_new_group.h: * glom/mode_design/users/dialog_user.cc: * glom/mode_design/users/dialog_user.h: * glom/mode_design/users/dialog_users_list.cc: * glom/mode_design/users/dialog_users_list.h: * glom/navigation/box_tables.cc: * glom/utility_widgets/adddel/adddel.cc: User management is now group-based, with users in groups, and permissions for each group. 2005-03-19 Murray Cumming * glom/Makefile.am: * glom/frame_glom.cc: * glom/glom.glade: * glom/mode_data/box_data.cc: * glom/mode_design/Makefile.am: * glom/mode_design/dialog_user.cc: * glom/mode_design/dialog_user.h: * glom/mode_design/dialog_users_list.cc: * glom/mode_design/dialog_users_list.h: Added very simple user administration, available from the Developer menu. 2005-03-18 Murray Cumming * examples/example_smallbusiness.glom: * glom/Makefile.am: * glom/data_structure/layout/layoutitem_portal.h: * glom/mode_data/dialog_layout_details.cc: * glom/mode_data/treestore_layout.h: * glom/mode_design/dialog_relationships.cc: * glom/utility_widgets/datawidget.cc: * glom/utility_widgets/datawidget.h: * glom/utility_widgets/entryglom.cc: * glom/utility_widgets/entryglom.h: * glom/utility_widgets/flowtable.cc: * glom/utility_widgets/flowtable.h: * glom/utility_widgets/flowtablewithfields.cc: * glom/utility_widgets/flowtablewithfields.h: * glom/utility_widgets/layoutwidgetbase.cc: * glom/utility_widgets/layoutwidgetbase.h: Details view: You can now right-click on a Field Entry, to add a field, group, or related records portal after the clicked field.