示例#1
0
    def post(self):
        dependency_key = self.request.get('dependency').split('_')
        dependency_mark_id, dependency_category = int(dependency_key[0]), int(dependency_key[1])
        if dependency_category == PERIOD_CATEGORY:
            dependency = HistoryPeriod.get_by_id(dependency_mark_id)
        elif dependency_category == EVENT_CATEGORY:
            dependency = HistoryEvent.get_by_id(dependency_mark_id)
        elif dependency_category == PERSON_CATEGORY:
            dependency = HistoryPerson.get_by_id(dependency_mark_id)

        mark_id = self.request.get_range('mark_id')
        category = self.request.get_range('category')
        if category == PERIOD_CATEGORY:
            back_link = "/mt/materials/periods/list"
            mark = HistoryPeriod.get_by_id(mark_id)
        elif category == EVENT_CATEGORY:
            back_link = '/mt/materials/events/list?mark_id=%s&category=%s' % (mark_id, category)
            mark = HistoryEvent.get_by_id(mark_id)
        elif category == PERSON_CATEGORY:
            back_link = '/mt/materials/persons/list?mark_id=%s&category=%s' % (mark_id, category)
            mark = HistoryPerson.get_by_id(mark_id)
        found = False
        for dependency_key in mark.dependencies:
            if dependency_key.get() == dependency.name:
                found = True
        if not found:
            mark.dependencies.append(dependency.key)
            mark.put()
        self.redirect(back_link)
示例#2
0
    def post(self):
        parent_mark_id = self.request.get_range('parent_mark_id')
        parent_category = self.request.get_range('parent_category')

        test = Test()
        test.put()
        video = YoutubeVideo()

        if parent_category == PERSON_CATEGORY:
            person = HistoryPerson.get_by_id(parent_mark_id)
            video.person = person.key
        elif parent_category == EVENT_CATEGORY:
            event = HistoryEvent.get_by_id(parent_mark_id)
            video.event = event.key
        elif parent_category == PERIOD_CATEGORY:
            period = HistoryPeriod.get_by_id(parent_mark_id)
            video.period = period.key
        video.test = test.key
        video.youtube_id = self.request.get("youtube_id")
        video.title = self.request.get("title")
        video.shortcut = self.request.get("shortcut")
        video.sort_index = self.request.get_range("sort_index")
        video.put()

        save_video_info(video)

        self.redirect('/mt/materials/videos/list?mark_id=%s&category=%s' %
                      (parent_mark_id, parent_category))
示例#3
0
 def get(self):
     mark_id = self.request.get_range('mark_id')
     category = self.request.get_range('category')
     period = None
     if category == PERIOD_CATEGORY:
         self.abort(400)
     elif category == EVENT_CATEGORY:
         event = HistoryEvent.get_by_id(mark_id)
         if not event:
             self.abort(400)
         period = event.get_period()
     elif category == PERSON_CATEGORY:
         person = HistoryPerson.get_by_id(mark_id)
         if not person:
             self.abort(400)
         period = person.get_period()
     elif category == VIDEO_CATEGORY:
         video = YoutubeVideo.get_by_id(mark_id)
         if not video:
             self.abort(400)
         period = video.get_period()
     if period:
         self.render_json({
             'period_id': str(period.id())
         })
     else:
         self.abort(400)
示例#4
0
 def get(self):
     mark_id = self.request.get_range('mark_id')
     category = self.request.get_range('category')
     if category == PERIOD_CATEGORY:
         back_link = "/mt/materials/periods/list"
         mark = HistoryPeriod.get_by_id(mark_id)
     elif category == EVENT_CATEGORY:
         back_link = '/mt/materials/events/list?mark_id=%s&category=%s' % (mark_id, category)
         mark = HistoryEvent.get_by_id(mark_id)
     elif category == PERSON_CATEGORY:
         back_link = '/mt/materials/persons/list?mark_id=%s&category=%s' % (mark_id, category)
         mark = HistoryPerson.get_by_id(mark_id)
     options = []
     for mark in HistoryEvent.query().fetch():
         options.append({
             'id': '%s_%s' % (mark.key.id(), EVENT_CATEGORY),
             'name': mark.name
         })
     for mark in HistoryPerson.query().fetch():
         options.append({
             'id': '%s_%s' % (mark.key.id(), PERSON_CATEGORY),
             'name': mark.name
         })
     for mark in HistoryPeriod.query().fetch():
         options.append({
             'id': '%s_%s' % (mark.key.id(), PERIOD_CATEGORY),
             'name': mark.name
         })
     self.render('/materials/dependency_add.html',
                 mark=mark, category=category,
                 options=options,
                 back_link=back_link)
示例#5
0
 def post(self):
     parent_mark_id = self.request.get_range('parent_mark_id')
     parent_category = self.request.get_range('parent_category')
     person_id = self.request.get_range('mark_id')
     person = HistoryPerson.get_by_id(person_id)
     get_mark_values(self.request, person)
     person.put()
     person.country.get().update()
     self.redirect('/mt/materials/persons/list?mark_id=%s&category=%s' % (parent_mark_id, parent_category))
示例#6
0
 def post(self):
     index = self.request.get_range('index')
     parent_mark_id = self.request.get_range('parent_mark_id')
     parent_category = self.request.get_range('parent_category')
     person_id = self.request.get_range('person_id')
     person = HistoryPerson.get_by_id(person_id)
     person.person_titles[index].name = self.request.get('name')
     person.person_titles[index].start = get_date_from_html(self.request.get('start'))
     person.person_titles[index].end = get_date_from_html(self.request.get('end'))
     person.put()
     self.redirect('/mt/materials/persons/titles/list?parent_mark_id=%s&parent_category=%s&person_id=%s' % (parent_mark_id, parent_category, person_id))
示例#7
0
 def get(self):
     parent_mark_id = self.request.get_range('parent_mark_id')
     parent_category = self.request.get_range('parent_category')
     person_id = self.request.get_range('person_id')
     person = HistoryPerson.get_by_id(person_id)
     if not person:
         self.abort(400)
     for index, title in enumerate(person.person_titles):
         title.change_url = '/mt/materials/persons/titles/change?parent_mark_id=%s&parent_category=%s&person_id=%s&index=%s' % (parent_mark_id, parent_category, person_id, index)
     self.render('/materials/title_list.html',
                 titles=person.person_titles,
                 back_link='/mt/materials/persons/list?mark_id=%s&category=%s' % (parent_mark_id, parent_category),
                 add_link='/mt/materials/persons/titles/add?parent_mark_id=%s&parent_category=%s&person_id=%s' % (parent_mark_id, parent_category, person_id))
示例#8
0
 def post(self):
     parent_mark_id = self.request.get_range('parent_mark_id')
     parent_category = self.request.get_range('parent_category')
     person_id = self.request.get_range('person_id')
     person = HistoryPerson.get_by_id(person_id)
     if not person:
         self.abort(400)
     title = HistoryPersonTitle()
     title.name = self.request.get('name')
     title.start = get_date_from_html(self.request.get('start'))
     title.end = get_date_from_html(self.request.get('end'))
     person.person_titles.append(title)
     person.put()
     self.redirect('/mt/materials/persons/titles/list?parent_mark_id=%s&parent_category=%s&person_id=%s' % (parent_mark_id, parent_category, person_id))
示例#9
0
 def get(self):
     mark_id = self.request.get_range('mark_id')
     category = self.request.get_range('category')
     if category not in [EVENT_CATEGORY, PERSON_CATEGORY]:
         self.abort(400)
     elif category == EVENT_CATEGORY:
         event = HistoryEvent.get_by_id(mark_id)
         if not event:
             self.abort(400)
         self.render_json(event.dict())
     elif category == PERSON_CATEGORY:
         person = HistoryPerson.get_by_id(mark_id)
         if not person:
             self.abort(400)
         self.render_json(person.dict())
示例#10
0
 def get(self):
     parent_mark_id = self.request.get_range('parent_mark_id')
     parent_category = self.request.get_range('parent_category')
     person_id = self.request.get_range('person_id')
     person = HistoryPerson.get_by_id(person_id)
     if not person:
         self.abort(400)
     person.start_str = get_html_date_from_str(person.start)
     person.end_str = get_html_date_from_str(person.end)
     back_link = '/mt/materials/persons/list?mark_id=%s&category=%s' % (parent_mark_id, parent_category)
     self.render('/materials/mark_add.html',
                 parent_mark_id=parent_mark_id, parent_category=parent_category,
                 mark=person,
                 default_category=DEFAULT_EVENTS_STRING.decode("utf-8"),
                 back_link=back_link)
示例#11
0
 def get(self):
     index = self.request.get_range('index')
     parent_mark_id = self.request.get_range('parent_mark_id')
     parent_category = self.request.get_range('parent_category')
     person_id = self.request.get_range('person_id')
     person = HistoryPerson.get_by_id(person_id)
     if not person:
         self.abort(400)
     if not index < len(person.person_titles):
         self.abort(400)
     person.person_titles[index].start_str = get_html_date_from_str(person.start)
     person.person_titles[index].end_str = get_html_date_from_str(person.end)
     back_link = '/mt/materials/persons/titles/list?parent_mark_id=%s&parent_category=%s&person_id=%s' % (parent_mark_id, parent_category, person_id)
     self.render('/materials/title_add.html',
                 title=person.person_titles[index],
                 index=index, person_id=person.key.id(),
                 parent_mark_id=parent_mark_id, parent_category=parent_category,
                 back_link=back_link)
示例#12
0
 def get(self):
     mark_id = self.request.get_range('mark_id')
     category = self.request.get_range('category')
     if category not in MARK_CATEGORIES:
         self.abort(400)
     videos = []
     back_link = ""
     add_link = "/mt/materials/videos/add?parent_mark_id=%s&parent_category=%s" % (
         mark_id, category)
     if category == PERSON_CATEGORY:
         person = HistoryPerson.get_by_id(mark_id)
         videos = sorted_history_marks(YoutubeVideo.get_by_mark(person))
         # back_link = "/mt/materials/periods/list"
     elif category == EVENT_CATEGORY:
         event = HistoryEvent.get_by_id(mark_id)
         videos = sorted_history_marks(YoutubeVideo.get_by_mark(event))
     self.render('/materials/video_list.html',
                 videos=videos,
                 back_link=back_link,
                 add_link=add_link)
示例#13
0
 def get(self):
     mark_id = self.request.get_range('mark_id')
     category = self.request.get_range('category')
     if category not in MARK_CATEGORIES:
         self.abort(400)
     if category == PERIOD_CATEGORY:
         period = HistoryPeriod.get_by_id(mark_id)
         if not period:
             self.abort(400)
         self.render_json(self.get_mark_dict(period))
     elif category == EVENT_CATEGORY:
         event = HistoryEvent.get_by_id(mark_id)
         if not event:
             self.abort(400)
         self.render_json(self.get_mark_dict(event))
     elif category == PERSON_CATEGORY:
         person = HistoryPerson.get_by_id(mark_id)
         if not person:
             self.abort(400)
         self.render_json(self.get_mark_dict(person))