Skip to content
Snippets Groups Projects

Feat/adjust landing api

Merged konykon requested to merge feat/adjust-landing-api into dev
Files
4
@@ -71,30 +71,72 @@ class LandingPage(models.Model):
string="Community status",
)
def to_dict(self):
def _get_image_attachment(self, field_name):
file_attachment = self.env["ir.attachment"].search(
[
("res_id", "=", self.id),
("res_model", "=", "landing.page"),
("res_field", "=", field_name),
]
)
return file_attachment
def _get_image_write_date(self, field_name):
file_write_date = ""
file_attachment = self._get_image_attachment(field_name)
if file_attachment:
file_write_date = str(file_attachment.write_date)
return file_write_date
def _get_image_extension(self, field_name):
file_write_date = ""
file_attachment = self._get_image_attachment(field_name)
extension = ""
if file_attachment:
extension = file_attachment.mimetype.split("/")[1]
return extension
def _get_image_payload(self, field_name):
base_url = self.env["ir.config_parameter"].get_param("web.base.url")
return (
base_url
+ "/web/image/landing.page/"
+ str(self.id)
+ "/"
+ field_name
+ "/"
+ str(self.id)
+ "-"
+ field_name
+ "."
+ self._get_image_extension(field_name)
)
def to_dict(self):
if self.primary_image_file:
primary_image_file = (
base_url
+ "/web/image/landing.page/"
+ str(self.id)
+ "/primary_image_file"
primary_image_file = self._get_image_payload("primary_image_file")
primary_image_file_write_date = self._get_image_write_date(
"primary_image_file"
)
else:
primary_image_file = ""
primary_image_file_write_date = ""
if self.secondary_image_file:
secondary_image_file = (
base_url
+ "/web/image/landing.page/"
+ str(self.id)
+ "/secondary_image_file"
secondary_image_file = self._get_image_payload("secondary_image_file")
secondary_image_file_write_date = self._get_image_write_date(
"secondary_image_file"
)
else:
secondary_image_file = ""
secondary_image_file_write_date = ""
if self.map_place_id:
map_reference = self.map_place_id.slug_id
else:
map_reference = ""
if self.why_become_cooperator == "<p><br></p>":
self.why_become_cooperator = ""
if self.become_cooperator_process == "<p><br></p>":
self.become_cooperator_process = ""
return {
"landing": {
"id": self.id,
@@ -117,11 +159,13 @@ class LandingPage(models.Model):
# TODO: group_image_link Left for backward compatibility. To be removed
"group_image_link": self.group_image_link or "",
"primary_image_file": primary_image_file,
"primary_image_file_write_date": primary_image_file_write_date,
"secondary_image_file": secondary_image_file,
"secondary_image_file_write_date": secondary_image_file_write_date,
"short_description": self.short_description or "",
"long_description": self.long_description or "",
"why_become_cooperator": self.why_become_cooperator or "",
"become_cooperator_process": self.become_cooperator_process or "",
"why_become_cooperator": self.why_become_cooperator,
"become_cooperator_process": self.become_cooperator_process,
"map_geolocation": self.map_geolocation or "",
"map_reference": map_reference,
"street": self.street or "",
@@ -133,6 +177,10 @@ class LandingPage(models.Model):
def action_landing_page_status(self):
for record in self:
new_status = "draft" if record.status == "publish" else "publish"
record.write({"status": new_status})
def _update_wordpress(self):
for record in self:
instance_company = self.env["res.company"].search(
[("hierarchy_level", "=", "instance")]
)
@@ -143,9 +191,11 @@ class LandingPage(models.Model):
auth = Authenticate(baseurl, username, password).authenticate()
token = "Bearer %s" % auth["token"]
landing_page_data = record.to_dict()
landing_page_data["landing"]["status"] = new_status
LandingPageResource(token, baseurl, record.wp_landing_page_id).update(
landing_page_data
)
record.write({"status": new_status})
def write(self, vals):
res = super().write(vals)
self._update_wordpress()
return res
Loading