Example #1
0
 def render_status_form(self):
     selected_exercise = self.get_argument("et", None)
     measures = None
     if selected_exercise:
         selected_exercise = int(selected_exercise)
         measures = et.get_measures_for_exercise_type(selected_exercise)
     return self.render_string(
         "templates/status-form.html",
         exercise_types=et.get_all_exercise_types(),
         selected_exercise=selected_exercise,
         measures=measures)
Example #2
0
    def _on_get_user(self, user, error=None):
        if error:
            self.render("templates/error-page.html", error=error)
            return

        exercise_type = et.get_exercise_type(
            int(self.get_argument("et")))

        date = datetime.datetime.strptime(
            self.get_argument('date'),
            "%Y-%m-%d")

        comment = self.get_argument("comment","")
        share = self.get_argument("share", None) == "share"

        self.entry_id = ec.entries.create_entry(
            self.current_user.id,
            date,
            exercise_type.id,
            comment)

        measures = et.get_measures_for_exercise_type(exercise_type.id)
        txt = []
        for measure in measures:
            value = self.get_argument("measure-%s-value" % measure.id, None)
            if value:
                ec.entries.create_data_point(
                    self.entry_id, measure.id, value)
                txt.append('%s %s' % (value, measure.unit))
        description = '{0[first_name]} just did some {1.name}'.format(user, exercise_type)
        description += ' (%s) for the Exercise Challenge!' % ', '.join(txt)

        if share:
            link = "http://www.exercisechallenge.org/users/%s/entries/%s" % (
                self.current_user.fbid, self.entry_id)

            fb.publish(self.current_user.fbid,
                       self.current_user,
                       self.async_callback(self._on_share),
                       message=comment,
                       link=link,
                       description=description,
                       name="Exercise Challenge")
        else:
            self.redirect('/home')
Example #3
0
    def render(self):
        today = datetime.date.today()
        dates = [(today,"today"),
                 (today-datetime.timedelta(days=1),"yesterday")]
        for days in [2,3]:
            dates.append((today-datetime.timedelta(days=days), "%s days ago" % days))

        selected_exercise = self.handler.get_argument("et", None)
        measures = None
        if selected_exercise:
            selected_exercise = int(selected_exercise)
            measures = et.get_measures_for_exercise_type(selected_exercise)

        return self.render_string("templates/ui/status-form.html",
                                  dates=dates,
                                  selected_exercise=self.handler.get_argument("et",None),
                                  exercise_types=et.get_all_exercise_types(),
                                  measures=measures)