105 lines
3.6 KiB
Python
105 lines
3.6 KiB
Python
from flask import jsonify
|
|
from app.utils.logger import logger
|
|
from app.api.services.base_service import BaseService
|
|
from sqlalchemy import func, desc
|
|
from datetime import datetime, timedelta, timezone
|
|
from app.extensions import db
|
|
from app.models import OfficeUsers, CustomTemplates, MembersProducts, ProductsTemplates
|
|
|
|
|
|
class OfficeTemplatesService(BaseService):
|
|
|
|
@staticmethod
|
|
def set_office_custom_template(data):
|
|
logger.info('set_office_custom_template')
|
|
try:
|
|
# office_users = OfficeUsers.get_office_users_list()
|
|
# office_users_data = []
|
|
# if office_users:
|
|
# for t in office_users:
|
|
# office_users_data.append({
|
|
# 'id': t.id,
|
|
# 'uid': t.uid,
|
|
# 'username': t.username,
|
|
# 'firstname': t.firstname,
|
|
# 'lastname': t.lastname,
|
|
# 'acc_level': t.acc_level,
|
|
# 'status': t.status,
|
|
# 'added': t.added.isoformat() if t.added else None
|
|
# })
|
|
|
|
office_users_result = {
|
|
"set_office_custom_template": [],
|
|
}
|
|
return office_users_result
|
|
|
|
except Exception as e:
|
|
logger.error(f"An error occurred: {str(e)}", exc_info=True)
|
|
office_users_result = {
|
|
"error": f"An error occurred: {str(e)}",
|
|
}
|
|
return office_users_result
|
|
|
|
|
|
@staticmethod
|
|
def set_office_user_template(data):
|
|
logger.info('set_office_user_template')
|
|
try:
|
|
subscrtiption_uid = data.get('subscrtiption_uid', '')
|
|
template_uid = data.get('template_uid', '')
|
|
selectProduct = None
|
|
selectedTemplate = None
|
|
|
|
selectProduct = MembersProducts.get_member_product_by_subscription_uid(subscrtiption_uid)
|
|
if selectProduct:
|
|
selectedTemplate = ProductsTemplates.get_template_by_uid(template_uid)
|
|
|
|
if selectedTemplate is None or selectedTemplate is None:
|
|
return jsonify({
|
|
'error': 'Missing credentials',
|
|
'message': 'Invalid credentials',
|
|
}), 400
|
|
|
|
|
|
office_users_result = {
|
|
"set_office_user_template": [],
|
|
}
|
|
return office_users_result
|
|
|
|
except Exception as e:
|
|
logger.error(f"An error occurred: {str(e)}", exc_info=True)
|
|
office_users_result = {
|
|
"error": f"An error occurred: {str(e)}",
|
|
}
|
|
return office_users_result
|
|
|
|
|
|
|
|
@staticmethod
|
|
def create_custom_template(data):
|
|
logger.info('create_custom_template')
|
|
try:
|
|
custom_id = data.get('custom_id', '')
|
|
provision_name = data.get('provision_name', '')
|
|
|
|
similarName = CustomTemplates.get_template_by_custom_id(custom_id)
|
|
if not similarName and provision_name !='':
|
|
# with db.session.begin():
|
|
custom_data = CustomTemplates.create_template(custom_id, provision_name)
|
|
else:
|
|
custom_data ={
|
|
"error": "Possible duplicate"
|
|
}
|
|
|
|
office_users_result = {
|
|
"custom_data": custom_data,
|
|
}
|
|
return office_users_result
|
|
|
|
except Exception as e:
|
|
logger.error(f"An error occurred: {str(e)}", exc_info=True)
|
|
office_users_result = {
|
|
"error": f"An error occurred: {str(e)}",
|
|
}
|
|
return office_users_result
|