Skip to content

Commit

Permalink
Merge branch 'release/1.0.0' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
erikvw committed Jan 21, 2025
2 parents 5b30074 + 65017bf commit 6013584
Show file tree
Hide file tree
Showing 17 changed files with 139 additions and 112 deletions.
2 changes: 1 addition & 1 deletion .coveragerc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[run]
include = edc_locator/*
omit = edc_locator/tests/*,edc_locator/migrations/*
branch = 1
branch = 1
25 changes: 16 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,17 @@ on: [push, pull_request]

jobs:
build:
name: build (Python ${{ matrix.python-version }}, Django ${{ matrix.django-version }})
name: |
build (Python ${{ matrix.python-version }}, Django ${{ matrix.django-version }}, ${{ matrix.database-engine }})
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
python-version: ['3.11', '3.12']
django-version: ['4.2', '5.0', 'dev']
python-version: ['3.12', '3.13']
django-version: ['5.1', 'dev']
database-engine: ["mysql", "postgres"]

exclude:
- python-version: '3.12'
django-version: '4.2'
- python-version: '3.11'
django-version: 'dev'
services:
mysql:
image: mysql:latest
Expand All @@ -28,6 +25,17 @@ jobs:
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
postgres:
image: postgres:latest
env:
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432

steps:
- name: Install pycups and words dependency
Expand Down Expand Up @@ -61,7 +69,6 @@ jobs:
python -m pip install --upgrade pip
python -m pip install -r https://raw.githubusercontent.com/clinicedc/edc/develop/requirements.tests/tox.txt
- name: Tox tests
run: |
tox -v
Expand Down
24 changes: 13 additions & 11 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,20 @@ exclude: tests/etc/user-*

repos:
- repo: https://github.com/PyCQA/bandit
rev: 1.7.7
rev: 1.8.2
hooks:
- id: bandit
args:
- "-x *test*.py"

- repo: https://github.com/psf/black
rev: 24.2.0
rev: 24.10.0
hooks:
- id: black
language_version: python3.11
language_version: python3.12

- repo: https://github.com/pycqa/flake8
rev: 7.0.0
rev: 7.1.1
hooks:
- id: flake8
args:
Expand All @@ -28,22 +28,24 @@ repos:
- id: isort

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
rev: v5.0.0
hooks:
- id: requirements-txt-fixer
files: requirements/.*\.txt$
- id: trailing-whitespace
- id: check-added-large-files
- id: fix-byte-order-marker
- id: check-docstring-first
- id: check-executables-have-shebangs
- id: check-merge-conflict
- id: check-toml
- id: check-yaml
- id: debug-statements
- id: detect-private-key
- id: check-toml
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: requirements-txt-fixer
files: requirements/.*\.txt$
- id: trailing-whitespace

- repo: https://github.com/adrienverge/yamllint
rev: v1.34.0
rev: v1.35.1
hooks:
- id: yamllint
args:
Expand Down
1 change: 0 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -337,4 +337,3 @@ proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

13 changes: 8 additions & 5 deletions edc_locator/model_mixins/subject_contact_fields_mixin.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@ class SubjectContactFieldsMixin(models.Model):
max_length=25,
choices=YES_NO,
verbose_name=format_html(
"Has the participant given permission <b>to contacted by telephone "
"or cell</b> by study staff for follow-up purposes during the study?"
"Has the participant given permission <b>{}</b> "
"by study staff for follow-up purposes during the study?",
"to contacted by telephone or cell",
),
)

Expand All @@ -20,7 +21,8 @@ class SubjectContactFieldsMixin(models.Model):
choices=YES_NO,
verbose_name=format_html(
"Has the participant given permission for study "
"staff <b>to make home visits</b> for follow-up purposes?"
"staff <b>{}</b> for follow-up purposes?",
"to make home visits",
),
)

Expand All @@ -30,8 +32,9 @@ class SubjectContactFieldsMixin(models.Model):
null=True,
blank=False,
verbose_name=format_html(
"Has the participant given permission <b>to be contacted by SMS</b> "
"by study staff for follow-up purposes during the study?"
"Has the participant given permission <b>{}</b> "
"by study staff for follow-up purposes during the study?",
"to be contacted by SMS",
),
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ class SubjectIndirectContactFieldsMixin(models.Model):
max_length=25,
choices=YES_NO,
verbose_name=format_html(
"Has the participant given permission for study staff "
"<b>to contact anyone else</b> for follow-up purposes during the study?"
"{} <b>{}</b> {}?",
"Has the participant given permission for study staff",
"to contact anyone else",
"for follow-up purposes during the study",
),
help_text="For example a partner, spouse, family member, neighbour ...",
)
Expand Down
7 changes: 4 additions & 3 deletions edc_locator/model_mixins/subject_work_fields_mixin.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@ class SubjectWorkFieldsMixin(models.Model):
max_length=25,
choices=YES_NO,
verbose_name=format_html(
"Has the participant given permission to be contacted "
"<b>at work</b>, by telephone or cell, by study staff for follow-up "
"purposes during the study?"
"{} <b>{}</b>, {} ",
"Has the participant given permission to be contacted",
"at work",
"by telephone or cell, by study staff for follow-up purposes during the study?",
),
)

Expand Down
10 changes: 7 additions & 3 deletions edc_locator/modeladmin_mixins.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ def subject(self, obj):
age_in_years=age(born=consent.dob, reference_dt=get_utcnow()).years,
initials=consent.initials,
)
return render_to_string("changelist_locator_subject.html", context=context)
return render_to_string("edc_locator/changelist_locator_subject.html", context=context)

@admin.display(description="Contact Rules", ordering="may_call")
def contact_rules(self, obj):
Expand All @@ -89,7 +89,9 @@ def contact_rules(self, obj):
YES=YES,
NO=NO,
)
return render_to_string("changelist_locator_contact_rules.html", context=context)
return render_to_string(
"edc_locator/changelist_locator_contact_rules.html", context=context
)

@admin.display(description="Contacts")
def contacts(self, obj):
Expand All @@ -99,4 +101,6 @@ def contacts(self, obj):
subject_phone=obj.subject_phone,
subject_phone_alt=obj.subject_phone_alt,
)
return render_to_string("changelist_locator_contacts.html", context=context)
return render_to_string(
"edc_locator/changelist_locator_contacts.html", context=context
)
2 changes: 1 addition & 1 deletion edc_locator/tests/holidays.csv
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ local_date,label,country
2017-10-02,Public Holiday,botswana
2017-12-25,Christmas Day,botswana
2017-12-26,Boxing Day,botswana
2017-01-01,New Year,botswana
2017-01-01,New Year,botswana
56 changes: 56 additions & 0 deletions edc_locator/tests/test_settings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import sys
from pathlib import Path

from edc_test_settings.default_test_settings import DefaultTestSettings

app_name = "edc_locator"
base_dir = Path(__file__).parent.parent.parent
print(base_dir)

project_settings = DefaultTestSettings(
calling_file=__file__,
template_dirs=[str(base_dir / app_name / "tests" / "templates")],
BASE_DIR=base_dir,
APP_NAME=app_name,
ETC_DIR=str(base_dir / app_name / "tests" / "etc"),
SILENCED_SYSTEM_CHECKS=[
"sites.E101",
"edc_navbar.E002",
"edc_navbar.E003",
"edc_consent.E001",
],
SUBJECT_VISIT_MODEL="edc_visit_tracking.subjectvisit",
EDC_SITES_REGISTER_DEFAULT=True,
INSTALLED_APPS=[
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"django.contrib.sites",
"simple_history",
"django_crypto_fields.apps.AppConfig",
"edc_action_item.apps.AppConfig",
"edc_appointment.apps.AppConfig",
"edc_auth.apps.AppConfig",
"edc_data_manager.apps.AppConfig",
"edc_device.apps.AppConfig",
"edc_form_runners.apps.AppConfig",
"edc_identifier.apps.AppConfig",
"edc_lab.apps.AppConfig",
"edc_label.apps.AppConfig",
"edc_locator.apps.AppConfig",
"edc_metadata.apps.AppConfig",
"edc_notification.apps.AppConfig",
"edc_registration.apps.AppConfig",
"edc_sites.apps.AppConfig",
"edc_visit_schedule.apps.AppConfig",
"edc_visit_tracking.apps.AppConfig",
"edc_appconfig.apps.AppConfig",
],
add_dashboard_middleware=True,
).settings

for k, v in project_settings.items():
setattr(sys.modules[__name__], k, v)
39 changes: 25 additions & 14 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
[build-system]
requires = ["setuptools>=60", "setuptools-scm>=8.0"]
build-backend = "setuptools.build_meta"

[tool.setuptools_scm]
version_file="_version.py"
version_file = "_version.py"

[tool.black]
line-length = 95
target-version = ["py311"]
target-version = ["py312"]
extend-exclude = '''^(.*\/)*\b(migrations)\b($|\/.*$)'''

[tool.isort]
profile = "black"
py_version = "311"
py_version = "312"
skip = [".tox", ".eggs", "migrations"]

[tool.coverage.run]
Expand All @@ -35,35 +36,33 @@ exclude_lines = [
legacy_tox_ini = """
[tox]
envlist =
py{311}-dj{42,50},
py{312}-dj{50,dev},
py{312,313}-dj{51,dev},
lint
pre-commit
isolated_build = true
[gh-actions]
python =
3.11: py311
3.12: py312, lint
3.12: py312, lint, pre-commit
3.13: py313
[gh-actions:env]
DJANGO =
4.2: dj42
5.0: dj50
dev: djdev, lint
5.1: dj51
dev: djdev, lint, pre-commit
[testenv]
deps =
-r https://raw.githubusercontent.com/clinicedc/edc/develop/requirements.tests/tox.txt
-r https://raw.githubusercontent.com/clinicedc/edc/develop/requirements.tests/test_utils.txt
-r https://raw.githubusercontent.com/clinicedc/edc/develop/requirements.tests/edc.txt
-r https://raw.githubusercontent.com/clinicedc/edc/develop/requirements.tests/third_party_dev.txt
dj42: Django>=4.2,<5.0
dj50: Django>=5.0
dj51: Django>=5.1,<5.2
djdev: https://github.com/django/django/tarball/main
commands =
pip install -U pip coverage[toml]
pip install -U pip
python --version
pip --version
pip freeze
coverage run -a runtests.py
Expand All @@ -72,7 +71,19 @@ commands =
[testenv:lint]
deps = -r https://raw.githubusercontent.com/clinicedc/edc/develop/requirements.tests/lint.txt
commands =
python --version
pip --version
pip freeze
isort --profile=black --check --diff .
black --check --diff .
flake8 .
[testenv:pre-commit]
deps = pre-commit
commands =
python --version
pip --version
pip freeze
pre-commit autoupdate
pre-commit run --all-files
"""
Loading

0 comments on commit 6013584

Please sign in to comment.