@with_repo
def file_upload(request, repo):
other_errors = []
-
if request.method == 'POST':
form = forms.BookUploadForm(request.POST, request.FILES)
if form.is_valid():
def upload_action():
print 'Adding file: %s' % f.name
- repo._add_file(f.name, f.read().decode('utf-8'))
+ repo._add_file(f.name, decoded)
repo._commit(
message="File %s uploaded from platform by %s" %\
(f.name, request.user.username), \
print "SAVING DC"
# zapisz
- repo._add_file(path, document.serialize())
+ repo._write_file(path, document.serialize())
repo._commit( \
message=(form.cleaned_data['commit_message'] or 'Lokalny zapis platformy.'), \
user=request.user.username )
# Display the main editor view
@login_required
-def display_editor(request, path):
+@with_repo
+def display_editor(request, path, repo):
+ path = unicode(path).encode("utf-8")
+ if not repo.file_exists(path, models.user_branch(request.user)):
+ try:
+ data = repo.get_file(path, 'default')
+ print type(data)
+
+ def new_file():
+ repo._add_file(path, data)
+ repo._commit(message='File import from default branch',
+ user=request.user.username)
+
+ repo.in_branch(new_file, models.user_branch(request.user) )
+ except hg.RepositoryException, e:
+ return direct_to_templace(request, 'explorer/file_unavailble.html',\
+ extra_context = { 'path': path, 'error': e })
+
return direct_to_template(request, 'explorer/editor.html', extra_context={
'hash': path,
'panel_list': ['lewy', 'prawy'],