def post(self, request, pk, **kwargs): review = get_object_or_404(ParkReview, pk=pk, user=request.user) if review.photos.count == 10: return HttpResponseBadRequest('Max photos have been reached') im = Image.open(request.FILES.get('file')) width, height = im.size if width < 720 or height < 540: return HttpResponseBadRequest('Image is too small') else: photo = Photo() photo.park_review = review photo.image = request.FILES.get('file') photo.user = request.user photo.draft = True photo.save() return HttpResponse(photo.id)
def post(self, request, **kwargs): im = Image.open(request.FILES.get('file')) width, height = im.size if width < 720 or height < 540: return HttpResponseBadRequest('Image is too small') else: itinerary = False if 'itinerary_slug' in kwargs: itinerary_slug = self.kwargs.get('itinerary_slug') itineraries = Itinerary.objects.filter(slug=itinerary_slug) itineraries = itineraries.filter(tour_operator=self.request.user.profile.tour_operator) itinerary = itineraries.first() photo = Photo(draft=True) to = self.request.GET.get('to', -1) if not to: to = 0 to = int(to) if to == 1: photo.tour_operator = self.request.user.profile.tour_operator else: photo.user = request.user if itinerary: photo.itinerary = itinerary photo.image = request.FILES.get('file') if photo.image.size > settings.MAX_PHOTO_SIZE: resize_factor = math.sqrt(photo.image.size / settings.MAX_PHOTO_SIZE) new_width = int(photo.image.width / resize_factor) new_height = int(photo.image.height / resize_factor) output_size = (new_width, new_height) img = Image.open(photo.image.path) new_size = img.resize(output_size) new_size.save(photo.image.path) photo.uuid = uuid4().hex photo.save() return Response(photo.id)
def handle(self, *args, **options): journalist_group, created = Group.objects.get_or_create(name="Journalists") if created: journalist_group.permissions.add( # jaam.act Permission.objects.get(codename="add_act"), Permission.objects.get(codename="change_act"), Permission.objects.get(codename="delete_act"), # jaam.blog Permission.objects.get(codename="add_blog"), Permission.objects.get(codename="change_blog"), Permission.objects.get(codename="delete_blog"), Permission.objects.get(codename="add_blogpost"), Permission.objects.get(codename="change_blogpost"), Permission.objects.get(codename="delete_blogpost"), # jaam.journalism Permission.objects.get(codename="add_tag"), Permission.objects.get(codename="change_tag"), Permission.objects.get(codename="delete_tag"), Permission.objects.get(codename="add_userprofile"), Permission.objects.get(codename="change_userprofile"), Permission.objects.get(codename="delete_userprofile"), # jaam.photos Permission.objects.get(codename="add_photo"), Permission.objects.get(codename="change_photo"), Permission.objects.get(codename="delete_photo"), Permission.objects.get(codename="add_photogallery"), Permission.objects.get(codename="change_photogallery"), Permission.objects.get(codename="delete_photogallery"), Permission.objects.get(codename="add_photogalleryitem"), Permission.objects.get(codename="change_photogalleryitem"), Permission.objects.get(codename="delete_photogalleryitem"), # jaam.projects Permission.objects.get(codename="add_project"), Permission.objects.get(codename="change_project"), Permission.objects.get(codename="delete_project"), Permission.objects.get(codename="add_projectlocation"), Permission.objects.get(codename="change_projectlocation"), Permission.objects.get(codename="delete_projectlocation"), # jaam.stories Permission.objects.get(codename="add_story"), Permission.objects.get(codename="change_story"), Permission.objects.get(codename="delete_story"), # jaa.videos Permission.objects.get(codename="add_video"), Permission.objects.get(codename="change_video"), Permission.objects.get(codename="delete_video"), Permission.objects.get(codename="add_videogallery"), Permission.objects.get(codename="change_videogallery"), Permission.objects.get(codename="delete_videogallery"), Permission.objects.get(codename="add_videogalleryitem"), Permission.objects.get(codename="change_videogalleryitem"), Permission.objects.get(codename="delete_videogalleryitem"), # comments Permission.objects.get(codename="add_comment"), Permission.objects.get(codename="change_comment"), Permission.objects.get(codename="delete_comment"), Permission.objects.get(codename="add_commentflag"), Permission.objects.get(codename="change_commentflag"), Permission.objects.get(codename="delete_commentflag"), Permission.objects.get(codename="can_moderate"), # doccloud Permission.objects.get(codename="add_document"), Permission.objects.get(codename="change_document"), Permission.objects.get(codename="delete_document"), Permission.objects.get(codename="add_documentcloudproperties"), Permission.objects.get(codename="change_documentcloudproperties"), Permission.objects.get(codename="delete_documentcloudproperties"), ) try: User.objects.get(username="******") except User.DoesNotExist: default_journalist = User() default_journalist.username = "******" default_journalist.save() default_journalist.groups.add(Group.objects.get(name="Journalists")) default_journalist.save() try: Project.all_objects.get(slug="default") except Project.DoesNotExist: default_project = Project() default_project.title = "Default" default_project.slug = "default" default_project.tagline = "The default project" default_project.image = 0 default_project.save() try: Photo.all_objects.get(slug="default") except Photo.DoesNotExist: default_photo = Photo() default_photo.project = Project.all_objects.get(slug="default") default_photo.title = "Default" default_photo.slug = "default" default_photo.caption = "The default photo" default_photo.journalist = User.objects.get(username="******") default_photo.image = "http://i.imgur.com/uxRkD.jpg" default_photo.save()