OpenDroneMap-WebODM/plugins/openaerialmap/plugin.py

46 wiersze
1.4 KiB
Python

from django.contrib import messages
from django.shortcuts import render
from app.plugins import PluginBase, Menu, MountPoint
from django.contrib.auth.decorators import login_required
from django import forms
class TokenForm(forms.Form):
token = forms.CharField(label='', required=False, max_length=1024, widget=forms.TextInput(attrs={'placeholder': 'Token'}))
class Plugin(PluginBase):
def main_menu(self):
return [Menu("OpenAerialMap", self.public_url(""), "oam-icon fa fa-fw")]
def include_css_files(self):
return ['style.css']
def app_mount_points(self):
return [
MountPoint('$', self.home_view())
]
def home_view(self):
@login_required
def home(request):
ds = self.get_user_data_store(request.user)
# if this is a POST request we need to process the form data
if request.method == 'POST':
form = TokenForm(request.POST)
if form.is_valid():
ds.set_string('token', form.cleaned_data['token'])
messages.success(request, 'Token updated.')
form = TokenForm(initial={'token': ds.get_string('token', default="")})
return render(request, self.template_path("app.html"), {
'title': 'OpenAerialMap',
'form': form
})
return home