summaryrefslogtreecommitdiffstats
path: root/application/modules/dev/forms/BootisoCreate.php
blob: edb1053e13c795b436f3537f50b6525ffd49dde9 (plain) (blame)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?php
/*
 * Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg
 * This program is free software distributed under the GPL version 2.
 * See http://gpl.openslx.org/
 *
 * If you have any feedback please consult http://feedback.openslx.org/ and
 * send your suggestions, praise, or complaints to feedback@openslx.org
 *
 * General information about OpenSLX can be found at http://openslx.org/
 */

class dev_Form_BootisoCreate extends Zend_Form
{

	private $grouplist;
	private $prebootlist;
	
    public function setGrouplist($grouplist){
    	$this->grouplist = $grouplist;
    	
    }
    public function setPrebootlist($prebootlist){
    	$this->prebootlist = $prebootlist;
    	
    }
    
	
    public function init()
    {
        $this->setName("BootIsoCreate");
		$this->setMethod('post');

        $this->addElement('text', 'title', array(
			'filters' => array('StringTrim'),
			'validators' => array(
				array('StringLength', false, array(0, 50)),
			),
			'required' => true,
			'label' => 'Title:',
		));
		
		$groupfield = $this->createElement('select','groupID');
        $groupfield ->setLabel('Group:');
        
        if(count($this->grouplist)>0){
			foreach($this->grouplist as $group => $g){
				$groupfield->addMultiOption($g->getID(), $g->getTitle());
			}       
        }
		$groupfield->setRegisterInArrayValidator(false);
		$this->addElement($groupfield);
		
		$prebootfield = $this->createElement('select','prebootID');
        $prebootfield ->setLabel('Preboot:');
        
        if(count($this->prebootlist)>0){
			foreach($this->prebootlist as $preboot => $p){
				$prebootfield->addMultiOption($p->getID(), $p->getTitle());
			}       
        }
		$prebootfield->setRegisterInArrayValidator(false);
		$this->addElement($prebootfield);
		
    	$serial = time();
		for($i=2; $i<14; $i+=3)
			$serial = substr($serial,0,$i) .'-'. substr($serial,$i,strlen($serial));
		
		$this->addElement('text', 'serialnumber', array(
			'filters' => array('StringTrim'),
			'validators' => array(
				array('StringLength', false, array(0, 50)),
			),
			'required' => true,
			'size' => 50,
			'label' => 'Serialnumber:',
			'value' => $serial
		));

		
			
		
		$date = new DateTime();
		$date->add(new DateInterval('P1Y'));
		$this->addElement('text', 'expires', array(
			'filters' => array('StringTrim'),
			'validators' => array(
				array('StringLength', false, array(0, 50)),
			),
			'required' => false,
			'label' => 'Expires:',
			'value' => $date->format('Y-m-d'),
		));

		$this->addElement('text', 'public', array(
            'filters'    => array('StringTrim'),
            'validators' => array(
                array('StringLength', false, array(0, 50)),
            ),
            'required'   => true,
            'label'      => 'Public-Level:',
            'value' => '0'
        ));
		
        $this->addElement('submit', 'createbootiso', array(
            'required' => false,
            'ignore'   => true,
            'label'    => 'Create BootISO',
        ));  
        
        $this->addElement('button', 'Cancel', array(
            'onclick' => 'self.location="/dev/bootiso"'
        ));  

    }

	
}