1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use df_db::Mode;
use df_fields::Field;
use json::{JsonValue, object};
use crate::dict::flow::Flow;
use crate::{Action, Model, Response};

pub struct Edit {
    pub model: Flow,
}

impl Action for Edit {
    fn title(&mut self) -> &'static str { "编辑" }
    fn name(&mut self) -> &'static str { "dict.flow.edit" }
    fn token(&mut self) -> bool { true }
    fn params(&mut self) -> JsonValue {
        let mut fields = object! {};
        fields[self.model.primary_key()] = df_fields::str::Key::new(true, self.model.primary_key(), "ID", 20).field();
        fields["name"] = df_fields::str::Str::new(true, "name", "流程名称", 50, "").field();
        fields["code"] = df_fields::str::Str::new(true, "code", "流程编号", 20, "").field();
        fields["note"] = df_fields::text::Text::new(false, "note", "备注", "").field();
        return fields;
    }

    fn index(&mut self, _header: JsonValue, request: JsonValue) -> Response {

        let id = request["id"].clone();
        let edit = self.tools().db.table(self.model.table()).where_and("id", "=", id.clone()).update(request.clone());
        if edit.as_i32().unwrap() > 0 {
            return self.success(object! {}, "编辑成功");
        } else {
            return self.fail("编辑失败");
        }
    }
}