SODAR Core Changelog
Changelog for the SODAR Core Django app package. Loosely follows the Keep a Changelog guidelines.
v1.0.5 (2025-02-17)
Changed
- Projectroles
Optimize project list queries (#1005, #1571)
Fixed
- Projectroles
System user group set for LDAP user on initial login (#1570)
v1.0.4 (2025-01-03)
Added
- Projectroles
Check mode in
cleanappsettingscommand (#1520)Support for all scopes in
cleanappsettingsundefined setting cleanup (#1526)
- Timeline
get_event_name()template tag (#1524)
Changed
- Projectroles
Optimize
cleanappsettingsdatabase queries (#1527)
- Timeline
Capitalize event description in UI (#1522)
Display event name in UI friendly format (#1524)
Display search results with new layout (#1521)
Enable search for display formatting of event name (#1525)
v1.0.3 (2024-12-12)
Added
- Projectroles
Info link for finder role in
ProjectRoleView(#1511)Table and strikethrough support in
render_markdown()(#1272)sodar-markdown-contentCSS class (#1272)
- Timeline
User count in siteinfo stats (#1504)
Plugin tests (#1506)
- Userprofile
Authentication type in user details (#1500)
Changed
- General
Upgrade minimum Django version to v4.2.17 (#1516)
Update dependency pinning (#1509)
- Projectroles
Update default OIDC login button template (#1503)
Update ownership transfer timeline event data (#1514)
Refactor
syncremotemanagement command (#1518)
Fixed
- Projectroles
Deprecated
SODAR_API_*settings required in tests (#1495)Add workaround to
ProjectInviteCreateViewreturning 404 with category and query string (#1510)Broken tour help attachments in
ProjectRoleView(#1512)RoleAssignmentCreateViewcrash as delegate with promoting and delegate limit reached (#1515)syncremotecommand crash from legacy API media type and version (#1517)
v1.0.2 (2024-09-09)
Added
- General
python3.11-gdbmdependency (#1491)
- Projectroles
get_user_by_uuid()common template tag (#1478)ProjectInvite.get_url()helper (#1485)ProjectInvite.refresh_date_expire()helper (#1486)
Changed
- General
Upgrade minimum Django version to v4.2.16 (#1481)
- Projectroles
Truncate app setting values in
remoteproject_sync.html(#1474)JSON app setting value rendering in
remoteproject_sync.html(#1472)Change
AppSettingAPI.compare_value()into public method (#1479)Refactor
AppLinkContent(#1470, #1483)
- Userprofile
Improve user settings list layout (#1490)
Fixed
- General
Celery process raising
dbm.error(#1491)Celery process raising
broker_connection_retrywarning (#1493)
- Bgjobs
Non-migrated changes reported by squashed migrations (#1475)
- Projectroles
Incorrect app plugin link order in
get_project_app_links()(#1468)Remote sync crash on updating user with additional email (#1476)
User scope app setting display in
remoteproject_sync.html(#1478)Incorrect boolean comparison in
AppSettingAPI._compare_value()with string value (#1473)Boolean app setting update status in remote sync (#1473)
Removed
- Projectroles
build_invite_url()utility method (#1485)get_expiry_date()utility method (#1486)
v1.0.1 (2024-08-08)
Added
- Projectroles
Previously removed
BatchUpdateRolesMixin(#1464)
Changed
- General
Upgrade minimum Django version to v4.2.15 (#1466)
- Timeline
Rename search item category to
Timeline Events(#1465)
Fixed
- Projectroles
BatchUpdateRolesMixinremoval breaking tests in other repos (#1464)
- Timeline
Deprecated link dict
blankfield assumed as mandatory (#1462)
v1.0.0 (2024-07-19)
Added
- General
Python v3.11 support (#1157)
Flake8 rule in
Makefile(#1387)OpenID Connect (OIDC) authentication support (#1367)
- Adminalerts
Admin alert email sending (#415)
notify_email_alertapp setting (#415)
- Filesfolders
Optional pagination for REST API list views (#1313)
- Projectroles
full_titlefield inProjectSerializerand API views (#1314)Custom password argument in
createdevusersmanagement command (#1393)PluginObjectLinkdata class in plugins (#1343)PluginSearchResultdata class in plugins (#1399)Target user
sodar_uuidupdating in remote sync (#1316, #1317)Update local user data in remote sync (#1407)
USERscope settings in remote sync (#1322)AppLinkContentutility class (#1380, #1381)checkusersmanagement command (#1410)SODARPageNumberPaginationpagination class (#1313)Optional pagination for REST API list views (#1313)
Email notification opt-out settings (#1417, #1418)
CC and BCC field support in sending generic emails (#415)
SODARUserAdditionalEmailmodel (#874)is_source_site()andis_target_site()rule predicatessettings_linkkwarg insend_generic_email()(#1418)addremotesiteandsyncgroupscommand tests (#352)RemoteSite.owner_modifiablefield (#817)assert_displayed()UI test helperRemoteProjectAccessAjaxViewAjax view (#1358)Remote project access status updating in project detail view (#1358)
SidebarContentAjaxViewfor sidebar and project dropdown content retrieval (#1366)UserDropdownContentAjaxViewfor user dropdown content retrieval (#1366, #1392)SODARUser.get_auth_type()helper (#1367)ProjectInvite.is_ldap()helper (#1367)AppSettingAPI.is_set()helper (#1450)checksmodule for Django checks (#504)Django check for enabled auth methods (#1451)
- Timeline
sodar_uuidfield inTimelineEventObjectRefmodel (#1415)REST API views (#1350)
get_project()helpers inTimelineEventandTimelineEventObjectRef(#1350)Optional pagination for REST API list views (#1313)
- Userprofile
Additional email address management and verification (#874)
Changed
- General
Upgrade to Django v4.2 (#880)
Upgrade minimum PostgreSQL version to v12 (#1074)
Upgrade to PostgreSQL v16 in CI (#1074)
Upgrade general Python dependencies (#1374)
Reformat with black v24.3.0 (#1374)
Update download URL in
get_chromedriver_url.py(#1385)Add
AUTH_LDAP_USER_SEARCH_BASEas a Django setting (#1410)Change
ATOMIC_REQUESTSrecommendation and default toTrue(#1281)Add OpenAPI dependencies (#1444)
Squash migrations (#1446)
- Filesfolders
Add migration required by Django v4.2 (#1396)
Add app specific media type and versioning (#1278)
- Projectroles
Rename
AppSettingAPIapp_namearguments toplugin_name(#1285)Default password in
createdevusersmanagement command (#1390)Deprecate
localin app settings, useglobalinstead (#1319)Enforce optional handling of app settings
globalattributes (#1395)Expect
get_object_link()plugin methods to returnPluginObjectLink(#1343)Deprecate returning
dictfromget_object_link()(#1343)Expect
search()plugin methods to return list ofPluginSearchResultobjects (#1399)Deprecate returning
dictfromsearch()(#1399)Update core API view media type and versioning (#1278, #1406)
Separate projectroles and remote sync API media types and versioning (#1278)
Rename base test classes for consistency (#1259)
Prevent setting global user app settings on target site in
AppSettingAPI(#1329)Move project app link logic in
AppLinkContent(#1380)Move user dropdown link logic in
AppLinkContent(#1381, #1413)Do not recreate
AppSettingobjects on remote sync update (#1409)Enforce project and site uniqueness in
RemoteProjectmodel (#1433)Remove redundant permission check in
project_detail.html(#1438)Move sidebar, project dropdown and user dropdown creation to
utils(#1366)Refactor
ProjectInviteProcessMixin.get_invite_type()intoProjectInvite.is_ldap()(#1367)
- Sodarcache
Rewrite REST API views (#498, #1389)
Raise
update_cache()exception forsynccachein debug mode (#1375)
- Timeline
Update
get_object_link()usage forPluginObjectLinkreturn data (#1343)Rename
ProjectEvent*models toTimelineEvent*(#1414)Move event name from separate column into badge (#1370)
Use constants for event status types (#973)
- Userprofile
Disable global user settings on target site in
UserSettingsForm(#1329)
Fixed
- General
README.rstbadge rendering (#1402)
- Filesfolders
OpenAPI
generateschemaerrors and warnings (#1442)
- Projectroles
SODARUser.update_full_name()not working with existing name (#1371)Legacy public guest access in child category breaks category updating (#1404)
Incorrect DAL widget highlight colour after upgrade (#1412)
ProjectStarringAjaxViewcreating redundant database objects (#1416)addremotesitecrash inTimelineAPI.add_event()(#1425)addremotesiteallows creation of site with mode identical to host (#1426)Public guest access field not correctly hidden in project form (#1429)
Revoked remote projects displayed in project detail view (#1432)
Invalid URLs for remote peer projects in project detail view (#1435)
Redundant
Project.get_source_site()calls in project detail view (#1436)RemoteSite.get_access_date()invalid date sorting (#1437)OpenAPI
generateschemacompatibility (#1440, #1442)ProjectCreateViewallowsPOSTwith disabled target project creation (#1448)Plugin existence not explicitly checked in
AppSettingAPI.set()update query (#1452)search_advanced.htmlheader layout (#1453)
- Sodarcache
REST API set view
app_nameincorrectly set (#1405)
- Timeline
OpenAPI
generateschemawarnings (#1442)
Removed
- General
SAML support (#1368)
Python v3.8 support (#1382)
- Projectroles
PROJECTROLES_HIDE_APP_LINKSsetting (#1143)CORE_API_*Django settings (#1278)Project starring timeline event creation (#1294)
user_email_additionalapp setting (#874)get_visible_projects()template tag (#1432)App setting value max length limit (#1443)
Redundant project permission in
UserSettingRetrieveAPIView(#1449)
v0.13.4 (2024-02-16)
Added
- Projectroles
LoggedInPermissionMixinlogin message customization (#1360)Base UI classses in Django API documentation (#1363)
- Siteinfo
Missing LDAP Django settings (#1347)
Changed
- General
Upgrade minimum Django version to v3.2.24 (#1348)
Upgrade LDAP dependencies (#1348)
- Projectroles
Improve remote site deletion UI text labels (#1349)
Store remote sync app setting foreign key UUIDs as strings (#1356)
Do not create timeline event for re-accepting project invite (#1352)
Improve user message for re-accepting project invite (#1354)
Redirect to
ProjectDetailViewfrom re-accepting project invite (#1361)Do not display login error on invite accept (#1360)
Clarify login error message for unauthenticated user (#1362)
Fixed
- General
Invalid env var retrieval for
AUTH_LDAP*_START_TLS(#1351)Versioneer version not available in CI (#1357)
- Projectroles
Remote sync
user_namecrash with <0.13.3 target sites (#1355)
Removed
- Timeline
Unused
collect_extra_data()template tag (#1359)
v0.13.3 (2023-12-06)
Added
- General
LDAP settings for TLS and user filter (#1340)
LDAP_DEBUGDjango setting
- Projectroles
_project_badge.htmltemplate (#1300)InvalidFormMixinhelper mixin (#1310)Temporary
user_nameparam in remote sync app settings (#1320)User login/logout logging signals (#1326)
createdevusersmanagement command (#1339)
Changed
- General
Upgrade minimum Django version to v3.2.23 (#1312)
Upgrade general Python dependencies (#1312)
- Appalerts
Use projectroles project badge templage (#1300)
- Bgjobs
Provide correct URL patterns to plugins (#1331)
Rename
bgjobs_siteplugin (#1332)
- Projectroles
Prevent updating global settings for remote projects in
AppSettingAPI(#1318)Change
project_starapp setting tolocal(#1321)
- Timeline
Truncate long project titles in badge (#1299)
Use projectroles project badge templage (#1300)
Provide correct URL patterns to plugins (#1331)
- Tokens
Rename
tokensplugin (#1334)
Fixed
- Appalerts
Missing URL patterns in app plugin (#1331)
- Projectroles
Browser-specific
sodar-btn-submit-oncespinner padding (#1291)Hidden JSON app settings reset on non-superuser project update (#1295)
Request object not provided to
perform_project_modify()on create (#1301)validate_form_app_settings()not called inProjectForm(#1305)Unhandled exceptions in
validate_form_app_settings()calls (#1306)validate_form_app_settings()results handling crash inProjectForm(#1307)RoleAssignmentprovided tovalidate_form_app_settings()inProjectForm(#1308)PROJECT_USERapp settings remote sync failure (#1315)Local app settings overridden by remote sync (#1324)
Local app setting value comparison failing in remote sync (#1330)
Active app highlight failing for multi-plugin apps (#1331)
Active app highlight failing for remote site views (#1331)
- Timeline
get_timestamp()template tag crash from missingProjectEventStatus(#1297)Empty object reference name handling in
add_object()(#1338, #1341)
- Tokens
Missing URL patterns in app plugin (#1331)
- Userprofile
Unhandled exceptions in
validate_form_app_settings()calls (#1306)validate_form_app_settings()results handling crash inUserSettingForm(#1307)
Removed
- Timeline
_project_badge.htmltemplate (#1300)
v0.13.2 (2023-09-21)
Added
- General
Release cleanup issue template (#1289)
Use
sodar-btn-submit-oncein object create forms (#1233)
- Projectroles
queryset_project_fieldoverride inAPIProjectContextMixin(#1273)sodar-btn-submit-onceclass for forms (#1233)
Changed
- General
Refactor and cleanup permission tests (#1267)
Enable setting
ADMINSDjango setting via env (#1280)
- Timeline
Update column width and responsiveness handling (#1721)
View icon display for site views (#1720)
Fixed
- Projectroles
User account update signals not triggered on login (#1274)
Project list rendering failure with finder role (#1276)
Crash in
emailmodule with emptyADMINSsetting (#1287)
- Timeline
Ajax view permission test issues (#1267)
v0.13.1 (2023-08-30)
Added
- General
get_chromedriver_url.shutility helper (#1255)
- Projectroles
TestSiteAppPermissionBasebase test class (#1236)full_titlearg inProject.get_log_title()(#1238)MultipleFileInputandMultipleFileFieldform helpers (#1226)syncmodifyapiproject limiting option (#1263)
Changed
- General
Update
django-pluginsanddrf-keyed-listdev dependencies to PyPI packages (#1241)Upgrade general Python dependencies (#1239)
Update tour help (#1102)
Template refactoring (#1102, #1249)
- Projectroles
Move
setup_ip_allowing()toIPAllowMixin(#1237)Improve
syncmodifyapiproject logging (#1228)Do not exit
syncmodifyapion failure (#1229)Simplify
syncmodifyapiproject querying (#1264)Update
get_role_display_name()to receiveRoleas first argument (#1265)Improve member invite templates (#1246, #1247, #1248)
- Timeline
Handle app plugin exceptions in
get_object_link()(#1232)
Fixed
- General
Search in Sphinx docs build (#1245)
All utility scripts not set as executable (#1254)
Local Chromedriver install failure (#1255)
- Projectroles
Hardcoded
appalertsdependency intest_views(#1252)Remote sync crash in
_add_parent_categories()(#1258)Remote sync timeline event description notation (#1260)
Django settings not working in login view (#1250)
Template extension not working in login view (#1250)
- Userprofile
Template padding (#1244)
v0.13.0 (2023-06-01)
Added
- General
Separate Chromedriver install script (#1127)
Custom include path with
PROJECTROLES_TEMPLATE_INCLUDE_PATH(#1049)Celery setup (#1198)
- Appalerts
Dismissed alerts list view (#711)
add_alerts()API method (#1101)
- Projectroles
project_starapp setting (#321)Search app omitting with
PROJECTROLES_SEARCH_OMIT_APPS(#1119)Inherited roles in project list and retrieve REST API views (#1121)
App settings validation by plugin method (#860)
App settings callable default value and options support (#1050)
Full role inheritance (#638, #1103, #1172, #1173)
Project.get_roles_by_rank()helper (#638)RoleMixinwithinit_roles()for testsApp settings project type restriction (#1169, #1170)
Validation for category delimiter in
Project.title(#1163)SODARUser.update_full_name()andupdate_ldap_username()helpers (#1056)Project app alert dismissal on role assignment deletion (#703)
Project finder role (#1011)
is_project_finder()rule predicate (#1011)Site-wide timeline events for remote site operations (#746, #1209)
Display app icon for settings in project and user forms (#947, #1187)
Cleanup for
PROJECT_USERscope app settings (#1128, #1129)SITEscope for app settings (#1184)Periodic remote project sync (#813)
- Siteinfo
Add
LDAP_ALT_DOMAINSto displayed settings (#1123)
- Sodarcache
delete_cache_item()method (#1068)
- Timeline
Search result limiting with
TIMELINE_SEARCH_LIMIT(#1124)
Changed
- General
Use path instead of regex for URL patterns (#1116)
Upgrade minimum Django version to v3.2.19 (#1117, #1122)
Upgrade general Python dependencies (#1117)
Update
env.example(#1065)
- Appalerts
Handle alerts with no project access in UI (#1177)
- Filesfolders
Change app display name to “Files” (#828)
- Projectroles
Display full user name in role update form (#1147)
Make email optional in
SODARUser.get_form_label()(#1148)Move user model tests to projectroles model tests (#1149)
Replace
ProjectUserTagproject starring with app setting (#321)Prevent sending invites to local users with local users disabled (#616)
Implement advanced search with POST (#712)
Remove category project list scrolling (#1141)
Move sidebar template tags to context processor (#969)
Update
Projectmodel API methods (#638, #710, #1045, #1178, #1201, #1222)Update permission and UI test setup (#638)
Display roles consistently in member/owner update UI (#1027)
Reduce site app view top margin (#866)
Rename
RoleAssignment.projectrelated name tolocal_roles(#1175)Replace
PROJECTROLES_HIDE_APP_LINKSwithPROJECTROLES_HIDE_PROJECT_APPS(#1142)Deprecate
PROJECTROLES_HIDE_APP_LINKS(#1142)Move Django signals to
signals.py(#1056)Disallow public guest access for categories (#897)
Refactor
AppSettingAPI(#1190, #1213)
- Timeline
Display event extra data to superusers, owners and delegates (#1171)
Fixed
- General
django-autocomplete-light==3.9.5crash withwhitenoise(#1224)Readthedocs build failing from using Python <3.8 (#1227)
- Appalerts
AppAlert.__repr__()crash if project not set (#1150)
- Bgjobs
Non-standard URL paths (#1139)
- Projectroles
get_form_label()displaying user without full name in parenthesis (#1140)Project and user update form JSON error handling (#1151)
ProjectAPI methods returning unexpected multipleRoleAssignmentobjects for user (#710)ProjectListAPIViewfailure with inheritance and public guest access (#1176)Incorrect icon displayed in
remoteproject_update.html(#1179)Long
Project.full_titlebreakingremoteproject_update.htmllayout (#1188)LDAP_ALT_DOMAINScheck not working inget_invite_type()(#1217)
Removed
- General
User model tests from
example_site(#1149)
- Projectroles
Deprecated
AppSettingAPImethods (#1039)ProjectUserTagmodel (#321)RoleAssignmentManager(#638)Project.get_all_roles()method (#638, #710)is_inherited_owner()template tag (#1172)
v0.12.0 (2023-02-03)
Added
- General
Path URL examples and tests in
example_project_app(#1047)
- Filesfolders
Project archiving support (#1086)
- Projectroles
App settings management via REST API (#521)
App setting update methods in
ProjectModifyPluginMixin(#521)Role ranking (#666)
Project archiving (#369, #1098, #1099, #1100)
Project.set_archive()helper (#369)can_modify_project_datapredicate in rules (#369)cleanup_kwargsinassert_response_api()API test helper (#1088)is_superuserinSODARUserSerializer(#1052)Ajax view
CurrentUserRetrieveAjaxView(#1053)
- Timeline
Admin view for all timeline events (#873)
Search functionality (#1095)
Back button in site event list object view (#1097)
sodar_uuidfield inProjectEventStatus(#1112)
Changed
- General
Rename incorrectly protected mixin methods (#1020)
Upgrade
checkoutandsetup-pythonGitHub actions (#1091)Upgrade minimum Django version to v3.2.17 (#1113)
- Projectroles
Rename
AppSettingAPImethods (#539, #1040)Deprecate old
AppSettingAPImethod names (#539, #1039)Hide apps in
PROJECTROLES_HIDE_APP_LINKSfrom superusers (#1042)Close Django admin warning modal on continue (#1114)
- Siteinfo
Use project type display names in stats view (#1107)
- Timeline
Display status extra data in event details modal (#1096)
Fixed
- Projectroles
Crash from path URLs in
get_project()(#1047)Initial owner user name in project create form not following convention (#1059)
- Timeline
Project references in
timeline_site.html(#1058)
Removed
- Projectroles
Unused
taskflow_testcasemodule (#1041)
- Timeline
Deprecated get_current_status() method (#1015)
v0.11.1 (2023-01-09)
Added
- Projectroles
Allow enabling project breadcrumb scrolling (#1037)
PROJECTROLES_BREADCRUMB_STICKYDjango setting (#1037)ProjectAccessMixinexternal app model support (#1067)Project.get_log_title()helper (#1071)
Changed
- General
Upgrade minimum Django version to v3.2.16 (#1035)
Upgrade Python dependencies (#1073)
- Timeline
Extra data loading using Ajax view (#1055)
Fixed
- General
Use
apt-getinstead ofaptin CI (#1030)Incorrect branch in
README.rstCoveralls link (#1031)Postgres role errors in GitHub Actions CI (#1033)
install_postgres.shbreaking with unsupported Ubuntu versions (#1061)
- Timeline
Extra data not displayed after viewing event details (#1055)
Crash in
get_app_icon_html()with project event from site app (#1057)Crash from missing
plugin_lookupintimeline_site.html(#1076)
Removed
- General
Unused
about.htmltemplate (#1029)
- Projectroles
Unused
taskflow_testcasemodule (#1041)
- Timeline
Deprecated
get_current_status()method (#1015)
v0.11.0 (2022-09-23)
Added
- General
Coverage reporting with Coveralls (#1026)
- Projectroles
Project modifying API in
ProjectModifyPluginMixin(#387)PROJECTROLES_ENABLE_MODIFY_APIDjango setting (#387)PROJECTROLES_MODIFY_API_APPSDjango setting (#387)syncmodifyapimanagement command (#387)SODARBaseAjaxMixinwithSODARBaseAjaxViewfunctionality (#994)Custom login view content via
include/_login_extend.html(#982)
Changed
- General
Upgrade minimum PostgreSQL version to v11 (#303)
Upgrade minimum Django version to v3.2.15 (#1003)
Upgrade to black v22.6.0 (#1003)
Upgrade general Python dependencies (#1003, #1019)
- Filesfolders
Change
public_urlform label (#1016)
- Projectroles
Replace Taskflow specific code with project modifying API calls (#387)
Rename
revoke_failed_invite()torevoke_invite()Do not return
submit_statusfrom project API views (#971)Remove required
ownerargument forProjectUpdateAPIView(#1007)Remove unused owner operations from
ProjectModifyMixin(#1008)Refactor and cleanup
AppSettingAPI(#1024)
- Timeline
Deprecate
ProjectEvent.get_current_status(), useget_status()(#322)
Fixed
- Projectroles
Crash at exception handling in
clean_new_owner()(#981)Incorrect button icon in remote site form (#1001)
Case-sensitive project list sorting (#1006)
Project list filtering not trimmed (#1021)
- Timeline
Uncaught exceptions in
get_plugin_lookup()(#979)
Removed
- General
Codacy support (#1022)
- Projectroles
Taskflow specific views, tests and API calls (#387)
get_taskflow_sync_data()method fromProjectAppPluginPoint(#387)Project.submit_statusfield and usages in code (#971)
- Taskflowbackend
Remove app and implement in SODAR (#387)
- Timeline
Taskflow API views (#387)
v0.10.13 (2022-07-15)
Added
- General
GitHub issue templates (#995)
- Projectoles
Taskflow access from a different host for tests (#986)
TASKFLOW_TEST_SODAR_HOSTto set host name for tests (#986)
Changed
- General
Update development and contributing documentation (#988, #989, #992, #996)
Update Actions and Codacy badges for new GitHub repository (#990, #991)
Upgrade minimum Django version to v3.2.14 (#993)
Fixed
- Projectroles
Project list role column fails if only categories are visible (#985)
v0.10.12 (2022-04-19)
Added
- Timeline
Support for specifying plugin for events (#975)
Changed
- General
Upgrade to black v22.3.0 (#972)
Upgrade minimum Django version to v3.2.13 (#976)
- Projectroles
Update sidebar icon padding on resize (#967)
Batch loading for project list columns (#968)
Optimize
ProjectListRoleAjaxViewRefactor sidebar toggling (#970)
Make
requestoptional forsend_generic_mail()andsend_mail()
v0.10.11 (2022-03-22)
Added
- Projectroles
Sidebar icon scaling using
PROJECTROLES_SIDEBAR_ICON_SIZE(#843)
Changed
- General
Upgrade to setuptools v59.6.0 (#948)
Unify Django messages in UI (#961)
- Projectroles
Refactor
ProjectSearchResultsViewandsearch_results.html(#955, #958)Force user to select type in project create form (#963)
Optimize parent queries in project update form (#965)
Fixed
- General
Incorrect version for ipdb dependency (#951)
- Filesfolders
Template crashes from missing
FileData(#962)
- Projectroles
App search results template included if no results found (#958)
Inconsistent sidebar icon size (#960)
get_display_name()use in Django messages and forms (#952)Projects not displayed in project list for inherited owner (#966)
Removed
- Projectroles
get_not_found_alert()template tag (#955)
v0.10.10 (2022-03-03)
Added
- Tokens
Success messages for token creation and deletion (#935)
- Userprofile
Success message for user settings update (#936)
Changed
- Projectroles
Improve project list loading layout (#937)
Make project list responsive when under category (#938)
Enable testing knox auth for REST API views without a token
Fixed
- Projectroles
Duplicate terms not removed in advanced search (#943)
ProjectSearchResultsView.get_context_data()called twice (#944)Redundant backend API initialization in
check_backend()(#946)
v0.10.9 (2022-02-16)
Added
- Projectroles
req_kwargsarg forTestPermissionMixin.assert_response()(#909)Starring and filtering controls for category subproject list (#56)
Enable anonymous access for Ajax views with
allow_anonymous(#916)
Changed
- General
Use
LATEST_RELEASEin Chromedriver install (#906)
- Projectroles
Project list client side loading (#825, #908, #913, #933)
Optimize project list queries (#922, #923)
Move project starring JQuery into
project_star.js(#930)
- Timeline
Display event details as a modal (#910, #912)
Make
descriptionoptional for_make_event_status()(#890)
Fixed
- Projectroles
Project list JQuery loaded in project detail view (#914)
sodar-modal-waitlayout (#931)Redundant project starring JQuery includes (#930)
- Timeline
Event status layout overflowing (#911)
Removed
- Projectroles
Unused project list templates and template tags (#913)
- Timeline
Unused
get_event_details()template tag
v0.10.8 (2022-02-02)
Added
- Projectroles
Disabling
ManagementCommandLoggerwithLOGGING_DISABLE_CMD_OUTPUT(#894)
- Siteinfo
Missing site settings in
CORE_SETTINGS(#877)
- Timeline
get_plugin_lookup()andget_app_icon_html()template tags (#888)Template tag tests (#891)
Changed
- General
Upgrade minimum Python version to v3.8, add v3.10 support (#885)
Upgrade minimum Django version to v3.2.12 (#879, #902)
Upgrade Python dependencies (#884, #893, #901)
Upgrade to Chromedriver v97 (#905)
- Projectroles
Display admin icon in user dropdown (#886)
Refactor UI tests (#882)
- Timeline
Improve event list layout responsivity (#887)
Replace event list app column with app icon (#888)
Set default kwarg values for model test helpers (#890)
Move
get_request()toTimelineAPIMixinDisplay recent events regardless of status in details card (#899)
Optimize
get_details_events()(#899)
Fixed
- Projectroles
Parent owner set as owner in project create form for non-owner category members (#878)
Project header icon tooltip alignment (#895)
Redundant public access icon display for categories (#896)
Icon size syntax (#875)
Content of
sodar-code-inputpartially hidden in Chrome (#904)
- Siteinfo
Layout responsivity issues with long labels (#883)
- Timeline
Redundant app plugin queries in event list (#889, #900)
Removed
- Projectroles
_add_remote_association()helper from UI tests (#882)
- Timeline
Unused
get_app_url()template tag (#888)
v0.10.7 (2021-12-14)
Added
- Adminalerts
UI documentation (#865)
- Siteinfo
UI documentation (#865)
Changed
- General
Upgrade minimum Django version to v3.2.10 (#869)
Upgrade to python-ldap v3.4.0 (#871)
- Projectroles
HTTP 403 raised instead of 400 if project type disallowed by API view (#872)
Update role list media rules (#863)
Add line break for custom email footer (#864)
Fixed
- Projectroles
ManagementCommandLoggercrash by unsetLOGGING_LEVEL(#862)highlight_search_term()crash on invalid term input (#867)Search bar allowing invalid input (#868)
Wrong project type displayed in project type restriction API response (#872)
v0.10.6 (2021-11-19)
Added
- General
LOGGING_LEVELsetting in example configs (#822)ProfilingMiddlewarefor cProfile profiling in debug more (#839)PROJECTROLES_ENABLE_PROFILINGsetting for profiling (#839)
- Projectroles
cleanup_methodarg forassert_response()(#823)Timeline object and data helpers in site and backend plugins (#832)
ManagementCommandLoggerhelper (#844)get_email_user()helper (#845)Project type restriction in API views with
project_typeattribute (#850)Project.has_public_childrenfield (#851)Email sending for additional user emails (#861)
user_email_additionalapp setting (#861)email.get_user_addr()helper (#861)
Changed
- General
Upgrade to Chromedriver v96 (#818, #847, #852)
Use
LOGGING_LEVELin exampleset_logging()(#822)Upgrade minimum Django version to v3.2.9 (#835, #848)
Improve management command output and logging (#844)
Optimize project list queries (#851)
- Filesfolders
Refactor
checkAll()helper (#816)Restrict project type in API views (#850)
- Projectroles
Upgrade DataTables includes on search results page (#841, #856)
Improve email subject prefix formatting (#829)
Update user representations in emails (#845)
- Timeline
Refactor
TimelineAPI
Fixed
- General
Github Actions CI failure by old package version (#821)
Codacy code quality badge in README (#815)
- Appalerts
Random crashes in
TestTitlebarBadge.test_alert_dismiss_all(#811)
- Projectroles
sodar-overflow-containerfailing with certain tables (#830)Sort icons not displayed on search results page (#841)
App alert badge content wrapping (#846)
Nested categories with public children not displayed correctly for anon users (#853, #855)
Public and remote icons breaking project title bar layout (#859)
- Timeline
Crash from invalid plugin name in
get_event_description()(#831)Redundant database queries in
get_event_description()(#834)Site and backend plugins not supported in
get_event_description()(#832)
Removed
- Projectroles
get_star()template tag (#851)Project.has_public_children()method: usehas_public_childreninstead (#851)
v0.10.5 (2021-09-20)
Added
- Appalerts
Display project badge in alert (#790, #801)
Dismiss all link in title bar badge (#802)
- Projectroles
exactkwarg forassert_element_count()in UI tests (#798)Custom email header and footer (#789)
PROJECTROLES_EMAIL_HEADERandPROJECTROLES_EMAIL_FOOTERsettings (#789)get_all_defs()helper inAppSettingAPI(#808)
Changed
- General
Unify app settings label notation (#793)
Upgrade minimum Django version to v3.2.7 (#800)
- Appalerts
Improve alert list layout (#790)
- Projectroles
Improve login button locating in
login_and_redirect_with_ui()(#796)Hide skipped app settings from target remote sync view (#785)
Improve app settings layout in target remote sync view (#804)
Minor remote sync refactoring (#721, #785, #807)
Refactor
_get_projectroles_settings()intoget_projectroles_defs()(#803)
Fixed
- Appalerts
Redundant HTML anchor in Dismiss All button (#788)
- Projectroles
Sidebar notch position (#787)
sodar-overflow-containermisalignment (#791)App settings recreated if value is identical (#785)
Line separators in
remoteproject_sync.html(#805)App settings remote sync only supporting projectroles (#806, #809)
Plugin name incorrectly displayed in target remote sync view (#810)
Active link check for projectroles URLs ignoring app name (#814)
Removed
- Projectroles
get_plugin_name_by_id()template tag (#812)
v0.10.4 (2021-08-19)
Added
- General
LOGGING_APPSandLOGGING_FILE_PATHsettings in example site (#762)Siteinfo app to logged apps in base config (#767)
- Appalerts
“Dismiss All” button in alert list (#770, #781)
Update list view with reload link on added alerts (#780)
- Siteinfo
ENABLED_BACKEND_PLUGINSinCORE_SETTINGS(#766)
Changed
- General
Upgrade to Chromedriver v92 (#772)
Upgrade minimum Django version to v3.2.6 (#773)
- Appalerts
Display no alerts element after clearing list (#779)
- Projectroles
Refactor view test setup (#769)
- Siteinfo
UI improvements for empty and unset values
Fixed
- General
SAML attribute map example in config (#760)
Docs layout broken by
docutils>=0.17(#763)Logging level not correctly set for all loggers (#771)
- Projectroles
HTTP 403 raised instead of 404 in API and UI views if object not found (#774)
Incorrect message on ownership transfer email notifications (#778)
Project update view loading slowed down by large number of child categories (#765)
- Siteinfo
Plugin settings not read if
get_statistics()raises exception (#767)List layout broken by empty string values (#768)
v0.10.3 (2021-07-01)
Changed
- General
Upgrade minimum Django version to v3.2.5 (#744)
Upgrade Python dependencies (#744)
- Userprofile
Hide user update button for non-local users (#748)
Fixed
- Projectroles
False errors from app settings sync if app not installed on target site (#757)
- Timeline
Uncaught exceptions in
get_event_description()(#749)
- Tokens
Expiry date incorrectly displayed in token list (#747)
Missing query set ordering in token list (#754)
Removed
- Tokens
Unused
adminandmodelsmodules
v0.10.2 (2021-06-03)
Changed
- General
Upgrade to Chromedriver v90 (#731)
Rename example site adminalerts URL include (#730)
Update documentation screenshots (#734)
Reorganize static files in documentation (#734)
Rename example
django-db-file-storageURL pattern (#732)Upgrade minimum Django version to v3.2.4 (#727)
Upgrade Python dependencies (#727)
Reformat with Black v21.5b2
- Projectroles
Display anonymous icon in titlebar dropdown if not logged in (#726)
Fixed
- General
Figure aspect ratios in documentation (#735)
- Projectroles
Unhandled exceptions and missing data in project list extra columns (#733)
Project star icon alignment (#736)
Project list layout broken by
FILESFOLDERS_SHOW_LIST_COLUMNSsetting (#737)Public guest access role not displayed in project list (#739)
- Timeline
Crash in
add_event()if called withAnonymousUser(#740)
v0.10.1 (2021-05-06)
Added
- General
Installation via PyPI (#293)
- Appalerts
Update alerts in JQuery without page reloading (#701, #723)
APPALERTS_STATUS_INTERVALsetting (#701)
Changed
- General
Upgrade minimum Django version to v3.2.1 (#696)
Upgrade django-debug-toolbar to v3.2.1 (#706)
- Appalerts
Tweak alert layout (#716)
- Projectroles
Enforce 3 character minimum limit for terms in multi-term search (#715)
Improve remote sync stability
Fixed
- General
Add
build/to.gitignore(#707)Invalid operating system qualifier in
setup.py(#708)
- Projectroles
Uncaught exceptions in app plugin
search()(#713)Broken project icon on search results page (#714)
Empty search terms not sanitized (#715)
Hardcoded optional
PROJECTROLES_DISABLE_CATEGORIESsetting in forms (#719)Remote sync objects referred by database ID instead of
sodar_uuid(#720)Uncaught exceptions in app settings remote sync (#720)
Assumed
sodar_uuidmatch for target app settings in remote sync (#722)
v0.10.0 (2021-04-28)
Added
- Adminalerts
get_statistics()implementation
- Appalerts
Add site app and backend for app alerts (#642)
- Projectroles
geticonsmanagement command for retrieving Iconify icons (#54)spinclass inprojectroles.cssfor spinning icon support (#54)Optional public guest access for projects (#574)
public_guest_accessandset_public()inProjectmodel (#574)Enable allowing anonymous access to site (#574)
PROJECTROLES_ALLOW_ANONYMOUSsite setting (#574)is_allowed_anonymouspredicate inrules(#574)site_app_processorincontext_processors(#574)get_statistics()inSiteAppPluginPointinfo_settingsin app plugins (#671)plugin_typeargument inget_app_plugin()(#309)handle_project_update()inProjectAppPlugin(#387, #675)App alerts for project and role updates (#642, #692)
- Siteinfo
Display selected Django settings in UI (#671)
- Timeline
Permission tests (#144)
Site app plugin for site-wide events (#668)
- Tokens
Permission tests
Changed
- General
Upgrade project to Django v3.2 (#194, #695)
Upgrade Python dependencies (#194, #678, #685)
Rename GitHub repo to
sodar-core(#699)Rename
masterbranch tomainUse Iconify for icons (#54)
Use Material Design Icons as default icon set (#54)
Bump minimum Python version requirement to v3.7 (#121)
Upgraded versioneer (#656)
Update views, mixins and tags for anonymous user access (#574)
Upgrade recommended development OS version to Ubuntu v20.04 (#640)
Do not send redundant emails to users initiating updates (#693)
Get all app settings from environment
- Projectroles
Set parent owner as initial owner in project form (#667)
Always show Django admin warning (#677)
Modify signature of
get_history_dropdown()template tag (#668)Add default
superuservalue toLiveUserMixin._make_user()Include
select2CSS locally (#457)Refactor
cleanappsettings(#673)
- Siteinfo
Tabbed layout in site info view
- Timeline
Make
projectanduserfields inProjectEventoptional (#119, #668)Modify signatures of
get_object_url()andget_object_link()helpers (#668)Allow custom
INITstatus data (#700)
- Tokens
Refactor view tests
Fixed
- General
All app settings not properly frozen in test config (#688)
- Adminalerts
Pagedown widget breaking CSS layout in Firefox (#659)
- Bgjobs
Plugin queries in template tag module root (#653)
- Projectroles
Description line spacing in project header (#632)
Pagedown widget breaking CSS layout in Firefox (#659)
Crash by missing optional
PROJECTROLES_DELEGATE_LIMITsetting (#676)cleanappsettingsdeleting defined app settings (#673)
- Timeline
Double status added when calling
add_event()withINITtype (#700)
Removed
- General
Font Awesome support without Iconify (#54)
- Projectroles
get_site_app()template tag (#574)Deprecated search functionality with a single
search_term(#618)Deprecated
get_full_title()method fromProjectmodel (#620)
v0.9.1 (2021-03-05)
Added
- Projectroles
Inline head include from environment variables in base template (#639)
req_kwargsargument inSODARAPIPermissionTestMixin.assert_response_api()(#662)Display inherited owner note in remote project sync UI (#643)
is_inherited_owner()template tag
Changed
- General
Improve Codacy support in GitHub Actions
Upgrade to Chromedriver v89 (#657)
- Projectroles
Duplicate
sodar_uuidinSODARNestedListSerializer(#633)Rename and refactor
LocalUserFormanduser_form.html(#651)
Fixed
- Filesfolders
File list breadcrumb icon alignment (#660)
Cancel link in batch edit view (#647)
Batch move folders not displayed in UI (#648)
Batch moving objects to project root failing (#661)
- Projectroles
Login redirect URLs with query strings not properly handled by
assert_response()(#635)Remote project icons in project list not displayed (#664)
Version
0.8.4missing fromCORE_API_ALLOWED_VERSIONS
- Userprofile
User update link and template not working as expected (#650)
Removed
- Userprofile
Unused template
user_update.html(#651)
v0.9.0 (2021-02-03)
Added
- General
SAML SSO authentication support (#588)
REST API example
HelloExampleProjectAPIViewinexample_project_app(#518)
- Projectroles
Projectroles app settings (#532)
Remote sync for projectroles app setting (#533, #586)
IP address based access restriction for projects (#531)
is_delegate()andis_owner_or_delegate()helpers forProjectmodelRemote sync for non-owner category members (#502)
setting_delete()function toAppSettingAPI(#538)cleanappsettingsmanagement command (#374)exclude_inheritedargument inProject.get_delegates()(#595)Value options for app settings of type
STRINGandINTEGER(#592)Display placeholders for app setting form fields (#584)
Support for local user invites (#548, #613, #615, #621)
Local user account creation and updating (#547)
batchupdaterolesmanagement command (#15, #602)Project invite REST API views (#15, #598)
Advanced search with multiple terms (#609)
Search result pagination control (#610)
REST API endpoint for retrieving current user info (#626)
Changed
- General
Replace development helper scripts with
Makefile(#135)Upgrade to Bootstrap v4.5.3 and jQuery v3.5.1 (#563)
Upgrade to Chromedriver v87
Upgrade general Python requirements (#576)
Migrate GitHub CI from Travis to GitHub actions (#577)
Refactor example
PROJECT_USERscope app settings (#599)Set logging level in test configurations to
CRITICAL(#604)
- Filesfolders
Update
search()andfind()for multiple search terms (#609)
- Projectroles
Allow updating local app settings on a
TARGETsite (#545)Refactor project list filtering (#566)
Move project list javascript to
project_list.js(#566)Rename owner role transfer URL pattern and timeline event (#590)
Add
sodar_urloverride tomodify_assignment()Rename
ProjectSearchResultsViewand its template (#609)Implement
get_full_title()asProject.full_titlefield (#93)Clarify invite accepting procedure in invite email (#627)
Redirect to home view when reusing accepted invite link (#628)
- Userprofile
Cosmetic updates for user detail template (#600)
Fixed
- Projectroles
Invite redirect not working in Add Member view (#589)
Wrong role label displayed for category owner/delegate in member list (#593)
Django settings access in
formsandserializersDelegate limit check broken by existing delegate roles of inherited owners (#595)
Crash in project invite if multiple users exist with the same email (#614)
Project delegate able to revoke invite for another delegate (#617)
Column alignment in invite list (#606)
get_not_found_alert()fails if called with app plugin search type (#624)
- Taskflowbackend
Django settings access in
api(#605)sodar_urloverride not working ifrequestobject is present (#605)
Removed
- General
Travis CI setup in
.travis.yml(#577)
- Projectroles
Template
_project_filter_item.html(#566)Template tag
get_project_list()(#566)Deprecate old implementation of
ProjectAppPluginPoint.search()(#609, #618)Deprecate
Project.get_full_title()(#93)
v0.8.4 (2020-11-12)
Changed
- General
Documentation updates for JOSS submission
v0.8.3 (2020-09-28)
Added
- General
Missing migration for the
SODARUsermodel (#581)
Changed
- General
Upgrade to Chromedriver v85 (#569)
- Projectroles
Improve project list header legend (#571)
Make
sync_source_data()atomicPrevent creation of local projects under remote categories (#583)
- Siteinfo
Refactor app plugin statistics retrieval (#573)
Fixed
- General
Invalid statement in
setup_database.sh(#580)
- Projectroles
Missing exception handling for
sync_source_data()calls (#582)Crash from conflicting local category structure (#582)
- Siteinfo
Crash from exceptions raised by app plugin
get_statistics()(#572)
- Timeline
CSS for
sodar-tl-link-detaillinks (#578)
Removed
- General
Unused
Pillowdependency (#575)
v0.8.2 (2020-07-22)
Added
- Bgjobs
Enable site-wide background jobs (#544)
Site app plugin for site-wide background jobs (#544)
- Projectroles
sodar-header-buttonCSS class (#550)Logging for
AppSettingAPI(#559)
Changed
- Projectroles
Upgrade to Chromedriver v83 (#543)
Rename
is_app_link_visible()template tag intois_app_visible()(#546)Refactor project list to reduce queries and template tag use (#551, #567)
Fixed
- Projectroles
Transferring project ownership to inherited owner not allowed (#534)
Uniqueness constraint in
AppSettingincompatible withPROJECT_USERscope settings (#542)Inherited owner email address not displayed in project member list (#541)
App visibility check broken in
project_detail.html(#546)Invite accept for a category invoking Taskflow and causing a crash (#552)
Project form
parentforced to wrong value if user lacks role in parent category (#558)Invalid
app_namenot handled inAppSettingAPI.get_default_setting()(#560)Empty JSON and false boolean app settings not set in project form (#557)
Minor Javascript errors thrown by
projectroles.js(#536)Long lines breaking email preview layout (#564)
v0.8.1 (2020-04-24)
Added
- Projectroles
CSS class
sodar-pr-project-list-customfor custom project list items (#525)
Fixed
- Projectroles
CSS padding issue with
sodar-list-btnand Chrome (#529, sodar#844)Crash from missing optional setting
PROJECTROLES_DISABLE_CATEGORIES(#524)Remote project editing not prevented in REST API views (#523)
Removed
- Projectroles
Deprecated
SODARAPIObjectInProjectPermissionsbase class (#527)
v0.8.0 (2020-04-08)
Added
- General
“For the Impatient” section in docs
- Filesfolders
API views for file, folder and hyperlink management (#443)
- Projectroles
Import new REST API view base classes from SODAR (#48, #461)
Import base serializers from SODAR (#462)
API views for project and role management (#48, #450)
projectroles.tests.test_views_api.TestAPIViewsBasefor API view testing (#48)SODARAPIPermissionTestMixinfor API view permission testsNew helper methods in
SODARAPIViewTestMixinProvide live server URL for Taskflow in
TestTaskflowBase.request_data(#479)TestTaskflowAPIBasefor testing API views with SODAR Taskflow (#488)Permission tests using Knox tokens (#476)
Base Ajax view classes in
projectroles.views_ajax(#465)Allow assigning roles for categories (#463)
Allow displaying project apps in categories with
category_enable(#447)Allow category delegates and owners to create sub-categories and projects (#464)
get_role_display_name()helper inprojectroles_common_tags(#505)get_owners(),is_owner()andget_all_roles()helpers forProject(#464)Allow using legacy UI test login method with
PROJECTROLES_TEST_UI_LEGACY_LOGIN(#509)Allow moving categories and projects under different categories (#512)
SODARFormandSODARModelFormbase classes for formsEnable retrieving flat recursive list of children objects in
Project.get_children()Support for
datain permission testassert_response()method (#155)
- Taskflowbackend
get_inherited_roles()helper (#464)
- Timeline
get_models()helper
- Tokens
Add app from varfish-web (#452)
Changed
- General
Upgrade minimum Django version to v1.11.29 (#520)
Upgrade JQuery to v3.4.1 (#519)
Upgrade Bootstrap to v4.4.1 (#460)
General upgrade for Python package requirements (#124, #459)
Reorganize view classes and URL patterns (#480)
Refactor Ajax views (#465, #475)
Update
CONTRIBUTING.rstUse
SODARFormandSODARModelFormbase classes in forms
- Projectroles
Suppress peer site removal logging if nothing was removed (#478)
Refactor
SODARCoreAPIBaseViewintoSODARCoreAPIBaseMixin(#461)Allow providing single user to
assert_response()in permission tests (#474)Move
SODARAPIViewTestMixinintotest_views_apiand rename (#471)Move
KnoxAuthMixinfunctionality intoSODARAPIViewTestMixinget_accept_header()in API tests returns header as dictRefactor base permission test classes (#490)
Move
utils.set_user_group()toSODARUser.set_group()(#483)Call
set_group()inSODARUser.save()(#483)Replace
projectroles_tags.is_app_hidden()withis_app_link_visible()Inherit owner permissions from parent categories (#464)
Refactor project roles template (#505)
Disable owner updating in project update form (#508)
Allow updating project parent via SODAR Taskflow (#512)
- Taskflowbackend
Refactor
synctaskflowmanagement command and add logging
- Timeline
Display app for categories (#447)
Fixed
- General
Duplicate
contributing.rstredirection file in docs (#481).toxnot ignored inblack.shCoverage checks in Travis-CI (#507)
- Projectroles
Swapping owner and delegate roles not allowed if at delegate limit (#477)
Remote sync for owner role failing with specific user order in data (#439)
Redundant updating of
Project.submit_statusduring project creationMake
test_widget_user_options()more reliable (#253)Missing permission check by role type in
RoleAssignmentDeleteView.post()(#492)Unordered queryset warnings from the
Usermodel (#494)Incorrect user iteration in
test_user_autocomplete_ajax()(#469)Redundant input validation preventing search with valid characters (#472)
Local users disabled in local development configuration (#500)
Member link not visible in responsive project dropdown (#466)
CSS issues with Bootstrap 4.4.1 in search pagination (#372, #460)
Raise
ImproperlyConfiguredfor missing parameters inProjectAccessMixin(#516)
- Timeline
CSS issues with Bootstrap 4.4.1 (#460)
Removed
- Projectroles
SODARAPIBaseViewbase class, replaced by API view mixins (#461)KnoxAuthMixinfrom view testsget_selectable_users()fromformsRedundant render/redirect helpers from
TestPermissionBase: useassert_response()instead (#484)APIPermissionMixinfor API views: use base API/Ajax view classes instead (#467)is_app_hidden()fromprojectroles_tags
v0.7.2 (2020-01-31)
Added
- Projectroles
custom_orderargument inget_active_plugins()(#431)Enable ordering custom project list columns in project app plugin (#427)
SODARCoreAPIBaseViewbase API view class for internal SODAR Core apps (#442)API version enforcing in
RemoteProjectsSyncViewandsyncremote.py(#444)Allow extra keyword arguments in
get_backend_api()(#397)Example usage of
get_backend_api()extra kwargs inexample_backend_app(#397)SODARUserChoiceFieldandget_user_widget()for user selection in forms (#455)Setting
reply-toheaders for role change and invite emails (#446)No reply note and related
PROJECTROLES_EMAIL_SENDER_REPLYsetting (#446)Display hidden project app settings to superusers (#424)
- Sodarcache
Allow limiting
deletecacheto a specific project (#448)
Changed
- General
Upgrade minimum Django version to 1.11.27
Base
RemoteProjectGetAPIViewonSODARCoreAPIBaseView(#442)Upgrade to Chromedriver v80 (#510)
- Bgjobs
Make
specialize_job()more robust (#456)
- Projectroles
Accept null value for
AppSetting.value_json(#426)Use
PluginContextMixininProjectContextMixin(#430)Move
get_accept_header()toSODARAPIViewMixin(#445)Allow exceptions to be raised by
get_backend_plugin()(#451)Improve tour help CSS (#438)
Field order in
RoleAssignmentOwnerTransferView(#441)Redesign user autocomplete handling in forms (#455)
Rename
SODARUserAutocompleteWidgetandSODARUserRedirectWidget(#455)Disable ownership transfer link if owner is the only project user (#454)
Fixed
- Projectroles
Potential crash in
_project_header.htmlwith ownerless kiosk mode category (#422)Form crash when saving a JSON app setting with
user_modifiable=False(#426)Inconsistent plugin ordering in custom project list columns (#428)
Project app plugins included twice in
HomeView(#432)ProjectPermissionMixinquery set override withget_project_filter_key()Search disabled with unchanged input value on search page load (#436)
Subprojects queried for non-categories in
project_detail.html(#434)Current owner selectable in ownership transfer form (#440)
- Taskflowbackend
Potential crash in
TaskflowAPIinitialization
Removed
- Projectroles
Unused backend plugins queried for context data in
HomeView(#433)Unneeded
UserAutocompleteExcludeMembersAPIView(#455)
v0.7.1 (2019-12-18)
Added
- General
Include CHANGELOG in documentation (#379)
- Projectroles
widget_attrsparameter for project and user settings (#404)Remote project member management link for target projects (#382)
Current user in
get_project_list_value()arguments (#413)Display category owner in page header (#414)
Configuring UI test settings via Django settings or
TestUIBasevars (#417)Initial support for deploying site in kiosk mode (#406)
Optional disabling of default CDN Javascript and CSS includes (#418)
Defining custom global JS/CSS includes in Django settings (#418)
Changed
- General
Change “Breaking Changes” doc into “Major Changes” (#201)
Refactor and rename ownership transfer classes and template
Use RTD theme in documentation (#384)
Upgrade to Chromedriver v79
- Adminalerts
Rename
INACTIVEalert state in UI (#396)Rename URL name and pattern for activation API view (#378)
Improve alert detail page layout (#385)
- Projectroles
Improve unsupported browser warning (#405)
Move project list description into tooltip (#388)
- Siteinfo
Improve page title and heading (#402)
- Sodarcache
Clarify management command logging (#403)
- Timeline
Improve extra data status tab legend (#380)
Fixed
- General
PPA used for Python 3.6 installs no longer available (#416)
- Filesfolders
Invalid HTML in project list extra columns
- Projectroles
Dismissing login error alert in
login.htmlnot working (#377)Current owner queries incorrectly filtered in
RoleAssignmentOwnerTransferView(#393)Hardcoded project type display name in sent emails (#398)
Silent failing of invalid app setting type in plugin definition (#390)
Exception raised by hidden sidebar in sidebar height calculation (#407)
Crash in
get_default_setting()if default JSON value was not set (#389)Owner widget hidden in category update view (#394)
Project list extra column header alignment not set (#412)
get_project_list_value()template tag displaying “None” on null value (#411)
v0.7.0 (2019-10-09)
Added
- General
Development env file example
env.example(#297)Postgres database development setup script (#302)
ENABLE_DEBUG_TOOLBARsetting for local development (#349)local_target2.pyconfig for peer remote site development (#200)
- Adminalerts
Activate/suspend button in alert list (#42)
- Bgjobs
Pagination for background job list (#335)
BGJOBS_PAGINATIONDjango setting (#335)
- Projectroles
get_backend_include()common template tag (#261)css_urlmember variable inBackendPluginPoint(#261)Example of on-demand Javascript/CSS inclusion in example apps (#261)
Remote project link display toggle for target sites (#276)
Project UUID clipboard copying button (#290)
Support for app settings in site apps (#308)
Initial implemenetation for common clipboard copying visualization (#333)
Send email for owner role assignment (#325)
Common pagination include template
_pagination.html(#334)Synchronization and display of
PEERsites in remote site management (#200)Link for copying remote site secret token in remote site list (#332)
Project ownership transfer from member list (#287)
UI notification for disabled member management on target sites (#301)
Management command
addremotesitefor adding remote sites (#314)JSON support for app settings (#268)
get_setting_def()in app settings APITimeline logging of app settings in project creation (#359)
“Project and user” scope for app settings (#266)
REVOKEDstatus for remote projects with revoked access (#327)Project.is_revoked()helper (#327)Disabling access for non-owner/delegate for revoked projects in
ProjectPermissionMixin(#350)
- Timeline
Display event extra data as JSON (#6)
- Userprofile
User setting for project UUID clipboard copying (#290, #308)
Changed
- General
Upgrade Chromedriver to version 77.0.3865.40
Use
CurrentUserFormMixininstead of repeated code (#12)Run tests in parallel where applicable
Upgrade minimum Django version to 1.11.25 (#346)
General upgrade for Python package requirements (#282)
- Adminalerts
Use common pagination template
- Projectroles
Improve user name placeholder in
login.html(#294)Backend app Javascript and CSS included on-demand instead of for all templates (#261)
Make sidebar hiding dynamic by content height (#316)
Replace
login_and_redirect()in UI tests with a faster cookie based function (#323)Refactor remote project display on details page (#196)
Refactor AppSettingAPI (#268)
Enable calling
AppSettingAPI.get_setting_defs()with app name instead of plugin objectUse
ProjectPermissionMixinon project detail page (#350)
- Timeline
Use common pagination template (#336)
Fixed
- Projectroles
Output of template tag
get_project_link()Redundant inheritance in
CurrentUserFormMixin(#12)Trailing slashes not parsed correctly in remote project URLs (#319)
Crash in
get_project_column_count()with no active project app plugins (#320)UI test helper
build_selenium_url()refactored to work with Chrome v77 (#337)Disallow empty values in
RemoteSite.nameRemote sync of parent category roles could fail with multiple subprojects
RemoteProjectmodifications not saved during sync updateTimeline events not created in remote project sync (#370)
DAL select modifying HTML body width (#365)
Footer overflow breaking layout (#367, #375)
- Timeline
Crash from exception raised by
get_object_link()in a plugin (#328)
Removed
- Projectroles
Duplicate database indexes from
RoleAssignment(#285)Deprecated
get_setting()tag fromprojectroles_common_tags(#283)Project owner change from project updating form (#287)
ProjectSettingMixinfromprojectoles.tests.test_views(#357)
v0.6.2 (2019-06-21)
Added
- General
Badges for Readthedocs documentation and Zenodo DOI (#274)
- Bgjobs
BackgroundJobFactoryfor tests from Varfish-web
- Projectroles
Unit test to assure owner user creation during project update when using SODAR Taskflow (sodar_taskflow#49)
Common template tag
get_app_setting()(#281)Hiding app settings from forms with
user_modifiable(#267)AppSetting.value_jsonfield (#268)
- Sodarcache
Logging in
delete_cache()(#279)
- Userprofile
Support for
AppSetting.user_modifiable(#267)
Changed
- General
Upgrade minimum Django version to 1.11.21 (#278)
- Projectroles
get_setting()template tag renamed intoget_django_setting()(#281)Implement project app descriptions on details page with
get_info_link()(#277)
Fixed
- General
Documentation sections for Readthedocs
v0.6.1 (2019-06-05)
Added
- Filesfolders
Example project list columns (#265)
Setting
FILESFOLDERS_SHOW_LIST_COLUMNSto manage example project list columns (#265)
- Projectroles
Optional project list columns for project apps (#265)
- Sodarcache
delete_cache()API function (#257)
Changed
- Projectroles
Refactor
RemoteProject.get_project()(#262)Use
get_info_link()in remote site list (#264)Define
SYSTEM_USER_GROUPinSODAR_CONSTANTS(#251)Make pagedown textarea element resizeable and increase minimum height (#273)
- Sodarcache
Handle and log raised exceptions in
synccachemanagement command (#272)
- Userprofile
Disable user settings link if no settings are available (#260)
Fixed
- General
Chrome and Chromedriver version mismatch in Travis-CI config (#254)
- Projectroles
Remove redundant
get_project_list()call fromproject_detail.html
Removed
- Projectroles
Unused project statistics in the home view (#269)
App settings deprecation protection (#245)
- Sodarcache
Unused
TaskflowCacheUpdateAPIView(#205)
v0.6.0 (2019-05-10)
Added
- Filesfolders
Provide app statistics for siteinfo (#18)
- Projectroles
User settings for settings linked to users instead of projects (#16)
user_settingsfield in project plugins (#16)Optional
labelkey for settingsOptional “wait for element” args in UI test helpers to ease Javascript testing (#230)
get_info_link()template tag (#239)get_setting_defs()API function for retrieving project and user setting definitions (#225)get_all_defaults()API function for retrieving all default setting values (#225)Human readable labels for app settings (#9)
- Siteinfo
Add app for site info and statistics (#18)
- Sodarcache
Optional
--projectargument for thesynccachecommand (#232)
- Timeline
Provide app statistics for siteinfo (#18)
- Userprofiles
View and form for displaying and updating user settings (#16)
Changed
- General
Upgrade to ChromeDriver v74 (#221)
- Bgjobs
Job order to match downstream Varfish
- Filesfolders
Update app settings (#246)
- Projectroles
Rename
project_settingsmodule toapp_settings(#225)App settings API updated to support project and user settings (#225)
Write an empty dict for
app_settingsby default
Fixed
- Bgjobs
Date formatting in templates (#220)
- Sodarcache
Crash from
__repr__()if project not set (#223)Broken backend plugin icon (#250)
Removed
- Timeline
Unused and deprecated project settings (#246)
v0.5.1 (2019-04-16)
Added
- General
Bgjobs/Celery updates from Kiosc (#175)
Default error templates in
projectroles/error/*.html(#210)
- Projectroles
Optional
userargument inProjectAppPlugin.update_cache()(#203)Migration for missing
RemoteProjectforeign keys (#197)
- Sodarcache
API logging (#207)
Indexing of identifying fields (#218)
Changed
- General
Extend
projectroles/base.htmlfor all site app templates, update docs (#217)Use projectroles error templates on the example site (#210)
- Sodarcache
Make
userfield optional in models and API (#204)Rename app configuration into
SodarcacheConfigto follow naming conventions (#202)Rename
updatecachemanagement command tosynccache(#208)
Fixed
- General
Add missing curl dependency in
install_os_dependencies.sh(#211)Django debug toolbar not displayed when using local configuration (#213)
- Projectroles
Nested app names not properly returned by
utils.get_app_names()(#206)Forced width set for all Bootstrap modals in
projectroles.css(#209)Long category paths breaking remote project list (#84)
Incorrect table rows displayed during project list initialization (#212)
Field
projectnot set for source siteRemoteProjectobjects (#197)Crash from
project_base.htmlin site app if not overriding title block (#216)
Removed
- General
Django debug toolbar workarounds from
project.cssandproject.scss(#215)
- Projectroles
PROJECTROLES_ADMIN_OWNERdeprecation protection: usePROJECTROLES_DEFAULT_ADMIN(#190)
v0.5.0 (2019-04-03)
Added
- Projectroles
Warning when using an unsupported browser (#176)
Setting
PROJECTROLES_BROWSER_WARNINGfor unsupported browser warning (#176)Javascript-safe toggle for
get_setting()template tagID attributes in site containers (#173)
Setting
PROJECTROLES_ALLOW_LOCAL_USERSfor showing and syncing non-LDAP users (#193)Allow synchronizing existing local target users for remote projects (#192)
Allow selecting local users if in local user mode (#192)
RemoteSite.get_url()helperSimple display of links to project on external sites in details page (#182)
- Sodarcache
Create app (#169)
Changed
- General
Upgrade to Bootstrap 4.3.1 and Popper 1.14.7 (#181)
- Projectroles
Improve remote project sync logging (#184, #185)
Rename
PROJECTROLES_ADMIN_OWNERintoPROJECTROLES_DEFAULT_ADMIN(#187)Update login template and
get_login_info()to support local user mode (#192)
Fixed
- Projectroles
Crash in
get_assignment()if called with AnonymousUser (#174)Line breaks in templates breaking
badge-groupelements (#180)User autocomplete for users with no group (#199)
Removed
- General
Deprecated Bootstrap 4 workaround from
project.js(#178)
v0.4.5 (2019-03-06)
Added
- Projectroles
User autocomplete widgets (#51)
Logging in
syncgroupsandsyncremotemanagement commandsPROJECTROLES_DELEGATE_LIMITsetting (#21)
Changed
- General
Upgrade minimum Django version to 1.11.20 (#152)
Use user autocomplete in forms in place of standard widget (#51)
- Filesfolders
Hide parent folder widgets in item creation forms (#159)
- Projectroles
Enable allowing multiple delegates per project (#21)
Fixed
- Filesfolders
File upload wiget error not displayed without Bootstrap 4 workarounds (#164)
- Projectroles
Potential crash in
syncremoteif run as Celery job (#160)
Removed
- General
Old Bootstrap 4 workarounds for django-crispy-forms (#157)
v0.4.4 (2019-02-19)
Changed
- Projectroles
Modify
modifyCellOverflow()to work with non-table containers (#149)Non-Pagedown form textarea height no longer adjusted automatically (#151)
Fixed
- Projectroles
Crash in remote project sync caused by typo in
remoteproject_sync.html(#148)Textarea element CSS override breaking layout in third party components (#151)
v0.4.3 (2019-01-31)
Added
- General
Codacy badge in
README.rst(#140)
- Projectroles
Category and project display name configuration via
SODAR_CONSTANTS(#141)get_display_name()utils function and template tag to retrieveDISPLAY_NAMES(#141)Django admin link warning if taskflowbackend is enabled
Changed
- General
Use
get_display_name()to display category/project type (#141)
- Projectroles
Hide immutable fields in forms (#142)
Rename Django admin link in user dropdown
Fixed
- Projectroles
View access control for categories (#143)
Removed
- General
Redundant
rules.is_superuserpredicates from rules (#138)
- Projectroles
get_project_type()template tag (useget_display_name()instead)Unused template
_roleassignment_import.htmlPROJECT_TYPE_CHOICESfromSODAR_CONSTANTSforce_select_value()helper no longer used in forms (#142)
v0.4.2 (2019-01-25)
Added
- General
Flake8 and Codacy coverage in Travis-CI (#122)
Flake8 in GitLab-CI (#127)
- Projectroles
Automatically pass CSRF token to unsafe Ajax HTTP methods (#116)
Queryset filtering in
ProjectPermissionMixinfrom digestiflow-web (#134)Check for
get_project_filter_key()from digestiflow-web (#134)
Changed
- General
Upgrade minimum Django version to 1.11.18 (#120)
Upgrade Python dependencies (#123)
Update .coveragerc
Upgrade to Bootstrap 4.2.1 (#23)
Upgrade to JQuery 3.3.1 (#23)
General code cleanup
Code formatting with Black (#133)
- Filesfolders
Refactor
BatchEditViewandFileForm.clean()(#128)
- Projectroles
Use
alert-dismissableto dismiss alerts (#13, #130)Update DataTables dependency in
search.htmltemplateRefactor
ProjectModifyMixinandRemoteProjectAPI(#128)Disable
USE_I18Nin example site settings (#117)Refactor
ProjectAccessMixin._get_project()intoget_project()(#134)Rename
BaseAPIViewintoSODARAPIBaseView
- Timeline
Refactor
get_event_description()(#30, #128)
Fixed
- General
Django docs references (#131)
- Projectroles
sodar-list-dropdownlayout broke down with Bootstrap 4.2.1 (#23)TASKFLOW_TEST_MODEnot checked for allowing SODAR Taskflow tests (#126)Typo in
update_remotetimeline event description (#129)Textarea height modification (#125)
Text wrapping in
sodar-list-btnandsodar-list-dropdownwith Bootstrap 4.2.1 (#132)
- Taskflowbackend
TASKFLOW_TEST_MODEnot checked for allowingcleanup()(#126)FlowSubmitExceptionraised instead ofCleanupExceptionincleanup()
Removed
- General
Legacy Python2
super()calls (#118)
- Projectroles
Custom alert dismissal script (#13)
- Example Site App
Example file
test.py
v0.4.1 (2019-01-11)
Added
- General
Travis-CI configuration (#90)
- Adminalerts
Option to display alert to unauthenticated users with
require_auth(#105)
- Projectroles
TaskflowAPIAuthenticationfor handling Taskflow API auth (#47)Handle
GETrequests for Taskflow API views (#47)API version settings
SODAR_API_ALLOWED_VERSIONSandSODAR_API_MEDIA_TYPE(#111)Site app support in
change_plugin_status()get_sodar_constants()helper (#112)
- Taskflowbackend
API logging
Changed
- General
Upgrade minimum Python version requirement to 3.6 (#102)
Update and cleanup Gitlab-CI setup (#85)
Update Chrome Driver for UI tests
Cleanup Chrome setup
Enable site message display in login view (#105)
Cleanup and refactoring for public GitHub release (#90)
Drop support for Ubuntu Jessie and Trusty
Update installation utility scripts (#90)
- Filesfolders
Move inline javascript into
filesfolders.js
- Projectroles
Refactor
BaseTaskflowAPIView(#47)Rename Taskflow specific API views (#104)
Unify template tag names in
projectroles_tagsChange default SODAR API media type into
application/vnd.bihealth.sodar-core+json(#111)Allow importing
SODAR_CONSTANTSinto settings for modification (#112)Move
SODAR_CONSTANTStoconstants.py(#112)
- Timeline
Rename Taskflow specific API views (#104)
Fixed
- Filesfolders
Overwrite check for zip archive upload if unarchiving was unset (#113)
- Projectroles
Potential Django crash from auth failure in Taskflow API views
Timeline description for updating a remote project
Project update with Taskflow failure if description not set (#110)
- Timeline
TaskflowEventStatusSetAPIViewskippingsodar_tokencheck (#109)
Removed
- Filesfolders
Unused dropup app buttons mode in templates (#108)
- Projectroles
Unused arguments in
emailAPIUnused static file
shepherd-theme-default.cssDisabled role importing functionality (#61, pending #17)
Unused dropup app buttons mode in templates (#108)
- Timeline
ProjectEventStatus.get_timestamp()helper
v0.4.0 (2018-12-19)
Added
- General
SODAR_API_DEFAULT_HOSTsetting for server host for API View URLs (sodar#396)
- Bgjobs
Add app from varfish-web (#95)
- Filesfolders
Add app from sodar v0.4.0 (#86)
- Projectroles
Setting
PROJECTROLES_ENABLE_SEARCH(#70)Re-enable “home” link in project breadcrumb (#80)
get_extra_data_link()in ProjectAppPluginPoint for timeline extra data (#6)Allow overriding project class in ProjectAccessMixin
Optional disabling of categories and nesting with
PROJECTROLES_DISABLE_CATEGORIES(#87)Optional hiding of apps from project menus using
PROJECTROLES_HIDE_APP_LINKS(#92)Secure SODAR Taskflow API views with
TASKFLOW_SODAR_SECRET(#46)
- Taskflowbackend
test_modeflag configured withTASKFLOW_TEST_MODEin settings (#67)Submit
sodar_secretfor securing Taskflow API views (#46)
- Timeline
Display of extra data using
{extra-NAME}(see documentation) (#6)
Changed
- General
Improve list button and dropdown styles (#72)
Move pagedown CSS overrrides into
projectroles.cssReduce default textarea height (#96)
- Projectroles
Make sidebar resizeable in CSS (#71)
Disable search if
PROJECTROLES_ENABLE_SEARCHis set False (#70)Allow appending custom items in project breadcrumb with
nav_sub_project_extendblock (#78)Allow replacing project breadcrumb with
nav_sub_projectblock (#79)Disable remote site access if
PROJECTROLES_DISABLE_CATEGORIESis set (#87), pending #76Disable access to invite views for remote projects (#89)
Set “project guest” as the default role for new members (#94)
Make noncritical settings variables optional (#14)
Fixed
- General
Potential inheritance issues in test classes (#74)
LDAP dependency script execution (#75)
- Projectroles
Long words in app names breaking sidebar (#71)
Member modification buttons visible for superuser in remote projects (#73)
Breadcrumb project detail link display issue in
base.html(#77)“None” string displayed for empty project description (#91)
Crash in search from empty project description
v0.3.0 (2018-10-26)
Added
- General
Test config and script for SODAR Taskflow testing
- Adminalerts
Add app based on SODAR v0.3.3 (#27)
TASKFLOW_TARGETSsetting
- Projectroles
RemoteSiteandRemoteProjectmodels (#3)RemoteSiteAppPluginsite plugin (#3)PROJECTROLES_SITE_MODEandPROJECTROLES_TARGET_CREATEsettings (#3)Remote site and project management site app (#3)
Remote project API (#3)
Generic SODAR API base classes
SodarUserMixinfor SODAR user helpers in testsOptional
readmeandsodar_uuidargs for_make_project()in testssyncremotemanagement command for callingRemoteProjectAPI.sync_source_data()get_project_by_uuid()andget_user_by_username()template tagsget_remote_icon()template tag (#3)Predicates in rules for handling remote projects (#3)
ProjectModifyPermissionMixinfor access control for remote projects (#3)is_remote()andget_source_site()helpers in theProjectmodel (#3)Include template
_titlebar_nav.htmlfor additional title bar links
- Taskflowbackend
Add app based on SODAR v0.3.3 (#38)
- Timeline
RemoteSitemodel inapi.get_event_description()(#3)
Changed
- General
Update documentation for v0.3 changes, projectroles usage and fixes to v0.2 docs (#26)
- Adminalerts
Make
ADMINALERTS_PAGINATIONsetting optional
- Projectroles
Allow
LoggedInPermissionMixinto work without a permission object for superusersEnable short/full title selection and remote project icon in
get_project_link()template tagRefactor rules
Disable Taskflow API views if Taskflow backend is not enabled (#37)
DataTables CSS and JS includes loaded in the search template (#45)
- Timeline
Minor refactoring of
api.get_event_description()(#30)
Fixed
- General
Pillow dependency typo in
requirements/base.txt(#33)Login page crash if
AUTH_LDAP*_DOMAIN_PRINTABLEnot found (#43)
- Projectroles
Sidebar create project visible for site apps if URL name was “create” (#36)
Enabling LDAP without a secondary backend caused a crash (#39)
Removed
- General
iRODS specific CSS classes from
projectroles.cssApp content width limit in
projectroles.cssDomain-specific Login JQuery
DataTables CSS and JS includes from base template (#45)
v0.2.1 (2018-09-20)
Changed
- General
Change
omics_uuidfield in all apps’ models tosodar_uuid(sodar#166)
- Projectroles
Rename abstract
OmicsUsermodel intoSODARUser(sodar#166)Rename
OMICS_CONSTANTSintoSODAR_CONSTANTS(sodar#166)Rename the
omics_constant()template tag intosodar_constant()(sodar#166)Rename
omics_urlin sodar_taskflow tests tosodar_url(see sodar_taskflow#36)Rename
shepherd-theme-omics.csstoshepherd-theme-sodar.css(sodar#166)
v0.2.0 (2018-09-19)
Added
- General
example_backend_appfor a minimal backend app exampleBackend app usage example in
example_project_app
- Timeline
Add timeline app based on SODAR v0.3.2 (#2)
App documentation
Changed
- General
Update integration documentation (#1)
Restructure documentation files and filenames for clarity
- Timeline
Update CSS classes and overrides
Rename list views to
list_projectandlist_objectsRename list template to
timeline.htmlRefactor
api.get_event_description()Make
TIMELINE_PAGINATIONoptionalImprove exception messages in
api.add_event()
Fixed
- Timeline
User model access in
timeline.apiMisaligned back button (#4)
Deprecated CSS in main list
- Projectroles
Third party apps not correctly recognized in
get_app_names()
v0.1.0 (2018-09-12)
Added
- General
Create app package for Projectroles and other reusable apps based on SODAR release v0.3.1
example_project_appto aid testing and work as a minimal exampleexample_site_appfor demonstrating site appsSITE_TITLEandSITE_INSTANCE_TITLEsettingsSITE_PACKAGEsetting for explicitly declaring site path for codeDocumentation for integration and development
Separate LDAP config in
install_ldap_dependencies.shandrequirements/ldap.txt
- Projectroles
static_file_exists()andtemplate_exists()helpers in common template tagsAbstract
OmicsUsermodelget_full_name()in abstract OmicsUser modelauth_backends.pyfile for LDAP backends (sodar#132)Versioneer versioning
core_version()in common template tagsCheck for footer content in
include/_footer.htmlExample of the site base template in
projectroles/base_site.htmlExample of project footer in
projectroles/_footer.html
- Userprofile
Add site app
userprofilewith user detailsDisplay user UUID in user profile
Changed
- Projectroles
Move custom modal into
projectroles/_modal.htmlCheck for user.name in user dropdown
Move content block structure and sidebar inside
projectroles/base.htmlMove site title bar into optional include template
projectroles/_site_titlebar.htmlMove search form into optional include template
projectroles/_site_titlebar_search.htmlMake title bar dropdown inclueable as
_site_titlebar_dropdown.htmlTitle bar CSS and layout tweaks
Move
search.jsunder projectrolesMove projectroles specific javascript into
projectroles.jsMove
site_version()into common template tagsMove title bar admin and site app links to user dropdown (sodar#342)
Move project specific CSS into optionally includable
projectroles.cssRefactor and cleanup CSS
Move
set_user_group()intoprojectroles.utilsMove
syncgroupsmanagement command into projectrolesCopy improved multi LDAP backend setup from flowcelltool (sodar#132)
Move LDAP authentication backends into projectroles (sodar#132)
Move
login.htmlinto projectrolesDisplay
SITE_INSTANCE_TITLEin email instead of a hardcoded stringDisplay the first contact in
settings.ADMINSin email footerUse
get_full_name()in email sendingGet site version using
SITE_PACKAGEGet LDAP domain names to login template from settings
Rename custom CSS classes and HTML IDs from
omics-*intosodar-*(sodar#166)Move Shepherd theme CSS files into projectroles
Fixed
- Projectroles
Tests referring to the
filesfoldersapp not included in this projectTestHomeView.test_render()assumed extra SODAR system user was present (see sodar#367)Tour link setup placing
- Userprofile
Missing user name if
namefield not filled inuser_detail.html
Removed
- Projectroles
Deprecated Javascript variables
popupWaitHtmlandpopupNoFilesHtmlUnused template
irods_info.html