def create_bulletin(request): session = request.session islogin = session.get('islogin', False) if not islogin: return redirect('/publisher/login') if request.method == 'POST': session = request.session form = BulletinForm(request.POST, hospital_id=session['hospital_id']) if form.is_valid(): utils.create_bulletin(form,session) return redirect('/publisher/') else: error_message = '您填写的信息有错误,请重新填写!' return render(request, 'publisher/bulletin.html', {'loginname': request.session['loginname'], 'form': form, 'error_message': error_message, 'doctor_department': json.dumps(utils.get_doctor_department( session['hospital_id'])) }) else: form= BulletinForm(hospital_id=session['hospital_id']) return render(request, 'publisher/bulletin.html', {'loginname': request.session['loginname'], 'form': form, 'doctor_department': json.dumps(utils.get_doctor_department(session['hospital_id'])) })
def alter_bulletin(request): if request.method == 'POST': session = request.session form = BulletinForm(request.POST, hospital_id=session['hospital_id']) if form.is_valid(): utils.alter_bulletin(form, session) return redirect('/publisher/') else: session = request.session session['id_bulletin'] = request.GET.get('id_bulletin',-1) fee = request.GET.get('fee', -1) availabletime = request.GET.get('availabletime', -1) countavailable = request.GET.get('countavailable', -1) countoccupied = request.GET.get('countoccupied', -1) department = request.GET.get('department',-1) doctor = request.GET.get('doctor',-1) form = BulletinForm(hospital_id=session['hospital_id']) return render(request, 'publisher/bulletin.html', {'loginname': session['loginname'], 'form': form, 'fee': fee, 'availabletime': availabletime, 'countavailable': countavailable, 'countoccupied': countoccupied, 'department': department, 'doctor': doctor, 'doctor_department': json.dumps(utils.get_doctor_department( session['hospital_id'])) })
def create_post(request): # if this is a POST request we need to process the form data if request.method == 'POST': # create a form instance and populate it with data from the request: form = BulletinForm(request.POST) # check whether it's valid: if form.is_valid(): title = form.cleaned_data['title'] location = form.cleaned_data['location'] date = datetime.date.today() author = form.cleaned_data['author'] body = form.cleaned_data['body'] bulletin = Bulletin.objects.create(title=title, location=location, date=date, author=author, body=body) bulletin.save() # process the data in form.cleaned_data as required # ... # redirect to a new URL: return HttpResponseRedirect('/blog/') # if a GET (or any other method) we'll create a blank form else: form = BulletinForm() return render(request, 'blog/create_post.html', {'form': form})
def view_bulletin(): bulletin_id = request.args.get('id') q = request.args.get('q') if q is not None: return redirect(url_for('view_bulletins', page=1, q=q)) form = BulletinForm(request.form) if request.method == 'POST' and form.validate(): if form.id.data: bulletin = orm.Bulletin.query.get(int(form.id.data)) bulletin.dt = form.dt.data bulletin.title = form.title.data bulletin.content = form.content.data bulletin.source = form.source.data bulletin.author = form.author.data orm.db.session.commit() else: bulletin = orm.Bulletin(form.dt.data, form.title.data, form.content.data, form.source.data, form.author.data) orm.db.session.add(bulletin) orm.db.session.commit() form.id.data = bulletin.id if request.form.has_key('upload'): file = request.files['image'] if file: file_server = str(uuid.uuid1()) + Util.file_extension( file.filename) pathfile_server = os.path.join(UPLOAD_PATH, file_server) file.save(pathfile_server) if os.stat(pathfile_server).st_size < 1 * 1024 * 1024: bulletinimage = orm.Bulletinimage(bulletin.id, file_server) orm.db.session.merge(bulletinimage) orm.db.session.commit() else: os.remove(pathfile_server) else: return redirect(url_for('view_bulletin')) elif request.method == 'GET' and bulletin_id: form = logic.GetBulletinFormById(bulletin_id) logic.LoadBasePageInfo('修改公告', '输入并确定', form) else: form.dt.data = datetime.datetime.now() logic.LoadBasePageInfo('新建公告', '输入并确定', form) if form.id.data: bulletin = orm.Bulletin.query.get(int(form.id.data)) form.bulletin = bulletin if form.bulletin: form.bulletinimages = form.bulletin.bulletinimages return render_template('view_bulletin.html', form=form)
def view_bulletin(): bulletin_id = request.args.get('id') q = request.args.get('q') if q is not None: return redirect(url_for('view_bulletins', page=1, q=q)) form = BulletinForm(request.form) if request.method == 'POST' and form.validate(): if form.id.data: bulletin = orm.Bulletin.query.get(int(form.id.data)) bulletin.dt = form.dt.data bulletin.title = form.title.data bulletin.content = form.content.data bulletin.source = form.source.data bulletin.author = form.author.data orm.db.session.commit() else: bulletin = orm.Bulletin(form.dt.data, form.title.data, form.content.data, form.source.data, form.author.data) orm.db.session.add(bulletin) orm.db.session.commit() form.id.data = bulletin.id if request.form.has_key('upload'): file = request.files['image'] if file : file_server = str(uuid.uuid1())+Util.file_extension(file.filename) pathfile_server = os.path.join(UPLOAD_PATH, file_server) file.save(pathfile_server) if os.stat(pathfile_server).st_size <1*1024*1024: bulletinimage = orm.Bulletinimage(bulletin.id,file_server) orm.db.session.merge(bulletinimage) orm.db.session.commit() else: os.remove(pathfile_server) else: return redirect(url_for('view_bulletin')) elif request.method =='GET' and bulletin_id: form = logic.GetBulletinFormById(bulletin_id) logic.LoadBasePageInfo('修改公告','输入并确定',form) else: form.dt.data = datetime.datetime.now() logic.LoadBasePageInfo('新建公告','输入并确定',form) if form.id.data: bulletin = orm.Bulletin.query.get(int(form.id.data)) form.bulletin = bulletin if form.bulletin: form.bulletinimages = form.bulletin.bulletinimages return render_template('view_bulletin.html',form = form)
def view_bulletins(): page = request.args.get('page', 1) q = request.args.get('q') bulletins = restful.GetBulletins(int(page), q) if not bulletins.has_key(restful.ITEM_OBJECTS): return redirect(url_for('view_bulletins')) bulletinforms = [ logic.GetBulletinFormById(x[restful.ITEM_ID]) for x in bulletins[restful.ITEM_OBJECTS] ] while None in bulletinforms: bulletinforms.remove(None) if request.method == 'POST': form = BulletinForm(request.form) if request.form.has_key('delete'): for x in orm.Bulletinimage.query.filter_by( bulletin_id=int(form.id.data)).all(): pathfile_server = os.path.join(UPLOAD_PATH, x.file) if os.path.exists(pathfile_server): os.remove(pathfile_server) orm.db.session.delete(orm.Bulletin.query.get(int(form.id.data))) orm.db.session.commit() return redirect(url_for('view_bulletins', page=page, q=q)) form = PageInfo() logic.LoadBasePageInfo('所有公告', '查看', form) return render_template('view_bulletins.html', forms=bulletinforms, form=form, paging=restful.GetPagingFromResult(bulletins))
def GetBulletinFormById(bulletin_id): bulletin = orm.Bulletin.query.get(int(bulletin_id)) if bulletin is None: return None bulletinform = BulletinForm() bulletinform.id.data = bulletin.id bulletinform.title.data = bulletin.title bulletinform.content.data = bulletin.content bulletinform.valid.data = bulletin.valid bulletinform.source.data = bulletin.source return bulletinform
def add(request): form = BulletinForm() if request.POST and request.user.is_authenticated(): form = BulletinForm(request.POST) if form.is_valid(): Bulletin.objects.create( user_id = 1, publish = 0, title = request.POST['title'], description = request.POST['description'] ) return render_to_response('bulletins/add.html', {}, context_instance = RequestContext(request)) return render_to_response('bulletins/add.html', { 'form': form }, context_instance = RequestContext(request))
def addBulletin(request): if request.method == 'POST': form = BulletinForm(request.POST, request.FILES) if form.is_valid(): cleaned_data = form.clean() user = User.objects.get(username = request.user) userdata = user.userdata email = user.email subject = cleaned_data['subject'] message = cleaned_data['message'] location = cleaned_data['location'] relevance = cleaned_data['relevance'] filters = cleaned_data['filters'] bulletinType = cleaned_data['bulletinType'] if bulletinType == "Want?": price = cleaned_data['price'] bulletinFilter = getFilter(filters, helpfilter=False) bulletin = Bulletin.objects.create(creator = userdata, subject = subject, location = location, relevance = relevance, resolved=False, reply_count = 0, free=price, tag=bulletinFilter) elif bulletinType == "Help?": bulletinFilter = getFilter(filters, helpfilter=True) bulletin = Bulletin.objects.create(creator = userdata, subject = subject, location = location, relevance = relevance, resolved=False, reply_count = 0, tag=bulletinFilter) else: raise ValidationError missive = Missive.objects.create(bulletin = bulletin, timestamp = datetime.now(), message = message) bulletin.save() missive.save() return HttpResponseRedirect('/') else: form = BulletinForm() return render(request, 'addBulletin.html', {'form':form})
def register(): form = BulletinForm(request.form) if request.method == 'POST' and form.validate(): flash('Thanks for registering') return render_template('hello/hello.html', form=form) return render_template('hello/hello.html', form=form)