mirror of
https://github.com/vale981/dirkules
synced 2025-03-05 09:21:38 -05:00
more samba improvements
This commit is contained in:
parent
ba3ca5b352
commit
677099dab6
3 changed files with 60 additions and 9 deletions
|
@ -37,7 +37,7 @@ class Partitions(db.Model):
|
|||
drive_id = db.Column(db.Integer, db.ForeignKey('drives.id'))
|
||||
name = db.Column(db.String)
|
||||
fs = db.Column(db.String)
|
||||
size =db.Column(db.String)
|
||||
size = db.Column(db.String)
|
||||
uuid = db.Column(db.String)
|
||||
mountpoint = db.Column(db.String)
|
||||
label = db.Column(db.String)
|
||||
|
@ -67,3 +67,27 @@ class Cleaning(db.Model):
|
|||
self.name = name
|
||||
self.path = path
|
||||
self.state = state
|
||||
|
||||
|
||||
class SambaShare(db.Model):
|
||||
__tablename__ = 'samba_share'
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
name = db.Column(db.String, nullable=False)
|
||||
writeable = db.Column(db.Boolean)
|
||||
recycling = db.Column(db.Boolean)
|
||||
btrfs = db.Column(db.Boolean)
|
||||
options = db.relationship('SambaOptions', order_by="SambaOptions.id", backref="samba_share", lazy="select")
|
||||
|
||||
def __init__(self, name, writeable=False, recycling=False, btrfs=False):
|
||||
self.name = name
|
||||
self.writeable = writeable
|
||||
self.recycling = recycling
|
||||
self.btrfs = btrfs
|
||||
|
||||
|
||||
class SambaOptions(db.Model):
|
||||
__tablename__ = 'samba_options'
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
option = db.Column(db.String, nullable=False)
|
||||
value = db.Column(db.String, nullable=False)
|
||||
sambashare_id = db.Column(db.Integer, db.ForeignKey('samba_share.id'), nullable=False)
|
||||
|
|
|
@ -1,12 +1,34 @@
|
|||
{% extends "base.html" %}
|
||||
{% block title %}Dashboard{% endblock %}
|
||||
{% block head %}
|
||||
{{ super() }}
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
{% block body %}
|
||||
<a href="{{ url_for('samba_global') }}">
|
||||
<div class="ui primary labeled icon button">
|
||||
<i class="plus icon"></i> Samba Global conf
|
||||
</div>
|
||||
</a>
|
||||
<a href="{{ url_for('samba_global') }}">
|
||||
<div class="ui primary labeled icon button">
|
||||
<i class="plus icon"></i> Samba Global conf
|
||||
</div>
|
||||
</a>
|
||||
<table class="ui celled fixed table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Schreibzugriff</th>
|
||||
<th>Papierkorb</th>
|
||||
<th>BtrFS Optimierungen</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{% for share in shares %}
|
||||
<tr>
|
||||
<td>{{ share.name }}</td>
|
||||
<td>{{ share.writeable }}</td>
|
||||
<td>{{ share.recycling }}</td>
|
||||
<td>{{ share.btrfs }}</td>
|
||||
</tr>
|
||||
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,7 +2,7 @@ from flask import Flask, render_template, redirect, request, url_for, flash
|
|||
from dirkules import app, db
|
||||
import dirkules.driveManagement.driveController as drico
|
||||
import dirkules.serviceManagement.serviceManager as servMan
|
||||
from dirkules.models import Drive, Cleaning
|
||||
from dirkules.models import Drive, Cleaning, SambaShare
|
||||
import dirkules.viewManager.viewManager as viewManager
|
||||
from dirkules.validation.validators import CleaningForm, samba_cleaning_form
|
||||
from sqlalchemy import asc, collate
|
||||
|
@ -72,10 +72,15 @@ def add_cleaning():
|
|||
|
||||
@app.route('/samba', methods=['GET'])
|
||||
def samba():
|
||||
return render_template('samba.html')
|
||||
shares = []
|
||||
for share in SambaShare.query.order_by(asc(collate(SambaShare.name, 'NOCASE'))).all():
|
||||
shares.append(viewManager.db_object_as_dict(share))
|
||||
return render_template('samba.html', shares=shares)
|
||||
|
||||
@app.route('/samba/global', methods=['GET', 'POST'])
|
||||
def samba_global():
|
||||
db.session.add(SambaShare("global"))
|
||||
db.session.commit()
|
||||
form = samba_cleaning_form(request.form)
|
||||
if request.method == 'POST' and form.validate():
|
||||
print("Input:")
|
||||
|
|
Loading…
Add table
Reference in a new issue