Skip to content

Commit 09ef733

Browse files
committed
Refactor forms and views for federated site management; add site_id to URL context
1 parent ccd5c20 commit 09ef733

File tree

4 files changed

+18
-16
lines changed

4 files changed

+18
-16
lines changed

physionet-django/console/forms.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,11 +1088,11 @@ def __init__(self, *args, **kwargs):
10881088
def clean_site_identifier(self):
10891089
from search.models import FederatedSite
10901090
site_identifier = self.cleaned_data['site_identifier']
1091-
1091+
10921092
# If editing, allow the current identifier
10931093
if self.site_instance and self.site_instance.site_identifier == site_identifier:
10941094
return site_identifier
1095-
1095+
10961096
# Check if identifier already exists
10971097
if FederatedSite.objects.filter(site_identifier=site_identifier).exists():
10981098
raise forms.ValidationError('A site with this identifier already exists.')

physionet-django/console/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@
199199
'news_slug': 'cloud-migration',
200200
'version': '1.0',
201201
'training_slug': 'world-101-introduction-to-continents-and-countries',
202+
'site_id': 1,
202203
}
203204
TEST_CASES = {
204205
'published_projects_by_slug': {

physionet-django/console/views.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3717,9 +3717,9 @@ def federated_sites(request):
37173717
List all federated sites with their sync status
37183718
"""
37193719
from search.models import FederatedSite, FederationSyncLog
3720-
3720+
37213721
sites = FederatedSite.objects.all().order_by('site_name')
3722-
3722+
37233723
# Get latest sync log for each site
37243724
sites_with_logs = []
37253725
for site in sites:
@@ -3728,7 +3728,7 @@ def federated_sites(request):
37283728
'site': site,
37293729
'latest_log': latest_log,
37303730
})
3731-
3731+
37323732
return render(request, 'console/federated_sites.html', {
37333733
'sites_with_logs': sites_with_logs,
37343734
})
@@ -3740,7 +3740,7 @@ def federated_site_add(request):
37403740
Add a new federated site
37413741
"""
37423742
from search.models import FederatedSite
3743-
3743+
37443744
if request.method == 'POST':
37453745
form = forms.FederatedSiteForm(request.POST)
37463746
if form.is_valid():
@@ -3759,7 +3759,7 @@ def federated_site_add(request):
37593759
messages.error(request, error)
37603760
else:
37613761
form = forms.FederatedSiteForm()
3762-
3762+
37633763
return render(request, 'console/federated_site_form.html', {
37643764
'form': form,
37653765
'action': 'Add',
@@ -3772,9 +3772,9 @@ def federated_site_edit(request, site_id):
37723772
Edit an existing federated site
37733773
"""
37743774
from search.models import FederatedSite
3775-
3775+
37763776
site = get_object_or_404(FederatedSite, id=site_id)
3777-
3777+
37783778
if request.method == 'POST':
37793779
form = forms.FederatedSiteForm(request.POST, instance=site)
37803780
if form.is_valid():
@@ -3791,7 +3791,7 @@ def federated_site_edit(request, site_id):
37913791
messages.error(request, error)
37923792
else:
37933793
form = forms.FederatedSiteForm(instance=site)
3794-
3794+
37953795
return render(request, 'console/federated_site_form.html', {
37963796
'form': form,
37973797
'site': site,
@@ -3804,8 +3804,9 @@ def federated_site_detail(request, site_id):
38043804
"""
38053805
View details of a federated site including sync history
38063806
"""
3807+
38073808
from search.models import FederatedSite
3808-
3809+
38093810
site = get_object_or_404(FederatedSite, id=site_id)
38103811

38113812
# Get sync logs for this site

physionet-django/search/views.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ def content_index(request, resource_type=None):
253253
# Get federated projects
254254
federated_projects = get_federated_projects(resource_type=resource_type,
255255
search_term=topic)
256-
256+
257257
# Sort federated projects
258258
if orderby == 'publish_datetime':
259259
fed_order = 'publish_datetime' if direction == 'asc' else '-publish_datetime'
@@ -267,19 +267,19 @@ def content_index(request, resource_type=None):
267267
else:
268268
# Default to publish_datetime for relevance sorting
269269
federated_projects = federated_projects.order_by('-publish_datetime')
270-
270+
271271
# Add flag to distinguish federated projects in template
272272
# Convert to lists
273273
local_projects_list = list(published_projects)
274274
federated_projects_list = list(federated_projects)
275-
275+
276276
# Mark federated projects with a flag
277277
for project in federated_projects_list:
278278
project.is_federated = True
279-
279+
280280
# Combine both lists
281281
all_projects = local_projects_list + federated_projects_list
282-
282+
283283
# Apply custom sorting if needed for combined results
284284
if orderby == 'publish_datetime':
285285
all_projects.sort(key=lambda p: p.publish_datetime, reverse=(direction == 'desc'))

0 commit comments

Comments
 (0)