SODAR Core Changelog
Changelog for the SODAR Core Django app package. Loosely follows the Keep a Changelog guidelines.
v1.0.4 (2025-01-03)
Added
- Projectroles
Check mode in
cleanappsettings
command (#1520)Support for all scopes in
cleanappsettings
undefined setting cleanup (#1526)
- Timeline
get_event_name()
template tag (#1524)
Changed
- Projectroles
Optimize
cleanappsettings
database 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-content
CSS 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
syncremote
management command (#1518)
Fixed
- Projectroles
Deprecated
SODAR_API_*
settings required in tests (#1495)Add workaround to
ProjectInviteCreateView
returning 404 with category and query string (#1510)Broken tour help attachments in
ProjectRoleView
(#1512)RoleAssignmentCreateView
crash as delegate with promoting and delegate limit reached (#1515)syncremote
command crash from legacy API media type and version (#1517)
v1.0.2 (2024-09-09)
Added
- General
python3.11-gdbm
dependency (#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_retry
warning (#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
BatchUpdateRolesMixin
removal breaking tests in other repos (#1464)
- Timeline
Deprecated link dict
blank
field 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_alert
app setting (#415)
- Filesfolders
Optional pagination for REST API list views (#1313)
- Projectroles
full_title
field inProjectSerializer
and API views (#1314)Custom password argument in
createdevusers
management command (#1393)PluginObjectLink
data class in plugins (#1343)PluginSearchResult
data class in plugins (#1399)Target user
sodar_uuid
updating in remote sync (#1316, #1317)Update local user data in remote sync (#1407)
USER
scope settings in remote sync (#1322)AppLinkContent
utility class (#1380, #1381)checkusers
management command (#1410)SODARPageNumberPagination
pagination 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)
SODARUserAdditionalEmail
model (#874)is_source_site()
andis_target_site()
rule predicatessettings_link
kwarg insend_generic_email()
(#1418)addremotesite
andsyncgroups
command tests (#352)RemoteSite.owner_modifiable
field (#817)assert_displayed()
UI test helperRemoteProjectAccessAjaxView
Ajax view (#1358)Remote project access status updating in project detail view (#1358)
SidebarContentAjaxView
for sidebar and project dropdown content retrieval (#1366)UserDropdownContentAjaxView
for user dropdown content retrieval (#1366, #1392)SODARUser.get_auth_type()
helper (#1367)ProjectInvite.is_ldap()
helper (#1367)AppSettingAPI.is_set()
helper (#1450)checks
module for Django checks (#504)Django check for enabled auth methods (#1451)
- Timeline
sodar_uuid
field inTimelineEventObjectRef
model (#1415)REST API views (#1350)
get_project()
helpers inTimelineEvent
andTimelineEventObjectRef
(#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_BASE
as a Django setting (#1410)Change
ATOMIC_REQUESTS
recommendation 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
AppSettingAPI
app_name
arguments toplugin_name
(#1285)Default password in
createdevusers
management command (#1390)Deprecate
local
in app settings, useglobal
instead (#1319)Enforce optional handling of app settings
global
attributes (#1395)Expect
get_object_link()
plugin methods to returnPluginObjectLink
(#1343)Deprecate returning
dict
fromget_object_link()
(#1343)Expect
search()
plugin methods to return list ofPluginSearchResult
objects (#1399)Deprecate returning
dict
fromsearch()
(#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
AppSetting
objects on remote sync update (#1409)Enforce project and site uniqueness in
RemoteProject
model (#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 forsynccache
in debug mode (#1375)
- Timeline
Update
get_object_link()
usage forPluginObjectLink
return 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.rst
badge rendering (#1402)
- Filesfolders
OpenAPI
generateschema
errors 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)
ProjectStarringAjaxView
creating redundant database objects (#1416)addremotesite
crash inTimelineAPI.add_event()
(#1425)addremotesite
allows 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
generateschema
compatibility (#1440, #1442)ProjectCreateView
allowsPOST
with disabled target project creation (#1448)Plugin existence not explicitly checked in
AppSettingAPI.set()
update query (#1452)search_advanced.html
header layout (#1453)
- Sodarcache
REST API set view
app_name
incorrectly set (#1405)
- Timeline
OpenAPI
generateschema
warnings (#1442)
Removed
- General
SAML support (#1368)
Python v3.8 support (#1382)
- Projectroles
PROJECTROLES_HIDE_APP_LINKS
setting (#1143)CORE_API_*
Django settings (#1278)Project starring timeline event creation (#1294)
user_email_additional
app 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
LoggedInPermissionMixin
login 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
ProjectDetailView
from 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_name
crash 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_DEBUG
Django setting
- Projectroles
_project_badge.html
template (#1300)InvalidFormMixin
helper mixin (#1310)Temporary
user_name
param in remote sync app settings (#1320)User login/logout logging signals (#1326)
createdevusers
management 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_site
plugin (#1332)
- Projectroles
Prevent updating global settings for remote projects in
AppSettingAPI
(#1318)Change
project_star
app 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
tokens
plugin (#1334)
Fixed
- Appalerts
Missing URL patterns in app plugin (#1331)
- Projectroles
Browser-specific
sodar-btn-submit-once
spinner 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)RoleAssignment
provided tovalidate_form_app_settings()
inProjectForm
(#1308)PROJECT_USER
app 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.html
template (#1300)
v0.13.2 (2023-09-21)
Added
- General
Release cleanup issue template (#1289)
Use
sodar-btn-submit-once
in object create forms (#1233)
- Projectroles
queryset_project_field
override inAPIProjectContextMixin
(#1273)sodar-btn-submit-once
class for forms (#1233)
Changed
- General
Refactor and cleanup permission tests (#1267)
Enable setting
ADMINS
Django 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
email
module with emptyADMINS
setting (#1287)
- Timeline
Ajax view permission test issues (#1267)
v0.13.1 (2023-08-30)
Added
- General
get_chromedriver_url.sh
utility helper (#1255)
- Projectroles
TestSiteAppPermissionBase
base test class (#1236)full_title
arg inProject.get_log_title()
(#1238)MultipleFileInput
andMultipleFileField
form helpers (#1226)syncmodifyapi
project limiting option (#1263)
Changed
- General
Update
django-plugins
anddrf-keyed-list
dev 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
syncmodifyapi
project logging (#1228)Do not exit
syncmodifyapi
on failure (#1229)Simplify
syncmodifyapi
project querying (#1264)Update
get_role_display_name()
to receiveRole
as 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
appalerts
dependency 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_star
app 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)RoleMixin
withinit_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_USER
scope app settings (#1128, #1129)SITE
scope for app settings (#1184)Periodic remote project sync (#813)
- Siteinfo
Add
LDAP_ALT_DOMAINS
to 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
ProjectUserTag
project 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
Project
model 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.project
related name tolocal_roles
(#1175)Replace
PROJECTROLES_HIDE_APP_LINKS
withPROJECTROLES_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.5
crash 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)
Project
API methods returning unexpected multipleRoleAssignment
objects for user (#710)ProjectListAPIView
failure with inheritance and public guest access (#1176)Incorrect icon displayed in
remoteproject_update.html
(#1179)Long
Project.full_title
breakingremoteproject_update.html
layout (#1188)LDAP_ALT_DOMAINS
check not working inget_invite_type()
(#1217)
Removed
- General
User model tests from
example_site
(#1149)
- Projectroles
Deprecated
AppSettingAPI
methods (#1039)ProjectUserTag
model (#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_data
predicate in rules (#369)cleanup_kwargs
inassert_response_api()
API test helper (#1088)is_superuser
inSODARUserSerializer
(#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_uuid
field inProjectEventStatus
(#1112)
Changed
- General
Rename incorrectly protected mixin methods (#1020)
Upgrade
checkout
andsetup-python
GitHub actions (#1091)Upgrade minimum Django version to v3.2.17 (#1113)
- Projectroles
Rename
AppSettingAPI
methods (#539, #1040)Deprecate old
AppSettingAPI
method names (#539, #1039)Hide apps in
PROJECTROLES_HIDE_APP_LINKS
from 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_testcase
module (#1041)
- Timeline
Deprecated get_current_status() method (#1015)
v0.11.1 (2023-01-09)
Added
- Projectroles
Allow enabling project breadcrumb scrolling (#1037)
PROJECTROLES_BREADCRUMB_STICKY
Django setting (#1037)ProjectAccessMixin
external 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-get
instead ofapt
in CI (#1030)Incorrect branch in
README.rst
Coveralls link (#1031)Postgres role errors in GitHub Actions CI (#1033)
install_postgres.sh
breaking 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_lookup
intimeline_site.html
(#1076)
Removed
- General
Unused
about.html
template (#1029)
- Projectroles
Unused
taskflow_testcase
module (#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_API
Django setting (#387)PROJECTROLES_MODIFY_API_APPS
Django setting (#387)syncmodifyapi
management command (#387)SODARBaseAjaxMixin
withSODARBaseAjaxView
functionality (#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_url
form label (#1016)
- Projectroles
Replace Taskflow specific code with project modifying API calls (#387)
Rename
revoke_failed_invite()
torevoke_invite()
Do not return
submit_status
from project API views (#971)Remove required
owner
argument 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_status
field 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_HOST
to 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
ProjectListRoleAjaxView
Refactor sidebar toggling (#970)
Make
request
optional 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
ProjectSearchResultsView
andsearch_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_kwargs
arg 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_RELEASE
in 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
description
optional for_make_event_status()
(#890)
Fixed
- Projectroles
Project list JQuery loaded in project detail view (#914)
sodar-modal-wait
layout (#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
ManagementCommandLogger
withLOGGING_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()
toTimelineAPIMixin
Display 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-input
partially 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
ManagementCommandLogger
crash 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_LEVEL
setting in example configs (#822)ProfilingMiddleware
for cProfile profiling in debug more (#839)PROJECTROLES_ENABLE_PROFILING
setting for profiling (#839)
- Projectroles
cleanup_method
arg forassert_response()
(#823)Timeline object and data helpers in site and backend plugins (#832)
ManagementCommandLogger
helper (#844)get_email_user()
helper (#845)Project type restriction in API views with
project_type
attribute (#850)Project.has_public_children
field (#851)Email sending for additional user emails (#861)
user_email_additional
app setting (#861)email.get_user_addr()
helper (#861)
Changed
- General
Upgrade to Chromedriver v96 (#818, #847, #852)
Use
LOGGING_LEVEL
in 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-container
failing 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_children
instead (#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
exact
kwarg forassert_element_count()
in UI tests (#798)Custom email header and footer (#789)
PROJECTROLES_EMAIL_HEADER
andPROJECTROLES_EMAIL_FOOTER
settings (#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-container
misalignment (#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_APPS
andLOGGING_FILE_PATH
settings 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_PLUGINS
inCORE_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
admin
andmodels
modules
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-storage
URL 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_COLUMNS
setting (#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_INTERVAL
setting (#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_CATEGORIES
setting 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_uuid
match 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
geticons
management command for retrieving Iconify icons (#54)spin
class inprojectroles.css
for spinning icon support (#54)Optional public guest access for projects (#574)
public_guest_access
andset_public()
inProject
model (#574)Enable allowing anonymous access to site (#574)
PROJECTROLES_ALLOW_ANONYMOUS
site setting (#574)is_allowed_anonymous
predicate inrules
(#574)site_app_processor
incontext_processors
(#574)get_statistics()
inSiteAppPluginPoint
info_settings
in app plugins (#671)plugin_type
argument 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
master
branch tomain
Use 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
superuser
value toLiveUserMixin._make_user()
Include
select2
CSS locally (#457)Refactor
cleanappsettings
(#673)
- Siteinfo
Tabbed layout in site info view
- Timeline
Make
project
anduser
fields inProjectEvent
optional (#119, #668)Modify signatures of
get_object_url()
andget_object_link()
helpers (#668)Allow custom
INIT
status 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_LIMIT
setting (#676)cleanappsettings
deleting defined app settings (#673)
- Timeline
Double status added when calling
add_event()
withINIT
type (#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 fromProject
model (#620)
v0.9.1 (2021-03-05)
Added
- Projectroles
Inline head include from environment variables in base template (#639)
req_kwargs
argument 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_uuid
inSODARNestedListSerializer
(#633)Rename and refactor
LocalUserForm
anduser_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.4
missing 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
HelloExampleProjectAPIView
inexample_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 forProject
modelRemote sync for non-owner category members (#502)
setting_delete()
function toAppSettingAPI
(#538)cleanappsettings
management command (#374)exclude_inherited
argument inProject.get_delegates()
(#595)Value options for app settings of type
STRING
andINTEGER
(#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)
batchupdateroles
management 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_USER
scope 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
TARGET
site (#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_url
override tomodify_assignment()
Rename
ProjectSearchResultsView
and its template (#609)Implement
get_full_title()
asProject.full_title
field (#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
forms
andserializers
Delegate 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_url
override not working ifrequest
object 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
SODARUser
model (#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-detail
links (#578)
Removed
- General
Unused
Pillow
dependency (#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-button
CSS 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
AppSetting
incompatible withPROJECT_USER
scope 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
parent
forced to wrong value if user lacks role in parent category (#558)Invalid
app_name
not 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-custom
for custom project list items (#525)
Fixed
- Projectroles
CSS padding issue with
sodar-list-btn
and 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
SODARAPIObjectInProjectPermissions
base 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.TestAPIViewsBase
for API view testing (#48)SODARAPIPermissionTestMixin
for API view permission testsNew helper methods in
SODARAPIViewTestMixin
Provide live server URL for Taskflow in
TestTaskflowBase.request_data
(#479)TestTaskflowAPIBase
for 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)
SODARForm
andSODARModelForm
base classes for formsEnable retrieving flat recursive list of children objects in
Project.get_children()
Support for
data
in 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.rst
Use
SODARForm
andSODARModelForm
base classes in forms
- Projectroles
Suppress peer site removal logging if nothing was removed (#478)
Refactor
SODARCoreAPIBaseView
intoSODARCoreAPIBaseMixin
(#461)Allow providing single user to
assert_response()
in permission tests (#474)Move
SODARAPIViewTestMixin
intotest_views_api
and rename (#471)Move
KnoxAuthMixin
functionality intoSODARAPIViewTestMixin
get_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
synctaskflow
management command and add logging
- Timeline
Display app for categories (#447)
Fixed
- General
Duplicate
contributing.rst
redirection file in docs (#481).tox
not ignored inblack.sh
Coverage 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_status
during project creationMake
test_widget_user_options()
more reliable (#253)Missing permission check by role type in
RoleAssignmentDeleteView.post()
(#492)Unordered queryset warnings from the
User
model (#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
ImproperlyConfigured
for missing parameters inProjectAccessMixin
(#516)
- Timeline
CSS issues with Bootstrap 4.4.1 (#460)
Removed
- Projectroles
SODARAPIBaseView
base class, replaced by API view mixins (#461)KnoxAuthMixin
from view testsget_selectable_users()
fromforms
Redundant render/redirect helpers from
TestPermissionBase
: useassert_response()
instead (#484)APIPermissionMixin
for API views: use base API/Ajax view classes instead (#467)is_app_hidden()
fromprojectroles_tags
v0.7.2 (2020-01-31)
Added
- Projectroles
custom_order
argument inget_active_plugins()
(#431)Enable ordering custom project list columns in project app plugin (#427)
SODARCoreAPIBaseView
base API view class for internal SODAR Core apps (#442)API version enforcing in
RemoteProjectsSyncView
andsyncremote.py
(#444)Allow extra keyword arguments in
get_backend_api()
(#397)Example usage of
get_backend_api()
extra kwargs inexample_backend_app
(#397)SODARUserChoiceField
andget_user_widget()
for user selection in forms (#455)Setting
reply-to
headers for role change and invite emails (#446)No reply note and related
PROJECTROLES_EMAIL_SENDER_REPLY
setting (#446)Display hidden project app settings to superusers (#424)
- Sodarcache
Allow limiting
deletecache
to a specific project (#448)
Changed
- General
Upgrade minimum Django version to 1.11.27
Base
RemoteProjectGetAPIView
onSODARCoreAPIBaseView
(#442)Upgrade to Chromedriver v80 (#510)
- Bgjobs
Make
specialize_job()
more robust (#456)
- Projectroles
Accept null value for
AppSetting.value_json
(#426)Use
PluginContextMixin
inProjectContextMixin
(#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
SODARUserAutocompleteWidget
andSODARUserRedirectWidget
(#455)Disable ownership transfer link if owner is the only project user (#454)
Fixed
- Projectroles
Potential crash in
_project_header.html
with 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)ProjectPermissionMixin
query 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
TaskflowAPI
initialization
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_attrs
parameter 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
TestUIBase
vars (#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
INACTIVE
alert 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.html
not 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_TOOLBAR
setting for local development (#349)local_target2.py
config for peer remote site development (#200)
- Adminalerts
Activate/suspend button in alert list (#42)
- Bgjobs
Pagination for background job list (#335)
BGJOBS_PAGINATION
Django setting (#335)
- Projectroles
get_backend_include()
common template tag (#261)css_url
member 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
PEER
sites 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
addremotesite
for 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)
REVOKED
status 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
CurrentUserFormMixin
instead 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
ProjectPermissionMixin
on 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.name
Remote sync of parent category roles could fail with multiple subprojects
RemoteProject
modifications 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)
ProjectSettingMixin
fromprojectoles.tests.test_views
(#357)
v0.6.2 (2019-06-21)
Added
- General
Badges for Readthedocs documentation and Zenodo DOI (#274)
- Bgjobs
BackgroundJobFactory
for 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_json
field (#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_COLUMNS
to 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_GROUP
inSODAR_CONSTANTS
(#251)Make pagedown textarea element resizeable and increase minimum height (#273)
- Sodarcache
Handle and log raised exceptions in
synccache
management 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_settings
field in project plugins (#16)Optional
label
key 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
--project
argument for thesynccache
command (#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_settings
module toapp_settings
(#225)App settings API updated to support project and user settings (#225)
Write an empty dict for
app_settings
by 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
user
argument inProjectAppPlugin.update_cache()
(#203)Migration for missing
RemoteProject
foreign keys (#197)
- Sodarcache
API logging (#207)
Indexing of identifying fields (#218)
Changed
- General
Extend
projectroles/base.html
for all site app templates, update docs (#217)Use projectroles error templates on the example site (#210)
- Sodarcache
Make
user
field optional in models and API (#204)Rename app configuration into
SodarcacheConfig
to follow naming conventions (#202)Rename
updatecache
management 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
project
not set for source siteRemoteProject
objects (#197)Crash from
project_base.html
in site app if not overriding title block (#216)
Removed
- General
Django debug toolbar workarounds from
project.css
andproject.scss
(#215)
- Projectroles
PROJECTROLES_ADMIN_OWNER
deprecation protection: usePROJECTROLES_DEFAULT_ADMIN
(#190)
v0.5.0 (2019-04-03)
Added
- Projectroles
Warning when using an unsupported browser (#176)
Setting
PROJECTROLES_BROWSER_WARNING
for unsupported browser warning (#176)Javascript-safe toggle for
get_setting()
template tagID attributes in site containers (#173)
Setting
PROJECTROLES_ALLOW_LOCAL_USERS
for 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_OWNER
intoPROJECTROLES_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-group
elements (#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
syncgroups
andsyncremote
management commandsPROJECTROLES_DELEGATE_LIMIT
setting (#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
syncremote
if 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_superuser
predicates from rules (#138)
- Projectroles
get_project_type()
template tag (useget_display_name()
instead)Unused template
_roleassignment_import.html
PROJECT_TYPE_CHOICES
fromSODAR_CONSTANTS
force_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
ProjectPermissionMixin
from 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
BatchEditView
andFileForm.clean()
(#128)
- Projectroles
Use
alert-dismissable
to dismiss alerts (#13, #130)Update DataTables dependency in
search.html
templateRefactor
ProjectModifyMixin
andRemoteProjectAPI
(#128)Disable
USE_I18N
in example site settings (#117)Refactor
ProjectAccessMixin._get_project()
intoget_project()
(#134)Rename
BaseAPIView
intoSODARAPIBaseView
- Timeline
Refactor
get_event_description()
(#30, #128)
Fixed
- General
Django docs references (#131)
- Projectroles
sodar-list-dropdown
layout broke down with Bootstrap 4.2.1 (#23)TASKFLOW_TEST_MODE
not checked for allowing SODAR Taskflow tests (#126)Typo in
update_remote
timeline event description (#129)Textarea height modification (#125)
Text wrapping in
sodar-list-btn
andsodar-list-dropdown
with Bootstrap 4.2.1 (#132)
- Taskflowbackend
TASKFLOW_TEST_MODE
not checked for allowingcleanup()
(#126)FlowSubmitException
raised instead ofCleanupException
incleanup()
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
TaskflowAPIAuthentication
for handling Taskflow API auth (#47)Handle
GET
requests for Taskflow API views (#47)API version settings
SODAR_API_ALLOWED_VERSIONS
andSODAR_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_tags
Change default SODAR API media type into
application/vnd.bihealth.sodar-core+json
(#111)Allow importing
SODAR_CONSTANTS
into settings for modification (#112)Move
SODAR_CONSTANTS
toconstants.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
TaskflowEventStatusSetAPIView
skippingsodar_token
check (#109)
Removed
- Filesfolders
Unused dropup app buttons mode in templates (#108)
- Projectroles
Unused arguments in
email
APIUnused static file
shepherd-theme-default.css
Disabled 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_HOST
setting 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_mode
flag configured withTASKFLOW_TEST_MODE
in settings (#67)Submit
sodar_secret
for 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.css
Reduce default textarea height (#96)
- Projectroles
Make sidebar resizeable in CSS (#71)
Disable search if
PROJECTROLES_ENABLE_SEARCH
is set False (#70)Allow appending custom items in project breadcrumb with
nav_sub_project_extend
block (#78)Allow replacing project breadcrumb with
nav_sub_project
block (#79)Disable remote site access if
PROJECTROLES_DISABLE_CATEGORIES
is 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_TARGETS
setting
- Projectroles
RemoteSite
andRemoteProject
models (#3)RemoteSiteAppPlugin
site plugin (#3)PROJECTROLES_SITE_MODE
andPROJECTROLES_TARGET_CREATE
settings (#3)Remote site and project management site app (#3)
Remote project API (#3)
Generic SODAR API base classes
SodarUserMixin
for SODAR user helpers in testsOptional
readme
andsodar_uuid
args for_make_project()
in testssyncremote
management 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)
ProjectModifyPermissionMixin
for access control for remote projects (#3)is_remote()
andget_source_site()
helpers in theProject
model (#3)Include template
_titlebar_nav.html
for additional title bar links
- Taskflowbackend
Add app based on SODAR v0.3.3 (#38)
- Timeline
RemoteSite
model 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_PAGINATION
setting optional
- Projectroles
Allow
LoggedInPermissionMixin
to 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_PRINTABLE
not 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.css
App content width limit in
projectroles.css
Domain-specific Login JQuery
DataTables CSS and JS includes from base template (#45)
v0.2.1 (2018-09-20)
Changed
- General
Change
omics_uuid
field in all apps’ models tosodar_uuid
(sodar#166)
- Projectroles
Rename abstract
OmicsUser
model intoSODARUser
(sodar#166)Rename
OMICS_CONSTANTS
intoSODAR_CONSTANTS
(sodar#166)Rename the
omics_constant()
template tag intosodar_constant()
(sodar#166)Rename
omics_url
in sodar_taskflow tests tosodar_url
(see sodar_taskflow#36)Rename
shepherd-theme-omics.css
toshepherd-theme-sodar.css
(sodar#166)
v0.2.0 (2018-09-19)
Added
- General
example_backend_app
for 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_project
andlist_objects
Rename list template to
timeline.html
Refactor
api.get_event_description()
Make
TIMELINE_PAGINATION
optionalImprove exception messages in
api.add_event()
Fixed
- Timeline
User model access in
timeline.api
Misaligned 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_app
to aid testing and work as a minimal exampleexample_site_app
for demonstrating site appsSITE_TITLE
andSITE_INSTANCE_TITLE
settingsSITE_PACKAGE
setting for explicitly declaring site path for codeDocumentation for integration and development
Separate LDAP config in
install_ldap_dependencies.sh
andrequirements/ldap.txt
- Projectroles
static_file_exists()
andtemplate_exists()
helpers in common template tagsAbstract
OmicsUser
modelget_full_name()
in abstract OmicsUser modelauth_backends.py
file for LDAP backends (sodar#132)Versioneer versioning
core_version()
in common template tagsCheck for footer content in
include/_footer.html
Example of the site base template in
projectroles/base_site.html
Example of project footer in
projectroles/_footer.html
- Userprofile
Add site app
userprofile
with user detailsDisplay user UUID in user profile
Changed
- Projectroles
Move custom modal into
projectroles/_modal.html
Check for user.name in user dropdown
Move content block structure and sidebar inside
projectroles/base.html
Move site title bar into optional include template
projectroles/_site_titlebar.html
Move search form into optional include template
projectroles/_site_titlebar_search.html
Make title bar dropdown inclueable as
_site_titlebar_dropdown.html
Title bar CSS and layout tweaks
Move
search.js
under projectrolesMove projectroles specific javascript into
projectroles.js
Move
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.css
Refactor and cleanup CSS
Move
set_user_group()
intoprojectroles.utils
Move
syncgroups
management command into projectrolesCopy improved multi LDAP backend setup from flowcelltool (sodar#132)
Move LDAP authentication backends into projectroles (sodar#132)
Move
login.html
into projectrolesDisplay
SITE_INSTANCE_TITLE
in email instead of a hardcoded stringDisplay the first contact in
settings.ADMINS
in email footerUse
get_full_name()
in email sendingGet site version using
SITE_PACKAGE
Get 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
filesfolders
app 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
name
field not filled inuser_detail.html
Removed
- Projectroles
Deprecated Javascript variables
popupWaitHtml
andpopupNoFilesHtml
Unused template
irods_info.html