def import_story(request, project_slug, queue_id): logger.debug("Adding story from StoryQueue") project = get_object_or_404(Project, slug=project_slug) write_access_or_403(project, request.user) try: story = StoryQueue.objects.get(id=queue_id) except: return HttpResponseRedirect( reverse("story_queue_url", kwargs={'project_slug': project_slug})) if story.project != project: # Shenanigans here! raise PermissionDenied() # TODO (Useability): # What should rank be set at to make the most sense? new_story = Story(project=project, rank=0, local_id=project.getNextId(), summary=story.summary, detail=story.detail, extra_1=story.extra_1, extra_2=story.extra_2, extra_3=story.extra_3, status=story.status, points=story.points, iteration=project.get_default_iteration(), creator=request.user) new_story.save() mapping = ExternalStoryMapping(story=new_story, external_id=story.external_id, external_url=story.external_url, extra_slug=story.extra_slug) mapping.save() request.user.message_set.create(message="Story imported.") story.delete() # delete the story queue object since we just imported it. signals.story_imported.send(sender=request, story=new_story, story_queue=story, user=request.user) return HttpResponseRedirect( reverse("story_queue_url", kwargs={'project_slug': project_slug})) #story_queue(request,project_slug)
def import_stories(request, project_slug): logger.debug("Adding story from StoryQueue") project = get_object_or_404(Project, slug=project_slug) write_access_or_403(project, request.user) queue_ids = str(request.POST.get("stories", "")).split(",") iteration = project.get_default_iteration() count = 0 for queue_id in queue_ids: try: story = StoryQueue.objects.get(id=queue_id) except: continue if story.project != project: # Shenanigans here! raise PermissionDenied() new_story = Story(project=project, rank=0, local_id=project.getNextId(), summary=story.summary, detail=story.detail, extra_1=story.extra_1, extra_2=story.extra_2, extra_3=story.extra_3, status=story.status, points=story.points, iteration=iteration, creator=request.user) new_story.save() logger.debug("Added story %d" % new_story.id) mapping = ExternalStoryMapping(story=new_story, external_id=story.external_id, external_url=story.external_url, extra_slug=story.extra_slug) mapping.save() story.delete( ) # delete the story queue object since we just imported it. signals.story_imported.send(sender=request, story=new_story, story_queue=story, user=request.user) count += 1 return HttpResponse("%d imported" % count)
def import_stories(request, project_slug): logger.debug("Adding story from StoryQueue") project = get_object_or_404(Project, slug=project_slug) write_access_or_403(project, request.user) queue_ids = str(request.POST.get("stories", "")).split(",") iteration = project.get_default_iteration() count = 0 for queue_id in queue_ids: try: story = StoryQueue.objects.get(id=queue_id) except: continue if story.project != project: # Shenanigans here! raise PermissionDenied() new_story = Story(project=project, rank=0, local_id=project.getNextId(), summary=story.summary, detail=story.detail, extra_1=story.extra_1, extra_2=story.extra_2, extra_3=story.extra_3, status=story.status, points=story.points, iteration=iteration, creator=request.user ) new_story.save() logger.debug("Added story %d" % new_story.id) mapping = ExternalStoryMapping(story=new_story, external_id=story.external_id, external_url=story.external_url, extra_slug=story.extra_slug) mapping.save() # delete the story queue object since we just imported it. story.delete() signals.story_imported.send( sender=request, story=new_story, story_queue=story, user=request.user) count += 1 return HttpResponse("%d imported" % count)
def import_story(request, project_slug, queue_id): logger.debug("Adding story from StoryQueue") project = get_object_or_404( Project, slug=project_slug ) write_access_or_403(project, request.user ) try: story = StoryQueue.objects.get(id=queue_id) except: return HttpResponseRedirect(reverse("story_queue_url", kwargs={'project_slug':project_slug} )) if story.project != project: # Shenanigans here! raise PermissionDenied() # TODO (Useability): # What should rank be set at to make the most sense? new_story = Story(project=project, rank=0, local_id=project.getNextId(), summary=story.summary, detail=story.detail, extra_1=story.extra_1, extra_2=story.extra_2, extra_3=story.extra_3, status=story.status, points=story.points, iteration = project.get_default_iteration(), creator = request.user ) new_story.save() mapping = ExternalStoryMapping(story=new_story, external_id=story.external_id, external_url=story.external_url, extra_slug=story.extra_slug) mapping.save() request.user.message_set.create(message="Story imported.") story.delete() # delete the story queue object since we just imported it. signals.story_imported.send( sender=request, story=new_story, story_queue=story, user=request.user ) return HttpResponseRedirect(reverse("story_queue_url", kwargs={'project_slug':project_slug} )) #story_queue(request,project_slug)