Refresh product from back office
This commit is contained in:
@@ -536,6 +536,14 @@ def get_product_update_office():
|
|||||||
return jsonify(result)
|
return jsonify(result)
|
||||||
|
|
||||||
|
|
||||||
|
@api.route('/office/rebuild-template', methods=['POST'])
|
||||||
|
def product_rebuild_office():
|
||||||
|
# Call the dashboard service
|
||||||
|
data = request.get_json()
|
||||||
|
result = OfficeTemplatesService.office_template_rebuild(data)
|
||||||
|
return jsonify(result)
|
||||||
|
|
||||||
|
|
||||||
@api.route('/office/products-templates', methods=['GET'])
|
@api.route('/office/products-templates', methods=['GET'])
|
||||||
def get_product_templates():
|
def get_product_templates():
|
||||||
# Call the dashboard service
|
# Call the dashboard service
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from app.api.services.base_service import BaseService
|
|||||||
from sqlalchemy import func, desc
|
from sqlalchemy import func, desc
|
||||||
from datetime import datetime, timedelta, timezone
|
from datetime import datetime, timedelta, timezone
|
||||||
from app.extensions import db
|
from app.extensions import db
|
||||||
from app.models import OfficeUsers, CustomTemplates, MembersProducts, ProductsTemplates
|
from app.models import OfficeUsers, CustomTemplates, MembersProducts, ProductsTemplates, MembersProductsRefresh
|
||||||
|
|
||||||
|
|
||||||
class OfficeTemplatesService(BaseService):
|
class OfficeTemplatesService(BaseService):
|
||||||
@@ -31,7 +31,6 @@ class OfficeTemplatesService(BaseService):
|
|||||||
|
|
||||||
MembersProducts.set_member_product_custom_template(member_id, subscrtiption_uid, custom_id)
|
MembersProducts.set_member_product_custom_template(member_id, subscrtiption_uid, custom_id)
|
||||||
|
|
||||||
|
|
||||||
office_users_result = {
|
office_users_result = {
|
||||||
"set_office_custom_template": [],
|
"set_office_custom_template": [],
|
||||||
}
|
}
|
||||||
@@ -44,7 +43,6 @@ class OfficeTemplatesService(BaseService):
|
|||||||
}
|
}
|
||||||
return office_users_result
|
return office_users_result
|
||||||
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def set_office_user_template(data):
|
def set_office_user_template(data):
|
||||||
logger.info('set_office_user_template')
|
logger.info('set_office_user_template')
|
||||||
@@ -56,7 +54,7 @@ class OfficeTemplatesService(BaseService):
|
|||||||
|
|
||||||
selectProduct = MembersProducts.get_member_product_by_subscription_uid(subscrtiption_uid)
|
selectProduct = MembersProducts.get_member_product_by_subscription_uid(subscrtiption_uid)
|
||||||
if selectProduct:
|
if selectProduct:
|
||||||
selectedTemplate = ProductsTemplates.get_template_by_uid(template_uid)
|
selectedTemplate = ProductsTemplates.get_template_by_uid(template_uid)
|
||||||
|
|
||||||
if selectedTemplate is None or selectedTemplate is None:
|
if selectedTemplate is None or selectedTemplate is None:
|
||||||
return jsonify({
|
return jsonify({
|
||||||
@@ -64,7 +62,6 @@ class OfficeTemplatesService(BaseService):
|
|||||||
'message': 'Invalid credentials',
|
'message': 'Invalid credentials',
|
||||||
}), 400
|
}), 400
|
||||||
|
|
||||||
|
|
||||||
office_users_result = {
|
office_users_result = {
|
||||||
"set_office_user_template": [],
|
"set_office_user_template": [],
|
||||||
}
|
}
|
||||||
@@ -77,8 +74,6 @@ class OfficeTemplatesService(BaseService):
|
|||||||
}
|
}
|
||||||
return office_users_result
|
return office_users_result
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def create_custom_template(data):
|
def create_custom_template(data):
|
||||||
logger.info('create_custom_template')
|
logger.info('create_custom_template')
|
||||||
@@ -87,11 +82,11 @@ class OfficeTemplatesService(BaseService):
|
|||||||
provision_name = data.get('provision_name', '')
|
provision_name = data.get('provision_name', '')
|
||||||
|
|
||||||
similarName = CustomTemplates.get_template_by_custom_id(custom_id)
|
similarName = CustomTemplates.get_template_by_custom_id(custom_id)
|
||||||
if not similarName and provision_name !='':
|
if not similarName and provision_name != '':
|
||||||
# with db.session.begin():
|
# with db.session.begin():
|
||||||
custom_data = CustomTemplates.create_template(custom_id, provision_name)
|
custom_data = CustomTemplates.create_template(custom_id, provision_name)
|
||||||
else:
|
else:
|
||||||
custom_data ={
|
custom_data = {
|
||||||
"error": "Possible duplicate"
|
"error": "Possible duplicate"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,3 +101,40 @@ class OfficeTemplatesService(BaseService):
|
|||||||
"error": f"An error occurred: {str(e)}",
|
"error": f"An error occurred: {str(e)}",
|
||||||
}
|
}
|
||||||
return office_users_result
|
return office_users_result
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def office_template_rebuild(data):
|
||||||
|
logger.info('office_template_rebuild')
|
||||||
|
try:
|
||||||
|
with db.session.begin():
|
||||||
|
subscription_uid = data.get('subscription_uid', '')
|
||||||
|
custom_id = data.get('custom_id', '')
|
||||||
|
|
||||||
|
membersSubResult = MembersProducts.get_member_product_by_subscription_uid(subscription_uid)
|
||||||
|
if not membersSubResult:
|
||||||
|
return {
|
||||||
|
"message": "Invalid Subscription",
|
||||||
|
"error_message": "Error - Please select a valid product to view",
|
||||||
|
"data": None,
|
||||||
|
"error": f"Subscription with UID {subscription_uid} does not exist."
|
||||||
|
}, 400
|
||||||
|
|
||||||
|
member_id = membersSubResult.member_id
|
||||||
|
product_id = membersSubResult.product_id
|
||||||
|
|
||||||
|
logger.info(f'office_template_rebuild {member_id} {subscription_uid} {product_id}')
|
||||||
|
# with db.session.begin():
|
||||||
|
plannedRefresh = MembersProductsRefresh.create_subscription_refresh(member_id, product_id,
|
||||||
|
subscription_uid)
|
||||||
|
|
||||||
|
office_rebuild_result = {
|
||||||
|
"office_template_rebuild": [],
|
||||||
|
}
|
||||||
|
return office_rebuild_result
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"An error occurred: {str(e)}", exc_info=True)
|
||||||
|
office_rebuild_result = {
|
||||||
|
"error": f"An error occurred: {str(e)}",
|
||||||
|
}
|
||||||
|
return office_rebuild_result
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ class MembersProductsRefresh(db.Model):
|
|||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
logger.info(f" About to Insert Subscription Data {subscription.member_id} ")
|
logger.info(f" About to Insert Subscription REfresh Data {subscription.member_id} ")
|
||||||
db.session.add(subscription)
|
db.session.add(subscription)
|
||||||
db.session.flush()
|
db.session.flush()
|
||||||
except IntegrityError as err:
|
except IntegrityError as err:
|
||||||
|
|||||||
Reference in New Issue
Block a user