diff options
Diffstat (limited to 'chimere/main/models.py')
| -rw-r--r-- | chimere/main/models.py | 84 | 
1 files changed, 44 insertions, 40 deletions
| diff --git a/chimere/main/models.py b/chimere/main/models.py index 40204d1..3aefab8 100644 --- a/chimere/main/models.py +++ b/chimere/main/models.py @@ -201,11 +201,11 @@ class Marker(models.Model):      status = models.CharField(_("Status"), max_length=1, choices=STATUS)      if settings.DAYS_BEFORE_EVENT:          start_date = models.DateField(_("Start date"), blank=True, null=True, -help_text=_("Not mandatory. Set it for dated item such as event. \ -Format YYYY-MM-DD")) +            help_text=_(u"Not mandatory. Set it for dated item such as event. "\ +                        u"Format YYYY-MM-DD"))          end_date = models.DateField(_("End date"), blank=True, null=True, -help_text=_("Not mandatory. Set it only if you have a multi-day event. \ -Format YYYY-MM-DD")) +            help_text=_(u"Not mandatory. Set it only if you have a multi-day "\ +                        u"event. Format YYYY-MM-DD"))      if 'chimere.rss' in settings.INSTALLED_APPS:          available_date = models.DateTimeField(_("Available Date"), blank=True,                                                null=True) @@ -290,12 +290,15 @@ Format YYYY-MM-DD"))          for cat in self.categories.all():              if categories_id and cat.id not in categories_id:                  continue -            jsons.append("""{"type":"Feature", "geometry":%(geometry)s, \ -"properties":{"pk": %(id)d, "name": "%(name)s", \ -"icon_path":"%(icon_path)s", "icon_width":%(icon_width)d, \ -"icon_height":%(icon_height)d}}""" % {'id':self.id, 'name':self.name, -'icon_path':cat.icon.image, 'geometry':self.point.geojson, -'icon_width':cat.icon.image.width, 'icon_height':cat.icon.image.height,}) +            items = {'id':self.id, 'name':self.name, +                     'geometry':self.point.geojson, +                     'icon_path':cat.icon.image, +                     'icon_width':cat.icon.image.width, +                     'icon_height':cat.icon.image.height,}) +            jsons.append(u'{"type":"Feature", "geometry":%(geometry)s, '\ +                u'"properties":{"pk": %(id)d, "name": "%(name)s", '\ +                u'"icon_path":"%(icon_path)s", "icon_width":%(icon_width)d, '\ +                u'"icon_height":%(icon_height)d}}' % items)          return ",".join(jsons)      def get_absolute_url(self): @@ -321,11 +324,11 @@ class Route(models.Model):          STATUS_DCT[key] = label      if settings.DAYS_BEFORE_EVENT:          start_date = models.DateField(_("Start date"), blank=True, null=True, -help_text=_("Not mandatory. Set it for dated item such as event. \ -Format YYYY-MM-DD")) +            help_text=_(u"Not mandatory. Set it for dated item such as event. "\ +                        u"Format YYYY-MM-DD"))          end_date = models.DateField(_("End date"), blank=True, null=True, -help_text=_("Not mandatory. Set it only if you have a multi-day event. \ -Format YYYY-MM-DD")) +            help_text=_(u"Not mandatory. Set it only if you have a multi-day "\ +                        u"event. Format YYYY-MM-DD"))      status = models.CharField(_("Status"), max_length=1, choices=STATUS)      objects = models.GeoManager() @@ -364,11 +367,11 @@ Format YYYY-MM-DD"))          '''          if '#' not in color:              color = '#' + color -        return """{"type":"Feature", "geometry":%(geometry)s, \ -"properties":{"pk": %(id)d, "name": "%(name)s", \ -"color":"%(color)s"}}""" % {'id':self.id, 'name':self.name, -'color':color, 'geometry':self.route.geojson,} - +        attributes = {'id':self.id, 'name':self.name, +                      'color':color, 'geometry':self.route.geojson,} +        return u'{"type":"Feature", "geometry":%(geometry)s, '\ +               u'"properties":{"pk": %(id)d, "name": "%(name)s", '\ +               u'"color":"%(color)s"}}' % attributes      def getTinyUrl(self):          parameters = 'current_feature=%d&checked_categories=%s' % (self.id,                                                            self.categories[0].id) @@ -430,40 +433,41 @@ class SimpleArea:              equal_status = "='%s'" % status[0]          elif status:              equal_status = " in ('%s')" % "','".join(status) -        area = "ST_GeometryFromText('POLYGON((%f %f,%f %f,%f %f,%f %f, %f %f))'\ -, %d)" % (self.upper_left_corner.x, self.upper_left_corner.y, -          self.lower_right_corner.x, self.upper_left_corner.y, -          self.lower_right_corner.x, self.lower_right_corner.y, -          self.upper_left_corner.x, self.lower_right_corner.y, -          self.upper_left_corner.x, self.upper_left_corner.y, -          settings.EPSG_DISPLAY_PROJECTION -          ) +        area = u"ST_GeometryFromText('POLYGON((%f %f,%f %f,%f %f,%f %f, %f %f'"\ +               u")), %d)" % (self.upper_left_corner.x, self.upper_left_corner.y, +                          self.lower_right_corner.x, self.upper_left_corner.y, +                          self.lower_right_corner.x, self.lower_right_corner.y, +                          self.upper_left_corner.x, self.lower_right_corner.y, +                          self.upper_left_corner.x, self.upper_left_corner.y, +                          settings.EPSG_DISPLAY_PROJECTION +                          )          date_condition = getDateCondition()          sql_main = '''select subcat.id as id, subcat.category_id as category_id, -subcat.name as name, subcat.available as available, subcat.icon_id as icon_id, -subcat.color_theme_id as color_theme_id, subcat.order as order, -subcat.item_type as item_type from main_subcategory subcat -inner join main_category cat on cat.id=subcat.category_id''' +        subcat.name as name, subcat.available as available, +        subcat.icon_id as icon_id, subcat.color_theme_id as color_theme_id, +        subcat.order as order, subcat.item_type as item_type +        from main_subcategory subcat +        inner join main_category cat on cat.id=subcat.category_id'''          sql = sql_main + ''' -inner join main_marker mark on ST_Contains(%s, mark.point)''' % area +        inner join main_marker mark on ST_Contains(%s, mark.point)''' % area          if equal_status:              sql += ' and mark.status' + equal_status          sql += date_condition % {'alias':'mark'}          sql += ''' -inner join main_marker_categories mc on mc.subcategory_id=subcat.id and -mc.marker_id=mark.id''' +        inner join main_marker_categories mc on mc.subcategory_id=subcat.id and +        mc.marker_id=mark.id'''          if filter_available:              sql += ' where subcat.available = TRUE and cat.available = TRUE'          subcats = set(SubCategory.objects.raw(sql))          sql = sql_main + ''' -inner join main_route rt on (ST_Intersects(%s, rt.route) or -ST_Contains(%s, rt.route))''' % (area, area) +        inner join main_route rt on (ST_Intersects(%s, rt.route) or +        ST_Contains(%s, rt.route))''' % (area, area)          if equal_status:              sql += ' and rt.status' + equal_status          sql += date_condition % {'alias':'rt'}          sql += ''' -inner join main_route_categories rc on rc.subcategory_id=subcat.id and -rc.route_id=rt.id''' +        inner join main_route_categories rc on rc.subcategory_id=subcat.id and +        rc.route_id=rt.id'''          if filter_available:              sql += ' where subcat.available = TRUE and cat.available = TRUE'          subcats.union(SubCategory.objects.raw(sql)) @@ -500,8 +504,8 @@ class Area(models.Model, SimpleArea):          """          Get the sql statement for the test if the point is included in the area          """ -        area = "ST_GeometryFromText('POLYGON((%f %f,%f %f,%f %f,%f %f, %f %f))'\ -, %d)" % (self.upper_left_corner.x, self.upper_left_corner.y, +        area = "ST_GeometryFromText('POLYGON((%f %f,%f %f,%f %f,%f %f, %f %f"\ +               "))', %d)" % (self.upper_left_corner.x, self.upper_left_corner.y,            self.lower_right_corner.x, self.upper_left_corner.y,            self.lower_right_corner.x, self.lower_right_corner.y,            self.upper_left_corner.x, self.lower_right_corner.y, | 
