|
62 | 62 | from geonode import GeoNodeException |
63 | 63 |
|
64 | 64 | from geonode.base import enumerations |
| 65 | +from geonode.geoserver.ows import _wms_link |
65 | 66 | from geonode.singleton import SingletonModel |
66 | 67 | from geonode.groups.conf import settings as groups_settings |
67 | 68 | from geonode.base.bbox_utils import BBOXHelper, polygon_from_bbox |
@@ -952,6 +953,13 @@ def compact_permission_labels(cls): |
952 | 953 | def raw_abstract(self): |
953 | 954 | return self._remove_html_tags(self.abstract) |
954 | 955 |
|
| 956 | + @property |
| 957 | + def can_be_downloaded(self): |
| 958 | + return self.subtype in ["vector", "raster", "vector_time"] |
| 959 | + |
| 960 | + def can_have_wfs_links(self): |
| 961 | + return self.subtype == "vector" |
| 962 | + |
955 | 963 | @property |
956 | 964 | def raw_purpose(self): |
957 | 965 | return self._remove_html_tags(self.purpose) |
@@ -1913,6 +1921,19 @@ def get_linked_resources(self, as_target: bool = False): |
1913 | 1921 | if as_target |
1914 | 1922 | else LinkedResource.get_linked_resources(source=self) |
1915 | 1923 | ) |
| 1924 | + |
| 1925 | + def prepare_wms_links(self, wms_url, identifier, bbox, srid, height, width): |
| 1926 | + types = [ |
| 1927 | + ("jpg", _("JPEG"), "image/jpeg"), |
| 1928 | + ("pdf", _("PDF"), "application/pdf"), |
| 1929 | + ("png", _("PNG"), "image/png"), |
| 1930 | + ] |
| 1931 | + output = [] |
| 1932 | + for ext, name, mime in types: |
| 1933 | + url = _wms_link(wms_url, identifier, mime, height, width, srid, bbox) |
| 1934 | + output.append((ext, name, mime, url)) |
| 1935 | + return output |
| 1936 | + |
1916 | 1937 |
|
1917 | 1938 |
|
1918 | 1939 | class LinkManager(models.Manager): |
|
0 commit comments