site cotnent staus fix
This commit is contained in:
@@ -161,24 +161,29 @@ class PublisherService:
|
|||||||
# Update content status to published if successful
|
# Update content status to published if successful
|
||||||
if result.get('success'):
|
if result.get('success'):
|
||||||
content.status = 'published'
|
content.status = 'published'
|
||||||
|
content.site_status = 'published' # CRITICAL: Set site_status for frontend display
|
||||||
content.external_id = result.get('external_id')
|
content.external_id = result.get('external_id')
|
||||||
content.external_url = result.get('url')
|
content.external_url = result.get('url')
|
||||||
|
|
||||||
|
# Update site_status_updated_at timestamp
|
||||||
|
from django.utils import timezone
|
||||||
|
content.site_status_updated_at = timezone.now()
|
||||||
|
|
||||||
# NEW: Save term_ids to external_metadata if available
|
# NEW: Save term_ids to external_metadata if available
|
||||||
if result.get('metadata') and result['metadata'].get('term_ids'):
|
if result.get('metadata') and result['metadata'].get('term_ids'):
|
||||||
if not hasattr(content, 'external_metadata'):
|
if not hasattr(content, 'external_metadata'):
|
||||||
logger.warning(f"[PublisherService._publish_to_destination] ⚠️ Content model missing external_metadata field - run migrations")
|
logger.warning(f"[PublisherService._publish_to_destination] ⚠️ Content model missing external_metadata field - run migrations")
|
||||||
content.save(update_fields=['status', 'external_id', 'external_url', 'updated_at'])
|
content.save(update_fields=['status', 'site_status', 'site_status_updated_at', 'external_id', 'external_url', 'updated_at'])
|
||||||
else:
|
else:
|
||||||
if content.external_metadata is None:
|
if content.external_metadata is None:
|
||||||
content.external_metadata = {}
|
content.external_metadata = {}
|
||||||
content.external_metadata['wordpress_term_ids'] = result['metadata']['term_ids']
|
content.external_metadata['wordpress_term_ids'] = result['metadata']['term_ids']
|
||||||
logger.info(f"[PublisherService._publish_to_destination] 🏷️ Saved term_ids to external_metadata: {result['metadata']['term_ids']}")
|
logger.info(f"[PublisherService._publish_to_destination] 🏷️ Saved term_ids to external_metadata: {result['metadata']['term_ids']}")
|
||||||
content.save(update_fields=['status', 'external_id', 'external_url', 'external_metadata', 'updated_at'])
|
content.save(update_fields=['status', 'site_status', 'site_status_updated_at', 'external_id', 'external_url', 'external_metadata', 'updated_at'])
|
||||||
else:
|
else:
|
||||||
content.save(update_fields=['status', 'external_id', 'external_url', 'updated_at'])
|
content.save(update_fields=['status', 'site_status', 'site_status_updated_at', 'external_id', 'external_url', 'updated_at'])
|
||||||
|
|
||||||
logger.info(f"[PublisherService._publish_to_destination] ✅ Updated content status to 'published'")
|
logger.info(f"[PublisherService._publish_to_destination] ✅ Updated content status='published', site_status='published'")
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'destination': destination,
|
'destination': destination,
|
||||||
|
|||||||
@@ -309,6 +309,16 @@ export default function SiteContentManager() {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex gap-2 ml-4">
|
<div className="flex gap-2 ml-4">
|
||||||
|
{item.external_url && (
|
||||||
|
<Button
|
||||||
|
variant="outline"
|
||||||
|
size="sm"
|
||||||
|
onClick={() => window.open(item.external_url, '_blank')}
|
||||||
|
title="View Live"
|
||||||
|
>
|
||||||
|
<GlobeIcon className="w-4 h-4" />
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
<Button
|
<Button
|
||||||
variant="outline"
|
variant="outline"
|
||||||
size="sm"
|
size="sm"
|
||||||
|
|||||||
Reference in New Issue
Block a user