def addProjectDB(request):
    if request.method == 'POST' and request.FILES:
        project = Project()
        project.title = request.POST.get('title')
        project.details = request.POST.get('details')
        category = Category.objects.get(id=request.POST.get('categories'))
        project.category = category
        project.total_target = request.POST.get('total_target')
        project.start_date = request.POST.get('start_date')
        project.end_date = request.POST.get('end_date')
        project.user = request.user
        project.save()

        added_project = Project.objects.latest('id')
        tags = request.POST.getlist("tags[]")
        for tag in tags:
            tag_obj = Tag.objects.get_or_create(tag_name=tag)
            added_tag = Tag.objects.latest('id')
            added_tag.projects.add(Project.objects.get(id=added_project.pk))

        counter = int(request.POST.get('counterImg'))
        for i in range(counter + 1):
            fp = 'photos' + str(i)
            photo = request.FILES['{}'.format(fp)]
            fs = FileSystemStorage()
            filename = fs.save(photo.name, photo)
            photo_obj = Picture()
            photo_obj.project = added_project
            photo_obj.photo = filename
            photo_obj.save()

        return redirect('project_add')
示例#2
0
    def handle(self, *args, **options):
        count = options.get('count', 1)
        fake = Factory.create('ru_RU')

        users = UserProfile.objects.all()
        languages = ProgrammingLanguage.objects.all()

        for i in range(count):
            self.stdout.write("Adding project %d of %d" % (i + 1, count),
                              self.style.SUCCESS)
            project = Project()
            project.name = fake.company()
            project.slug = fake.slug()
            project.description = fake.paragraph()
            project.owner = random.choice(users).user
            project.start_date = fake.date()
            project.end_date = fake.future_date()
            project.is_active = random.randint(0, 100) > 20
            # git = models.CharField(max_length=100, blank=True, null=True)
            project.uri = fake.url()
            project.programming_language = random.choice(languages)
            project.save()

            print(project.name)
            self.stdout.write("Project %s added" % (project.name, ))
            self.stdout.write("Project %s added" % (project.name, ),
                              self.style.SUCCESS)

        self.stdout.write(self.style.SUCCESS('Success'))
示例#3
0
文件: views.py 项目: Adikeshav/intern
def add_project_view(request):
    if request.user.is_authenticated() and request.user.is_staff:
        if request.POST:
            form = ProjectForm(request.POST)
            if form.is_valid():
                data = form.cleaned_data
                td = data['end_date'] - data['start_date']
                if td.total_seconds()>0:
                    project = Project()
                    project.name = data['name']
                    project.description = data['description']
                    project.start_date = data['start_date']
                    project.end_date = data['end_date']
                    project.user = User.objects.get(username = request.user.username)
                    project.save()
                else:
                    messages.add_message(request, messages.ERROR,
                        " end date is less than start date!")
                    return (redirect(reverse('Home:add_project')))
                return (redirect(reverse('Home:manager')))
            else:
                messages.add_message(request, messages.ERROR, 
                    "invalid form")
                return (redirect(reverse('Home:add_project')))
        else:
            form = ProjectForm()
            send_dict={}
            send_dict['form'] = form
            return render_to_response('managers/add_project.html',send_dict,context_instance=RequestContext(request))
    else:
        return redirect(reverse('Login:login'))
示例#4
0
文件: views.py 项目: Adikeshav/intern
def add_project_view(request):
    if request.user.is_authenticated() and request.user.is_staff:
        if request.POST:
            form = ProjectForm(request.POST)
            if form.is_valid():
                data = form.cleaned_data
                td = data['end_date'] - data['start_date']
                if td.total_seconds() > 0:
                    project = Project()
                    project.name = data['name']
                    project.description = data['description']
                    project.start_date = data['start_date']
                    project.end_date = data['end_date']
                    project.user = User.objects.get(
                        username=request.user.username)
                    project.save()
                else:
                    messages.add_message(request, messages.ERROR,
                                         " end date is less than start date!")
                    return (redirect(reverse('Home:add_project')))
                return (redirect(reverse('Home:manager')))
            else:
                messages.add_message(request, messages.ERROR, "invalid form")
                return (redirect(reverse('Home:add_project')))
        else:
            form = ProjectForm()
            send_dict = {}
            send_dict['form'] = form
            return render_to_response('managers/add_project.html',
                                      send_dict,
                                      context_instance=RequestContext(request))
    else:
        return redirect(reverse('Login:login'))
示例#5
0
def add_project_view(request):
    if request.user.is_authenticated():
        if request.POST:
            form = ProjectForm(request.POST)
            if form.is_valid():
                #f2 =request.POST
                data = form.cleaned_data
                try:
                    p = Project.objects.get(name=data['name'])
                    messages.add_message(request, messages.ERROR,
                                         " invalid form")
                    return (redirect(reverse('Home:Projects:add_project')))
                except:
                    pass
                td = data['end_date'] - data['start_date']
                if td.total_seconds() >= 0:
                    #    form.save
                    #if data['end_date'] >= data['start_date']:
                    project = Project()
                    project.name = data['name']
                    project.description = data['description']
                    project.start_date = data['start_date']
                    project.end_date = data['end_date']
                    project.user = User.objects.get(
                        username=request.user.username)
                    project.save()
                #    messages.add_message(request, messages.INFO, " Project Added!!")
                else:
                    messages.add_message(request, messages.ERROR,
                                         " end date is less than start date!")
                    return (redirect(reverse('Home:Projects:add_project')))
                return (redirect(reverse('Home:Projects:manager')))
            else:
                messages.add_message(request, messages.ERROR, " invalid form")
                return (redirect(reverse('Home:Projects:add_project')))
        else:
            form = ProjectForm()
            dict = {}
            dict['form'] = form
            return render_to_response('managers/add_project.html',
                                      dict,
                                      context_instance=RequestContext(request))
    else:
        return redirect(reverse('Login:login'))
示例#6
0
 def test_finishing(self):
     project = Project(start_date='2011-01-01', end_date=None)
     project |should_not| be_finished
     project.end_date = '2011-01-31'
     project |should| be_finished