diff --git a/app/api/services/myproduct.py b/app/api/services/myproduct.py index 1394f66..f01a667 100644 --- a/app/api/services/myproduct.py +++ b/app/api/services/myproduct.py @@ -845,22 +845,7 @@ class MyProductsService(BaseService): # logger.info(f"Incoming MyProduct data ==>>>> {memberSubscription}") product_subscription_uid = memberSubscription.uid subscription_template = "" if len(custom_template) > 0 else memberSubscription.product_template - settingsFields = SettingsItemsData.get_site_settings_data() - templateData = [] - # homeFields = SettingsItemsData.get_site_home_settings() - # footerFields = SettingsItemsData.get_site_footer_settings() - # contactFields = SettingsItemsData.get_site_contact_items() - # socialFields = SettingsItemsData.get_site_social_settings_data() - # aboutFields = SettingsItemsData.get_site_about_items() - # testimonialFields = SettingsItemsData.get_site_testimonial_settings() - # blogConnectFields = SettingsItemsData.get_site_blog_connect_settings() - blogConnect = False - if product_data.blog_product_id != None and product_data.blog_product_id != '': - blogConnect = True - # blog_product_data = Products.get_product_by_product_id(product_data.blog_product_id) - - settings_items = {} selected_flavor = '' if product_id == "A000001" or product_id == "A000002": ## should be config or data driven not hard coded settings_items = {} @@ -877,7 +862,18 @@ class MyProductsService(BaseService): memberSubscription.provision_port, selected_flavor) - web_files_list = MembersProductsSettings.get_member_websettings_by_member_setting_type(member_id, "WEBFILES") + web_files_list = MembersProductsSettings.get_member_websettings_by_member_setting_type( + member_id, "WEBFILES") + if web_files_list and template_images: + web_files_items = [] + for t in web_files_list: + web_files_items.append({ + 'setting_key': t.settings_key, + 'setting_value': t.setting_value, + }) + + template_images = MyProductsService._process_webimage_entry(web_files_items, + template_images) # Simulate processing response_data = { @@ -906,6 +902,30 @@ class MyProductsService(BaseService): db.session.rollback() return ResponseHelper.internal_server_error() + @staticmethod + def _process_webimage_entry(web_files_items, template_images): + # logger.error(f"_process_webimage_entry web_files_items : {web_files_items}") + # logger.error(f"_process_webimage_entry template_images : {template_images}") + + def find_key_value(current_key, web_files_items): + for tv in web_files_items: + if tv['setting_key'] == current_key: + return tv['setting_value'] + return None + + logger.error(f"_process_webimage_entry template_images DATA : {template_images['data']}") + if template_images and template_images['data']: + indx = 0 + for t in template_images['data']: + current_key = template_images['data'][indx]['id'] + saved_value = find_key_value(current_key, web_files_items) + template_images['data'][indx]['curr_val'] = '' if saved_value is None else saved_value + if saved_value: + template_images['data'][indx]['default_val'] = saved_value + indx = indx + 1 + + return template_images + @staticmethod def template_set_media(data): try: @@ -961,8 +981,8 @@ class MyProductsService(BaseService): subscription_uid = memberSubscription.uid # with db.session.begin(): MembersProductsSettings.save_update_product_settings(member_id, subscription_uid, product_id, - image_id, - 'WEBFILES', setting_value) + image_id, + 'WEBFILES', setting_value) # Simulate processing response_data = {